linearna_algebra

attach DATA+'LinearnaAlgebra.sage' 
       
U paketu se nalaze trenutno tri funkcije:
bazicna_rjesenja - daje bazicna rjesenja sustava linearnih jednadzbi
linear_solve - rjesava sustav zapisan u matricnom obliku. Moguce je
birati parametre po zelji.
solve_mat - rjesava matricne jednadzbe tako da se ne moraju
raspisivati u sustave linearnih jednadzbi

bazicna_rjesenja

x,y,z,u=var('x y z u') 
       
bazicna_rjesenja([[1,1,2,3],[1,-4,2,-3],[0,7,2,5],[1,3,4,2]],[6,-4,12,8],[x,y,z,u]) 
       
[x == 0, y == (8/13), z == (25/26), u == (15/13)]
[y == 0, x == (-8/3), z == (11/6), u == (5/3)]
[z == 0, x == (50/17), y == (22/17), u == (10/17)]
[u == 0, x == 6, y == 2, z == -1]
bazicna_rjesenja(matrix([[1,1,2,3],[1,-4,2,-3],[0,7,2,5],[1,3,4,2]]),[6,-4,12,8],[x,y,z,u]) 
       
[x == 0, y == (8/13), z == (25/26), u == (15/13)]
[y == 0, x == (-8/3), z == (11/6), u == (5/3)]
[z == 0, x == (50/17), y == (22/17), u == (10/17)]
[u == 0, x == 6, y == 2, z == -1]
bazicna_rjesenja([[1,1,2,3],[1,-4,2,-3],[0,7,2,5],[1,3,4,2]],matrix(4,1,[6,-4,12,8]),[x,y,z,u]) 
       
[x == 0, y == (8/13), z == (25/26), u == (15/13)]
[y == 0, x == (-8/3), z == (11/6), u == (5/3)]
[z == 0, x == (50/17), y == (22/17), u == (10/17)]
[u == 0, x == 6, y == 2, z == -1]
bazicna_rjesenja([[2,3],[-1,5]],[1,-7],[x,y]) 
       
Error:sustavimajedinstvenorjesenje
bazicna_rjesenja([[1,-4,5],[0,-3,2],[2,7,0]],[6,-12,35],[x,y,z]) 
       
Error:sustavjekontradiktoran

linear_solve

x1,x2,x3,x4=var('x1 x2 x3 x4') 
       
A=matrix(3,4,[2,3,2,6,-2,3,-6,12,2,6,0,15]) B=matrix(3,1,[1,-19,-8]) 
       
linear_solve(A,B,[x1,x2,x3,x4],[x1,x2,x4,x3]) 
       
[[x1=2r1+32r2+5,x2=23r13r23,x4=r2,x3=r1]]
linear_solve(A,B,[x1,x2,x3,x4],[x2,x4,x3,x1]) 
       
[[x2=2r3103r4+7,x4=23r3+43r4103,x3=r4,x1=r3]]
linear_solve(A,B,[x1,x2,x3,x4],[x2,x4,x3,x1],rjecnik=True) 
       
[{x1:r5,x4:23r5+43r6103,x3:r6,x2:2r5103r6+7}]

solve_mat

Odredite sve matrice koje komutiraju s matricom A=[1011].

var('a b c d') A=matrix([[1,1],[0,1]]) X=matrix([[a,b],[c,d]]) 
       
solve_mat(A*X,X*A,(a,b,c,d)) 
       
[[a=r7,b=r8,c=0,d=r7]]
solve_mat(A*X,X*A,(a,b,c,d),rjecnik=True) 
       
[{d:r9,c:0,b:r10,a:r9}]
X.subs(d=a,c=0) 
       
(a0ba)