DesignMat Uge 4 F2009Preben Alsholm, 12/1 2009Pakkerrestart;if ssystem("hostname")=[0,"PC-PKA1"] then
libname:="C:/Documents and Settings/alsholm/Dokumenter/DMat/libDMat",libname
elif ssystem("hostname")=[0,"pc-pka1"] then
libname:="J:/DMat/libDMat",libname
elif ssystem("hostname")=[0,"alsholm-PC"] then
libname:="F:/DMat/libDMat",libname
else print("Fremmed computer. Skriv selv libname.")
end if;with(DMat):with(LinearAlgebra):Addition af matricer. Multiplikation med skalar.Lad A og B begge v\303\246re 3x5-matricer:A:=Matrix(3,5,symbol=a);B:=Matrix(3,5,symbol=b);Summen af A og B opn\303\245s simpelthen ved elementvis addition:'A+B'=A+B;Eksempel med konkrete tal. Vi tager to (tilf\303\246ldige) 3x5-matricer A og B:A:=RandomMatrix(3,5,generator=-3..3);B:=RandomMatrix(3,5,generator=-3..3);Summen opn\303\245s ved elementvis addition:'A+B'=A+B;Multiplikation med skalar er blot elementvis multiplikation med skalaren (h\303\251r s):'s*A'=s*A;Konkret eksempel.'5*A'=5*A;Linearkombination. Produktet af en matrix og en vektorVi tager 4 tilf\303\246ldige vektorer:V:=seq(RandomVector(4),k=1..4);Udtrykketadd(x[k]&*V[k],k=1..4);kaldes en linearkombination af de givne vektorer. (Den lidt m\303\246rkv\303\246rdige brug af &* i stedet for * bruges for at forhindre Maple i med det samme at gange x'erne ind):Vi erstatter &* med det rigtige gangetegn *:eval(%,`&*`=`*`);eller vi skriver linearkombinationen fra starten med det rigtige gangetegn:add(x[k]*V[k],k=1..4);I DMat-biblioteket er inkluderet en udvidelse af Maples value:add(x[k]&*V[k],k=1..4);value(%);Linearkombinationen kan selvf\303\270lgelig v\303\246re helt konkret:add(rand(-9..9)()&*V[k],k=1..4);value(%);Lad nu udgangspunktet v\303\246re en tilf\303\246ldig 3x4-matrix:A:=RandomMatrix(3,4);S\303\270jlerne i A er seq(Column(A,k),k=1..4);Lad X v\303\246re s\303\270jlevektorenX:=<seq(x[k],k=1..4)>;Definitionen af produktet AX er nu simpelthenA&.X=add(x[k]&*Column(A,k),k=1..4);DMats value laver '%*' om til '*' og '%.' om til '.' :value(%);Det samme f\303\245s direkte i Maple s\303\245ledesA.X;Ligningssystemet b:=RandomVector(3):
for k to 3 do GenerateEquations(A,[seq(x[k],k=1..4)],b)[k] end do;kan alts\303\245 skrives p\303\245 f\303\270lgende matrixform:A&.X=b;Med '&.'erstattet af punktum f\303\245svalue(%);Hen til kommoden og tilbaws igen: convert(%,listeqs);convert er i DMat-biblioteket udvidet til at klare ovenst\303\245ende.Multiplikation af matricerLad A v\303\246re en 4x3-matrixA:=Matrix(4,3,symbol=a);og lad B v\303\246re en 3x2-matrix.b:='b':B:=Matrix(3,2,symbol=b);Matrixproduktet AB findes s\303\245ledes i Maple:'A.B'=A.B;AB kan ogs\303\245 defineres som matricen med s\303\270jlerne LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1GLDYlUSJBRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRImJGJ0Y0RjctRiM2JS1JI21uR0YkNiRRIjFGJ0Y+LyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGam5GPkYrRmpuRj4= og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1GLDYlUSJBRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRImJGJ0Y0RjctRiM2JS1JI21uR0YkNiRRIjJGJ0Y+LyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGam5GPkYrRmpuRj4= hvor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRkBGPg== og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRkBGPg== er s\303\270jlerne i B:b[1],b[2]:=Column(B,1),Column(B,2);Definitionen:'A.B' = <'A.b[1]'|'A.b[2]'>;H\303\270jre side udregnet:<'A.b[1]'|'A.b[2]'> = < A.b[1] | A.b[2] >;alts\303\245'A.B'= < A.b[1] | A.b[2] >;Elementerne i AB kan ogs\303\245 betragtes som skalarprodukter. Eksempel vis findes elementet i r\303\246kke 3, s\303\270jle 2 i produktet AB som skalarproduktet af r\303\246kke 3 i A med s\303\270jle 2 i B:Row(A,3).Column(B,2);Nogle synes om en opstilling som f\303\270lger (jeg selv bruger den dog aldrig!):Matrix([[``,'B'],['A','A.B']]);Her ser det s\303\245ledes ud (hvor vi bruger den hjemmelavede procedure MatrixProdukt):MatrixProdukt(A,B);Her skal komme en fejlmelding:MatrixProdukt(B,A);Taleksempel: Vi tager en tilf\303\246ldig 3x5-matrix med elementer mellem -3 og 3:A:=RandomMatrix(3,5,generator=-3..3);Vi tager ogs\303\245 en tilf\303\246ldig 5x2-matrix med elementer mellem -3 og 3:B:=RandomMatrix(5,2,generator=-3..3);Matrixproduktet AB findes s\303\245ledes i Maple:A.B;AB kan som sagt ogs\303\245 defineres som matricen med s\303\270jlerne LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1GLDYlUSJBRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRImJGJ0Y0RjctRiM2JS1JI21uR0YkNiRRIjFGJ0Y+LyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGam5GPkYrRmpuRj4= og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Jy1GLDYlUSJBRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRImJGJ0Y0RjctRiM2JS1JI21uR0YkNiRRIjJGJ0Y+LyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGam5GPkYrRmpuRj4= hvor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRkBGPg== og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRkBGPg== er s\303\270jlerne i B:b[1],b[2]:=Column(B,1),Column(B,2);Definitionen:'A.B' = <'A.b[1]'|'A.b[2]'>;H\303\270jre side udregnet:<'A.b[1]'|'A.b[2]'> = < A.b[1] | A.b[2] >;alts\303\245'A.B'= < A.b[1] | A.b[2] >;Elementet i r\303\246kke 1, s\303\270jle 2 i produktet AB kan ogs\303\245 findes som skalarproduktet af r\303\246kke 1 i A med s\303\270jle 2 i B:Row(A,1) &. Column(B,2) = Row(A,1).Column(B,2);Elementet i r\303\246kke 3, s\303\270jle 2 i produktet AB kan ogs\303\245 findes som skalarproduktet af r\303\246kke 3 i A med s\303\270jle 2 i B:Row(A,3) &. Column(B,2) = Row(A,3).Column(B,2);MatrixProdukt(A,B);Her skal komme en fejlmelding:MatrixProdukt(B,A);Enhedsmatricen af st\303\270rrelse 3x3 er matricenI3:=IdentityMatrix(3);Enhedsmatricen af st\303\270rrelse 4x4 er matricenI4:=IdentityMatrix(4);Vi har, at LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNictSSVtc3ViR0YkNiUtRiw2JVEiSUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiM0YnL0Y9USdub3JtYWxGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGRS8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnRkUvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlMvJSlzdHJldGNoeUdGUy8lKnN5bW1ldHJpY0dGUy8lKGxhcmdlb3BHRlMvJS5tb3ZhYmxlbGltaXRzR0ZTLyUnYWNjZW50R0ZTLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGXG8tRiw2JVEiQUYnRjlGPEZHRkUtRk42LVEiPUYnRkVGUUZURlZGWEZaRmZuRmhuL0Zbb1EsMC4yNzc3Nzc4ZW1GJy9GXm9GZm9GX29GR0ZFRitGR0ZF og at LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNictRiw2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJy9GOlEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkQvJSlzdHJldGNoeUdGRC8lKnN5bW1ldHJpY0dGRC8lKGxhcmdlb3BHRkQvJS5tb3ZhYmxlbGltaXRzR0ZELyUnYWNjZW50R0ZELyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUy1JJW1zdWJHRiQ2JS1GLDYlUSJJRidGNkY5LUYjNiUtSSNtbkdGJDYkUSI0RidGQC8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGQC8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRlxvRkAtRj02LVEiPUYnRkBGQkZFRkdGSUZLRk1GTy9GUlEsMC4yNzc3Nzc4ZW1GJy9GVUZmb0YzRlxvRkBGK0Zcb0ZA for enhver 3x4-matrix A:A:=Matrix(3,4,symbol=a);For at forhindre, at Maple ganger ud p\303\245 venstre side bruger vi i stedet for punktum `&.`:I3&.A=I3.A;Multiplikationen i skemaform:MatrixProdukt(I3,A);A&.I4=A.I4;Multiplikationen i skemaform:MatrixProdukt(A,I4);Multiplikationen er ikke kommutativ!Vi tager to tilf\303\246ldige 2x2-matricer:A:=RandomMatrix(2,generator=-5..5);B:=RandomMatrix(2,generator=-5..5);Vi udregner b\303\245de AB og BA:A&.B: %=value(%);Opstillet i et skema:MatrixProdukt(A,B);B&.A: %=value(%);Opstillet i et skema:MatrixProdukt(B,A);De andre regneregler g\303\246lder dogVi viser de to vigtigste, nemlig f\303\270rst den associative lov (AB)C = A(BC): b:='b':
A:=Matrix(3,4,symbol=a): B:=Matrix(4,2,symbol=b): C:=Matrix(2,3,symbol=c):(A.B).C-A.(B.C):simplify(%);Dern\303\246st de distributive love A(B+C) = AB + AC og (B+C)A = BA + CA:A:=Matrix(3,4,symbol=a): B:=Matrix(4,2,symbol=b): C:=Matrix(4,2,symbol=c):A.(B+C)-(A.B+A.C):simplify(%);A:=Matrix(3,4,symbol=a): B:=Matrix(2,3,symbol=b): C:=Matrix(2,3,symbol=c):(B+C).A-(B.A+C.A):simplify(%);AB = 0 medf\303\270rer ikke, at A = 0 eller B = 0!Vi n\303\270jes med et eksempel og her er B = A:A:=Matrix([[1,-1],[1,-1]]);A^2;TransponeringVi tager en tilf\303\246ldig 3x5-matrix:A:=RandomMatrix(3,5);Den transponerede matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GLzYlUSJURidGMkY1LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRicvRjZRJ25vcm1hbEYn f\303\245s som den matrix, der har r\303\246kkerne i A som s\303\270jler:Transpose(A);Transponerer vi en gang til er vi tilbage ved A:Transpose(%);Der g\303\246lder, at LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2KC1JJW1zdXBHRiQ2JS1JKG1mZW5jZWRHRiQ2JC1GIzYnLUYsNiVRIkFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RicvRkBRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZKLyUpc3RyZXRjaHlHRkovJSpzeW1tZXRyaWNHRkovJShsYXJnZW9wR0ZKLyUubW92YWJsZWxpbWl0c0dGSi8lJ2FjY2VudEdGSi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlktRiw2JVEiQkYnRjxGPy8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdRidGRkZGLUYsNiVRIlRGJ0Y8Rj8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUZDNi1RIj1GJ0ZGRkhGS0ZNRk9GUUZTRlUvRlhRLDAuMjc3Nzc3OGVtRicvRmVuRmZvLUYjNictRjI2JUZmbkZcb0Zfb0ZCLUYyNiVGOUZcb0Zfb0ZpbkZGRitGaW5GRkYrRmluRkY=, hvilket illustreres af f\303\270lgende eksempel, hvor A er defineret ovenfor:B:=RandomMatrix(5,2);T:='T':`(AB)`^T=Transpose(A.B);'B'^T*'A'^T=Transpose(B).Transpose(A);Matrixligninger Eksempel JE 2.16A:=Matrix([[1,3,-1],[0,-1,4],[1,3,0]]);B:=Matrix([[2,4],[7,-5],[4,3]]);T:=<A|B>;ReducedRowEchelonForm(T);L\303\270sningen er%[1..3,4..5];Som ogs\303\245 erA^(-1).B;og som ogs\303\245 kan findes direkte i Maple vha. LinearSolve:LinearSolve(A,B);