matrix

Sage

Matrix dans le référentiel

Vector (1 dimension), Matrix introduit les matrices à 2 dimensions).

Créer à partir d'un objet Matrix_Space

exempleMatrixSpace = MatrixSpace (RR, 3 , 2) # un moule pour des matrices 3 * 2 de réels

a = exempleMatrixSpace.matrix([[2.1, 3.4], [0.0, 4.0], [1.2, 2.3]])

Créer directement

a = matrix(RR, [[2.1, 3.4], [0.0, 4.0], [1.2, 2.3]])

On déduit de cette déclaration qu'il s'agit d'une matrice 3 lignes et 2 colonnes.

Que se passe-t-il si les lignes ne comportent pas le même nombre d'éléments?

Accéder aux éléments.

Des exemples sur l'utilisation des tranches (slices)

Les indices vont de 0 à len(a) -1. Le dernier élément peut aussi être accédé via l'indice -1, l'avant-dernier par -2, ....

print a [0, 1]

Attention aux accès aux tranches (slices) :

  • 2 points verticaux ":" [1:4] signifie la tranche d'éléments d'indice 1 à 4 (non inclus), 1, 2 et 3 donc (c'est cette notation qui existe en python pour l'accès à une tranche - slice - de liste)
  • 2 points horizontaux ".." 1..4 signifie un tranche de 4 éléments partant de l'indice 1, à savoir donc 1,2, 3 et 4 (n'existe pas en Python)

sage: m=[(1, -2, -1, -1,9), (1, 8, 6, 2,2), (1, 1, -1, 1,4), (-1, 2, -2, -1,4)];

M= matrix(m)

sage: M [ 1 -2 -1 -1 9] [ 1 8 6 2 2] [ 1 1 -1 1 4] [-1 2 -2 -1 4]

sage: M[1:3,1:3] [ 8 6] [ 1 -1]

sage: M[1:3,[1..3]] [ 8 6 2] [ 1 -1 1]

sage: M[:,1] [-2] [ 8] [ 1] [ 2]

sage: M[-1,:] [-1 2 -2 -1 4]

sage: A[:,0:4:2] [ 3 -5] [ 1 1] [ 1 1]

Opérateurs

  • Matrix addition
  • Matrix multiplication (vector and matrix)
  • Scalar multiplication


Méthodes

  • a.solve_right(b) (opérateur \ ) a\b a est une matrice, b un vecteur, rend le vecteur x tel que a.x = b
  • a.row(3) # on sélectionne la ligne d'indice 3
  • a.column (2) # on sélectionne la colonne d'indice 2
  • a.submatrix (2, 3, 2, 3) # on sélectionne une sous-matrice 3.3 dont l’élément en haut à gauche a pour indice 2, 2
  • a.rescale_row (1, 2) # on multiplie par 2 la ligne 1
  • a.swap_rows (0, 1) # on intervertit les lignes 0 et 1
  • a.add_multiple_of_row (0,1,2) #A la ligne 0, on ajoute 2 fois la ligne 1
  • a.echelon_form()
  • a.det()
  • a.rank()
  • a.norm()
  • a.norm('frob')
  • a.tranpose()
  • a.inverse()
  • a.adjoint()


» Glossaire de Sage