{VERSION 3 0 "IBM INTEL LINUX" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Headi ng 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }} {SECT 0 {SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 " " {TEXT 256 35 "G\351naration al\351atoire de rationnels " }}{PARA 0 " " 0 "" {TEXT -1 17 "Entr\351e : entier n" }}{PARA 0 "" 0 "" {TEXT -1 46 "Sortie : un rationel al\351atoire x/y ou 0<=x,y " 0 "" {MPLTEXT 1 0 132 "Rand_rat := proc(n)\n loca l x,y,num,denom; \n num := rand(-n..n); \n denom := rand(1..n);\n x := num();\n y := denom();\n x/y; \nend:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 13 "with(linalg):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 257 57 "G\351n\351ration al\351atoire de matrice \340 coefficient rationne ls " }}{PARA 0 "" 0 "" {TEXT -1 21 "Entr\351e : entier n,m,B" }}{PARA 0 "" 0 "" {TEXT -1 99 "Sorte : matrice al\351atoire de taille n*m \340 coefficients rationnels de num\351rateurs et d\351nominateur " 0 "" {MPLTEXT 1 0 91 "Rand_mat_rat := proc(n,m,B)\n loca l M;\n M := matrix(n,m,[seq(Rand_rat(B),i=1..n*m)]);\nend:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 258 23 "Test \"LU-d\351composable\"\n" } {TEXT -1 64 "Entr\351e : matrice M\nSortie : true si LU-d\351composabl e, false sinon" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 191 "Is_LU_decomp := \+ proc(M)\n local answer,i;\n answer := true;\n for i from 1 to rowdi m(M) do\n if det(submatrix(M,1..i,1..i)) = 0 then answer := false; break; fi;\n od;\n print(answer);\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 263 7 "Exemple" }{TEXT -1 34 " : proportion de LU-decomposable. \n" }{MPLTEXT 1 0 74 "for i from 1 to 100 do\n M := Rand_mat_rat(4,4, 10):\n Is_LU_decomp(M);\nod:" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT 260 45 "G\351n\351ration d'une matri ce g\351n\351rique de type L\n" }{TEXT -1 91 "Entr\351e : entier n\nSo rtie : matrice triangulaire inf\351rieure de taille n avec 1 sur diago nale" }{MPLTEXT 1 0 172 "\n\nLow := proc(n)\n local L,i,j;\n L := ma trix(n,n);\n for i from 1 to n do\n for j from i+1 to n do\n \+ L[i,j] := 0;\n od;\n L[i,i] := 1; \n od; \n eval(L);\nend; " }}}{EXCHG {PARA 0 "" 0 "" {TEXT 261 44 "G\351n\351ration d'une matri ce g\351n\351rique de type U" }{TEXT -1 73 "\nEntr\351e : entier n\nSo rtie : matrice triangulaire sup\351rieure de taille n\n\n" }{MPLTEXT 1 0 151 "Up := proc(n)\n local U,i,j;\n U := matrix(n,n);\n for i f rom 1 to n do\n for j from 1 to i-1 do\n U[i,j] := 0;\n od; \n od; \n eval(U);\nend;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 259 16 "D\351composition LU" }}{PARA 0 "" 0 "" {TEXT -1 62 "Entr\351e : une m atrice M carr\351e LU-d\351composable\nSortie : L et U\n" }{MPLTEXT 1 0 192 "LU_decomp := proc(M)\n local Eq,s,L,U,n;\n n := rowdim(M);\n \+ L := Low(n);\n U := Up(n);\n Eq := map(op,\{entries(evalm(L &* U - \+ M))\});\n s := solve(Eq);\n assign(s); \n eval(L),eval(U);\nend; \+ " }}}{EXCHG {PARA 0 "" 0 "" {TEXT 262 11 "Exemple : \n" }{MPLTEXT 1 0 41 "M := Rand_mat_rat(6,6,50);\n LU_decomp(M);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 264 10 "Exemple : " }{TEXT -1 17 "temps de calculs\n" } {MPLTEXT 1 0 170 "for i from 4 to 10 do\n M := Rand_mat_rat(i,i,50): \n debut := time():\n LU_decomp(M):\n print(time()-debut);\n debut := time():\n LUdecomp(M):\n print(time()-debut);\nod:\n" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT 265 27 "D\351composition LU par pivot\n" }{TEXT -1 71 "Entr\351e : la matrice carr\351e M d\351composable\nSortie : les matrices L et U\n" } {MPLTEXT 1 0 311 "LU_decomp2 := proc(M)\n local L,U,i,j,alpha,beta,n; \n n := rowdim(M);\n L := diag(seq(1,i=1..n));\n U := M;\n for i f rom 1 to n do\n alpha := U[i,i];\n for j from i+1 to n do\n \+ beta := U[j,i]/alpha; \n L := addcol(L,j,i,beta);\n U \+ := addrow(U,i,j, -beta); \n od;\n od;\n print(L,U);\nend; " }}} {EXCHG {PARA 0 "" 0 "" {TEXT 266 8 "Exemple " }{TEXT -1 18 ": temps de calcul\n" }{MPLTEXT 1 0 170 "for i from 4 to 10 do\n M := Rand_mat_r at(i,i,50):\n debut := time():\n LU_decomp2(M):\n print(time()-debu t);\n debut := time():\n LUdecomp(M):\n print(time()-debut);\nod:" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 268 36 "D\351composition LU avec permutation :\n" }{TEXT -1 94 "Entr\351e \+ : une matrice M inversible,\nSortie : la matrice de permutation P, L e t U tels que PM=LU" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 485 "LU_de comp3 := proc(M)\n local n,i,j,P,L,U,p,c;\n n := coldim(M);\n U := \+ M;\n P := diag(seq(1,i=1..n));\n L := diag(seq(1,i=1..n));\n for j \+ to n do\n for i from j to n while U[i,j]=0 do od;\n if i>j then \n U := swaprow(U,i,j):\n L := swapcol(L,i,j):\n P := s waprow(P,i,j):\n fi;\n p := U[j,j];\n for i from j+1 to n do \n c := U[i,j]/p;\n U := addrow(U,j,i,-c);\n L := addco l(L,i,j,c);\n od;\n od;\nL := multiply(P,L);\nevalm(P),evalm(L),ev alm(U); \nend;" }}}}}{MARK "3 2 0 0" 207 }{VIEWOPTS 1 1 0 1 1 1803 }