Cramer:

algebra

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

algebra