Author | FX D |
Date | 2016-12-13T14:05:14 |
Project | ef241cce-6ed3-4b3c-a245-894d31a4f1ed |
Location | TP3.sagews |
Original file | TP3.sagews |
17 octobre 2016
'm'+str(1)
p=3;q=4
m=var(['m'+str(i)+str(j) for i in [1..p] for j in [1..q]])
m[4*(2-1)+(1-1)]
A=matrix(p,m)
A
2*A
def E(n,i,j):
return(matrix(ZZ,n,n,{(i-1,j-1):1}))
E(3,1,2)
E(3,1,2)*M
def I(n):
return(identity_matrix(n))
(I(3)+2*E(3,1,2))*A
A*E(4,2,3)
A*(I(4)+2*E(4,2,3))
(I(3)+2*E(3,1,2))*(I(3)-2*E(3,1,2))
def M(n,i,j,x):
return(I(n)+x*E(n,i,j))
M(2,1,2,1)
def D(l):
n=len(l)
D=matrix(ZZ,n,n,0)
for i in [0..n-1]:
D[i,i]=l[i]
return(D)
D([1,-1])
D([1,-1])*M(2,1,2,1)*M(2,2,1,-1)*M(2,1,2,1)
def P(n,i,j):
P=I(n)
P[i-1,i-1]=0
P[i-1,j-1]=1
P[j-1,i-1]=1
P[j-1,j-1]=0
return(P)
P(3,1,3)
P(3,1,2)*A
A*P(4,2,4)
B=matrix(ZZ,1,3,[30,42,105]);B #Cf Feuille de TD 4 ex 2.
gcd(gcd(30,42),105)
BB=1/3*B;BB
BB*M(3,1,2,-1) # col2 remplacée par col2 - col1
BB*M(3,1,2,-1)*M(3,2,1,-2) #col1 de la nouvelle matrice remplacée par col1 -2col2
BB*M(3,1,2,-1)*M(3,2,1,-2)*M(3,1,2,-2) #etc.
BB*M(3,1,2,-1)*M(3,2,1,-2)*M(3,1,2,-2)*M(3,1,3,-17)
BB*M(3,1,2,-1)*M(3,2,1,-2)*M(3,1,2,-2)*M(3,1,3,-17)*M(3,3,1,-2)
BB*M(3,1,2,-1)*M(3,2,1,-2)*M(3,1,2,-2)*M(3,1,3,-17)*M(3,3,1,-2)*P(3,1,3) #échange de la col3 avec la col1
PP=M(3,1,2,-1)*M(3,2,1,-2)*M(3,1,2,-2)*M(3,1,3,-17)*M(3,3,1,-2)*P(3,1,3);PP #matrice de changement de base
PP*vector([1,0,0])
B*PP*vector([1,0,0]) # on a bien obtenu une relation de Bezout !
B*PP*vector([0,1,0]) # le 1er vecteur d'une base de solutions de l'équation homogène
B*PP*vector([0,0,1]) # le 2ème vecteur
a=[-1,2,0,0,3];a
min(abs(x) for x in a if x!=0 )
[x for x in a if x!=0]
A
[A[i][j] for i in [0..2] for j in [0..3]]
Taille d’une matrice
Faire une recherche sur le web telle celle-ci ou bien lire la feuille de référence Sage - algèbre linéaire
A.nrows()
A.ncols()
A[:,1]=A[:,1]-2*A[:,3];A
A[0,:]=A[0,:]+A[2,:]
show(A)