Cramer:
Si pensa far cosa gradita e utile ricordare agli alunni diligenti il metodo di risoluzione dei sistemi lineari a coefficienti numerici. Il programma di cui presentiamo il listato è preso dal Filo Illogico. Chi ne avesse la voglia e il coraggio è invitato ad una ampia e diligente consultazione del volume anche su altri argomenti.
Cramer[l_List,k_List]:=
Module[{i},
If[(Det[l]==0)&&(Det[
Transpose[
Prepend[
Drop[
Transpose[l],1],k]]]!=0),
Print["sistema impossibile"],
If[(Det[l]==0)&&(Det[
Transpose[
Prepend[
Drop[
Transpose[l],1],k]]]==0),
Print["sistema indeterminato"],
Table[
Det[
Transpose[
RotateRight[
Prepend[
Drop[
RotateLeft[
Transpose[l],i],1],k],i]]]/Det[l],{i,0,Length[k]-1}]]]]
Cramer[{{3,1},{3,2}},{5,4}]
{2, -1}
Cramer[{{2,3},{4,6}},{17,2}]
sistema impossibile
Cramer[{{2,3,4},{6,9,12},{-2,-3,-4}},{10,15,20}]
sistema indeterminato