Løsning af lineære ligningssystemer i maple
Vi indlæser først pakken
LinearAlgebra
| > |
restart:with(LinearAlgebra): |
Vi skal løse lineære ligningssystemer ved brug af kommandoerne
GaussianElimination
,
ReducedRowEchelonForm
,
LinearSolve
, som alle hører under pakken LinearAlgebra.
Disse kommandoer tager alle matricer som input. GaussianElimination reducerer matricen til en trappematrix. ReducedRowEchelonForm reducerer inputmatricen til den reducerede trappematrix. LinearSolve giver løsningsmængden til det lineære ligningssystem der har input matricen som totalmatrix. I tilfældet med 2 eller 3 variable kan vi også plotte linier og grafer og vise det geometriske aspekt af ligningssystemerne. Det gør vi ved brug af kommandoen
Student[LinearAlgebra][LinearSystemPlot]
.
Et eksempel med præcis en løsning
Vi betragter det lineære ligningssystem
| > |
x[1]+x[2]+x[3]=2;x[1]+2*x[2]+3*x[3]=3;3*x[1]+2*x[2]+2*x[3]=0; |
Det har totalmatricen
| > |
C1:=<<1 |1 | 1 | 2>, <1 | 2 | 3 | 3 >, <3 | 2 | 2 | 0>>; |
 |
(1.2) |
Vi finder
| > |
GaussianElimination(C1); |
 |
(1.3) |
Man ser at ligningssystemet har præcis en løsning, men det kræver stadig lidt regning at finde den.
| > |
ReducedRowEchelonForm(C1); |
 |
(1.4) |
Heraf kan vi med det samme aflæse løsningen:
,
,
. Det finder man også med
](images/manual2_10.gif) |
(1.5) |
Løsninger er skæringspunktet af tre planer
| > |
Student[LinearAlgebra][LinearSystemPlot](C1); |
Et eksempel uden løsninger
| > |
x[1]+x[2]+x[3]=1;2*x[1]+x[2]+3*x[3]=1;2*x[1]+3*x[2]+x[3]=1; |
| > |
C2:=<<1 |1 | 1 | 1>, <2 | 1 | 3 | 1>, <2 | 3 | 1| 1>>; |
 |
(2.2) |
| > |
GaussianElimination(C2); |
 |
(2.3) |
| > |
ReducedRowEchelonForm(C2); |
 |
(2.4) |
| Error, (in LinearAlgebra:-LA_Main:-LinearSolve) inconsistent system |
|
| > |
Student[LinearAlgebra][LinearSystemPlot](C2); |
Et eksempel med uendelig mange løsninger
| > |
x[1]+x[2]+x[3]=1;2*x[1]+x[2]+3*x[3]=1;2*x[1]+3*x[2]+x[3]=3; |
| > |
C3:=<<1 |1 | 1 | 1>, <2 | 1 | 3 | 1>, <2 | 3 | 1| 3>>; |
 |
(3.2) |
| > |
GaussianElimination(C3); |
 |
(3.3) |
| > |
ReducedRowEchelonForm(C3); |
 |
(3.4) |
| > |
LinearSolve(C3, free=t); |
](images/manual2_25.gif) |
(3.5) |
Bemærk løsningerne udtrykkes ved en parameter .
| > |
Student[LinearAlgebra][LinearSystemPlot](C3); |
Et komplekst eksempel
| > |
I*x[1]+x[2]=1;x[1]+(1+I)*x[2]=0;2*x[1]+x[2]=-I; |
| > |
C4:=<<I|1|1>,<1|1+I|0>,<2|1|-I>>; |
 |
(4.2) |
| > |
GaussianElimination(C4); |
 |
(4.3) |
| > |
ReducedRowEchelonForm(C4); |
 |
(4.4) |
](images/manual2_33.gif) |
(4.5) |
Metoden for matrix inversion
| > |
A:=<<1,1,I>|<0,1,1-I>|<0,-I,1>>; |
 |
(5.1) |
 |
(5.2) |
Vi benytter nu eliminationsmetoden til at bestemme den inverse.
| > |
<A|<1,0,0>|<0,1,0>|<0,0,1>>;ReducedRowEchelonForm(%); |
 |
 |
(5.3) |