Jens Eising, Line\303\246r Algebra, Kapitel 3Preben Alsholm, 6/2 2008restart;with(LinearAlgebra):libname:="h:/MatematikPakke/libDMat",libname;with(DMat);Eksempel 3.1 (procedurerne nInv, sgn og tp)with(combinat);permute(1);permute(2);S3:=permute(3);nInv:=proc(L::list(posint))
local n,k,j,res;
res:=0;
n:=nops(L);
for k from 1 to n do
for j from k+1 to n do
if L[j]<L[k] then res:=res+1 end if
end do
end do;
res
end proc:sgn:=proc(L::list(posint)) (-1)^nInv(L) end proc:nInv([1,2,3]);nInv([2,3,1]);map(nInv,S3);map(sgn,S3);S5:=permute(5):map(nInv,S5);map(sgn,S5);ListTools:-Occurrences(1,%);Transpositioner, der skal udf\303\270res p\303\245 den identiske permutation for at frembringe den givne:tp:=proc(L::list(posint)) local n,s,A,k,omb,q,t,T,res,omvendt;
n:=nops(L);
s:=k$k=1..n;
if not {op(L)}={s} then error "%1 er ikke en permutation af tallene %2",L,[s] end if;
t:=(i,j)->proc() local L1,AA,qq;
if _npassed=0 then L1:=[seq(k,k=1..n)] else L1:=_passed end if;
AA:=Array(L1);
qq:=AA[i]; AA[i]:=AA[j]; AA[j]:=qq;
convert(AA,list);
end proc;
A:=Vector(L);
omb:=NULL;
while not LinearAlgebra:-Equal(A,<s>) do
for k to n-1 do
if A[k]>A[k+1] then q:=A[k+1]; A[k+1]:=A[k]; A[k]:=q; omb:=T(k,k+1),omb end if
end do
end do;
####N\303\270dvendigheden af t <---> T forst\303\245r jeg ikke
omvendt:=ListTools:-Reverse([omb]);
print(`@`(op(omvendt)));
res:=eval(omvendt,T=t);
`@`(op(res));
end proc:f:=tp([2,1,4,5,3]);f([1,2,3,4,5]);Samme effekt:f();f([5,4,3,2,1]);Eksempel 3.3 (proceduren det)det:=proc(A::'Matrix'(square))
local n,S;
n:=LinearAlgebra:-ColumnDimension(A);
S:=combinat:-permute(n);
add(sgn(p)*mul(A[i,p[i]],i=1..n),p=S)
end proc;det(Matrix(2,symbol=a));det(Matrix(3,symbol=a));det(Matrix(4,symbol=a));Undlad at betragte for store matricer: Det tager meget lang tid!A:=RandomMatrix(8,generator=-9..9);det(A);Determinant(A);Eksempel 3.5A:=Matrix([[0,7,7,9],[1,4,3,4],[2,0,-1,-2],[3,1,-2,1]]);det(A);Determinant(A);LUDecomposition(A);-mul(%[3][k,k],k=1..4);Akopi:=Copy(A);I stedet for her at lave Gausseliminationerne i h\303\245nden, beder vi Maple om at g\303\270re det:En LU-dekomposition af A giver en echelonform for A (nemlig U) og en matrix L, der indeholder oplysninger om de r\303\246kkeoperationer af typen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Jy1JJW1zdWJHRiQ2JS1GLDYlUSJSRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtRiw2JVEiaUYnRjdGOi9GO1Enbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIzo9RidGQi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTS8lKXN0cmV0Y2h5R0ZNLyUqc3ltbWV0cmljR0ZNLyUobGFyZ2VvcEdGTS8lLm1vdmFibGVsaW1pdHNHRk0vJSdhY2NlbnRHRk0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0Zmbi1GIzYnRjEtRkg2LVEoJm1pbnVzO0YnRkJGS0ZORlBGUkZURlZGWC9GZW5RLDAuMjIyMjIyMmVtRicvRmhuRl9vLUYjNiYtRiw2JVEia0YnRjdGOi1GSDYtUTEmSW52aXNpYmxlVGltZXM7RidGQkZLRk5GUEZSRlRGVkZYL0ZlblEmMC4wZW1GJy9GaG5Gam8tRjI2JUY0LUYjNiQtRiw2JVEiakYnRjdGOkZCRkRGQkYrRkJGK0ZCRitGQg==. Faktisk er LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJrRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiPUYnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRIkxGJ0Y0RjctRiM2Ji1GLDYlUSJpRidGNEY3LUY7Ni1RIixGJ0Y+RkAvRkRGNkZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNRLDAuMzMzMzMzM2VtRictRiw2JVEiakYnRjRGN0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPkYrRj4=.Matricen P holder styr p\303\245 evt. r\303\246kkeombytninger. Hvis P er enhedsmatricen, er der ikke foretaget r\303\246kkeombytninger. Ellers er r\303\246kkeombytningerne de samme som kr\303\246ves for at g\303\270re P til en enhedsmatrix:P,L,U:=LUDecomposition(A);Bem\303\246rk, at U er samme matrix, som man f\303\245r ved anvendelse af GaussianElimination:GaussianElimination(A);Produktet PLU giver matricen A:P.L.U;For nu at komme fra A til U begynder vi med evt. ombytninger af r\303\246kkerne (og omdefinerer dermed A). Bem\303\246rk, at der skal bruges den inverse til P, fordi r\303\246kkef\303\270lgen p\303\245 ombytninger ikke er ligegyldig: A:=P^(-1).A;R\303\246kkeoperationen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Jy1JJW1zdWJHRiQ2JS1GLDYlUSJSRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIzo9RidGQy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTi8lKXN0cmV0Y2h5R0ZOLyUqc3ltbWV0cmljR0ZOLyUobGFyZ2VvcEdGTi8lLm1vdmFibGVsaW1pdHNHRk4vJSdhY2NlbnRHRk4vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0Znbi1GIzYnRjEtRkk2LVEoJm1pbnVzO0YnRkNGTEZPRlFGU0ZVRldGWS9GZm5RLDAuMjIyMjIyMmVtRicvRmluRmBvLUYjNiYtRiw2JVEia0YnRjdGOi1GSTYtUTEmSW52aXNpYmxlVGltZXM7RidGQ0ZMRk9GUUZTRlVGV0ZZL0ZmblEmMC4wZW1GJy9GaW5GW3AtRjI2JUY0LUYjNiQtRkA2JFEiMUYnRkNGQ0ZFRkNGK0ZDRitGQ0YrRkM= kan nu foretages s\303\245ledes, hvor k tages fra L. Fortegnet -L[3,1] skyldes forskellige fortegnskonventioner i L og RowOperation:RowOperation(A,[3,1],-L[3,1]);Vi lader foretage de n\303\270dvendige r\303\246kkeoperationer i f\303\270rste s\303\270jle. Bem\303\246rk, at vi overskriver A (inplace = true):for k from 2 to 4 do
RowOperation(A,[k,1],-L[k,1],inplace=true)
end do;N\303\246ste s\303\270jle:for k from 3 to 4 do
RowOperation(A,[k,2],-L[k,2],inplace=true)
end do;I tredie s\303\270jle skal der kun laves en r\303\246kkeoperation:RowOperation(A,[4,3],-L[4,3],inplace=true);A;Determinant(A);Fortegnsforskellen skyldes ombytningen af 2 r\303\246kker:Determinant(Akopi);Eksempel 3.6A:=Matrix([[1,1,2,3],[3,6,8,13],[1,2,2,10],[0,71,0,0]]);det(A);Determinant(A);Her g\303\270r vi eksakt som i bogen:RowOperation(A,[2,1],-3);RowOperation(%,[3,1],-1);ColumnOperation(%,[2,3]);ColumnOperation(%,[3,4]);mul(%[k,k],k=1..4);Eksemplet k\303\270rt som eks. 3.5 ovenforLUDecomposition(A);mul(%[3][k,k],k=1..4);Akopi:=Copy(A);I stedet for her at lave Gausseliminationerne i h\303\245nden, beder vi Maple om at g\303\270re det:En LU-dekomposition af A giver en echelonform for A (nemlig U) og en matrix L, der indeholder oplysninger om de r\303\246kkeoperationer af typen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Jy1JJW1zdWJHRiQ2JS1GLDYlUSJSRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtRiw2JVEiaUYnRjdGOi9GO1Enbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIzo9RidGQi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTS8lKXN0cmV0Y2h5R0ZNLyUqc3ltbWV0cmljR0ZNLyUobGFyZ2VvcEdGTS8lLm1vdmFibGVsaW1pdHNHRk0vJSdhY2NlbnRHRk0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0Zmbi1GIzYnRjEtRkg2LVEoJm1pbnVzO0YnRkJGS0ZORlBGUkZURlZGWC9GZW5RLDAuMjIyMjIyMmVtRicvRmhuRl9vLUYjNiYtRiw2JVEia0YnRjdGOi1GSDYtUTEmSW52aXNpYmxlVGltZXM7RidGQkZLRk5GUEZSRlRGVkZYL0ZlblEmMC4wZW1GJy9GaG5Gam8tRjI2JUY0LUYjNiQtRiw2JVEiakYnRjdGOkZCRkRGQkYrRkJGK0ZCRitGQg==. Faktisk er LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJrRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiPUYnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZRLUklbXN1YkdGJDYlLUYsNiVRIkxGJ0Y0RjctRiM2Ji1GLDYlUSJpRidGNEY3LUY7Ni1RIixGJ0Y+RkAvRkRGNkZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNRLDAuMzMzMzMzM2VtRictRiw2JVEiakYnRjRGN0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPkYrRj4=.Matricen P holder styr p\303\245 evt. r\303\246kkeombytninger. Hvis P er enhedsmatricen, er der ikke foretaget r\303\246kkeombytninger. Ellers er r\303\246kkeombytningerne de samme som kr\303\246ves for at g\303\270re P til en enhedsmatrix:P,L,U:=LUDecomposition(A);Bem\303\246rk, at U er samme matrix, som man f\303\245r ved anvendelse af GaussianElimination:GaussianElimination(A);Produktet PLU giver matricen A. Det samme g\303\270r selvf\303\270lgelig LU, da P er enhedsmatricen:L.U;R\303\246kkeoperationen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Jy1JJW1zdWJHRiQ2JS1GLDYlUSJSRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIzo9RidGQy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTi8lKXN0cmV0Y2h5R0ZOLyUqc3ltbWV0cmljR0ZOLyUobGFyZ2VvcEdGTi8lLm1vdmFibGVsaW1pdHNHRk4vJSdhY2NlbnRHRk4vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0Znbi1GIzYnRjEtRkk2LVEoJm1pbnVzO0YnRkNGTEZPRlFGU0ZVRldGWS9GZm5RLDAuMjIyMjIyMmVtRicvRmluRmBvLUYjNiYtRiw2JVEia0YnRjdGOi1GSTYtUTEmSW52aXNpYmxlVGltZXM7RidGQ0ZMRk9GUUZTRlVGV0ZZL0ZmblEmMC4wZW1GJy9GaW5GW3AtRjI2JUY0LUYjNiQtRkA2JFEiMUYnRkNGQ0ZFRkNGK0ZDRitGQ0YrRkM= kan nu foretages s\303\245ledes, hvor k tages fra L. Fortegnet -L[3,1] skyldes forskellige fortegnskonventioner i L og RowOperation:RowOperation(A,[3,1],-L[3,1]);Vi lader foretage de n\303\270dvendige r\303\246kkeoperationer i f\303\270rste s\303\270jle. Bem\303\246rk, at vi overskriver A (inplace = true):for k from 2 to 4 do
RowOperation(A,[k,1],-L[k,1],inplace=true)
end do;N\303\246ste s\303\270jle:for k from 3 to 4 do
RowOperation(A,[k,2],-L[k,2],inplace=true)
end do;I tredie s\303\270jle skal der kun laves en r\303\246kkeoperation:RowOperation(A,[4,3],-L[4,3],inplace=true);A;Determinant(A);Fortegnsforskellen skyldes ombytningen af 2 r\303\246kker:Determinant(Akopi);Eksempel 3.7A:= n -> Matrix(n,(i,j)->if i=j then a else b end if);A(5);Determinant(A(5));factor(%);seq(factor(Determinant(A(n))),n=1..6);seq((a+(n-1)*b)*(a-b)^(n-1),n=1..6);Eksempel 3.8 og 3.9A:=Matrix(3,symbol=a);Determinant(A);select(has,%,a[1,2]);factor(%);UnderdeterminantenMinor(A,1,2);UndermatricenMinor(A,1,2,output=matrix);A[2..3,[1,3]];Describe(Det);Det(A);Det(%);Eksempel 3.10A:=Matrix(3,symbol=a);Det(A);Det(A,s\303\270jle(2));Eksempel 3.11A:=Matrix([[1,2,1],[3,2,1],[1,3,2]]);B:=Matrix([[1,-1,1],[2,0,3],[1,-1,2]]);Det(A);Det(%);expand(%);Det(B,r\303\246kke(2));Det(%);expand(%);Eksempel 3.12A:=Matrix([[1,3,2,4],[2,6,4,3],[3,8,6,7],[4,14,9,10]]);Determinant(A);Eksakt som i bogen:RowOperation(A,[2,1],-2):
RowOperation(%,[3,1],-3):
RowOperation(%,[4,1],-4);Eller p\303\245 \303\251n gang:Pivot(A,1,1);Det(%,s\303\270jle(1));Det(%,r\303\246kke(1));value(%);Fjerner parentesen: ``(5) bliver til 5:expand(%);Eksempel 3.13A:=Matrix([[3,2,2],[3,4,3],[-1,-1,0]])-x*IdentityMatrix(3);Determinant(A);RowOperation(A,[2,3],3);ColumnOperation(%,[3,2],-3);Det(%,r\303\246kke(2));value(%);factor(%);Eksempel 3.14A:=Matrix(4,(i,j)->if j=i+1 then s[i] else 0 end if,shape=antisymmetric)+IdentityMatrix(4);Det(A);Det(%,[r\303\246kke(1),s\303\270jle(1)]);value(%);expand(%);expand(%);Eksempel 3.15A:= n -> Matrix(n,(i,j)->if i=j then b elif j=i+1 then c elif j=i-1 then a else 0 end if);A(6);Kan ogs\303\245 g\303\270res s\303\245ledes:A:= n -> BandMatrix([a,b,c], 1, n);A(6);Det(A(6),s\303\270jle(1));applyop(Det,2,%);hvilket netop erb*DET(A(5))-a*c*DET(A(4));Algoritmen implementeret i MapleN:=10;
a0:=1:
a1:=b:
for k from 2 to N do
a2:=expand(b*a1-a*c*a0);
a0:=a1;
a1:=a2;
end do:
a2;Determinant(A(10));N:=10;
Ad[0]:=1:
Ad[1]:=b:
for k from 2 to N do
Ad[k]:=expand(b*Ad[k-1]-a*c*Ad[k-2]);
end do;Endnu en implementering:Q:=Matrix([[0,1],[-a*c,b]]);v:=<1,b>;
for k from 1 to 9 do v:=map(expand,Q.v) end do;
Eller hvis man kun er interesseret i sidste output:map(expand,(Q^9).<1,b>);
Cramers regelA:=Matrix(3,symbol=a);b:=Vector(3,symbol=beta);If\303\270lge Cramers regel kan Ax = b l\303\270ses s\303\245ledes:F\303\270rst findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== som f\303\270lger.Defin\303\251r A1b som den matrix vi f\303\245r ved i A at erstatte s\303\270jle 1 med b:A1b:=<b|DeleteColumn(A,1)>;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== er s\303\245 givet ved:x[1]=DET(A1b)/DET(A);Tilsvarende findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== ved f\303\270rst at bestemme A2b som den matrix vi f\303\245r ved i A at erstatte s\303\270jle 2 med b.A2b:=<Column(A,1)|b|Column(A,3)>;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== er nu givet ved:x[2]=DET(A2b)/DET(A);A3b findes nedenfor ved f\303\270rst at fjerne s\303\270jle 3, derefter tilf\303\270je b som sidste s\303\270jle:A3b:=<DeleteColumn(A,3)|b>;Endelig findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== somx[3]=DET(A3b)/DET(A);Taleksempel p\303\245 brugen af Cramers regel:A:=Matrix([[2,3,-5],[6,-5,2],[0,-1,0]]);b:=<3,2,1>;Vi beder f\303\270rst Maple om selv at l\303\270se systemet (af hensyn til sammenligning med Cramers regel):LinearSolve(A,b);If\303\270lge Cramers regel kan Ax = b l\303\270ses s\303\245ledes:F\303\270rst findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== som f\303\270lger.Defin\303\251r A1b som den matrix vi f\303\245r ved i A at erstatte s\303\270jle 1 med b:A1b:=<b|DeleteColumn(A,1)>;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== er s\303\245 givet ved:x[1]=DET(A1b)/DET(A);value(%);Tilsvarende findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== ved f\303\270rst at bestemme A2b som den matrix vi f\303\245r ved i A at erstatte s\303\270jle 2 med b.A2b:=<Column(A,1)|b|Column(A,3)>;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== er nu givet ved:x[2]=DET(A2b)/DET(A);value(%);A3b findes nedenfor ved f\303\270rst at fjerne s\303\270jle 3, derefter tilf\303\270je b som sidste s\303\270jle:A3b:=<DeleteColumn(A,3)|b>;Endelig findes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== somx[3]=DET(A3b)/DET(A);value(%);En Cramer-procedure (ikke anbefalelsesv\303\246rdig!) ligger i DMat-pakken: I f\303\270rste omgang f\303\245s en mellemregning:Cramer(A,b);Cramer(A,b,2);men value er bekendt med DET (i DMat-biblioteket vel at m\303\246rke!):value(%);A:=RandomMatrix(9);b:=RandomVector(9);LinearSolve(A,b);value(Cramer(A,b));Tidsstudier (Bem\303\246rk dog, at Cramer + value udnytter Maples evne til at regne determinanter ud hurtigt):A:=RandomMatrix(12);b:=RandomVector(12);time(LinearSolve(A,b));time(value(Cramer(A,b)));Formlen for den inverseA:=RandomMatrix(3);Den transponerede af matricen best\303\245ende af komplementerne til A betegnes i Maple med Adjoint. Vi kan kalde den for den (klassiske) adjungerede:Adj:=Adjoint(A);Minor(A,1,2);S\303\245dan f\303\245s den adjungerede efter definitionen. Bem\303\246rk at transponeringen er indbygget ved ombytningen af i og j:Matrix(3,(i,j)->(-1)^(i+j)*Minor(A,j,i));Der g\303\246lder altid, at A.Adj(A) = det(A) I. N\303\245r det(A) <>0 udleder vi heraf en formel for den inverse som den adjungerede divideret med determinanten af A. A.Adj;Determinant(A);