Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Creations Avancees


Matrices triangulaires

tri permet d'obtenir rapidement une matrice triangulaire inférieure :

  >>> tri(3,4)
  array([[ 1.,  0.,  0.,  0.],
         [ 1.,  1.,  0.,  0.],
         [ 1.,  1.,  1.,  0.]])

On peut exiger des 1 sur une ou plusieurs sur-diagonale(s) :

  >>> tri(3,4,k=1)
   array([[ 1.,  1.,  0.,  0.],
          [ 1.,  1.,  1.,  0.],
          [ 1.,  1.,  1.,  1.]])

Création par reproduction

On peut reproduire le vecteur [0 1] autant de fois que nécessaire pour remplir une matrice de taille 9x9, en procédant ainsi :

  >>> resize(array((0,1)), (9, 9))

Création par condition

Dans le bout de code suivant :

  >>> data=arange(10)
  [0 1 2 3 4 5 6 7 8 9]

  >>> print where(greater(data, 5), -1, data)
  [ 0 1 2 3 4 5 -1 -1 -1 -1]

on modifie les éléments du vecteur data qui respectent la condition greater(data, 5) (c'est-à-dire les éléments strictement plus grand que 5).

A partir d'une fonction

On peut créer rapidement une matrice définie par une fonction, en utilisant la méthode fromfunction :

  >>> fromfunction(lambda i,j : (i+j)%2,(3,4))
  array([ [ 0.,  1.,  0.,  1.],
         [ 1.,  0.,  1.,  0.],
         [ 0.,  1.,  0.,  1.] ])

Le deuxième paramètre de fromfunction est la taille souhaitée.

Matrice de Vandermonde

On peut aussi construire des matrices particulières, comme la matrice de Vandermonde : ses colonnes sont les puissances du vecteur donné en argument

  >>> vander(array((1,2,3,4,5,6)))
  array([[   1,    1,    1,    1,    1,    1],
         [  32,   16,    8,    4,    2,    1],
         [ 243,   81,   27,    9,    3,    1],
         [1024,  256,   64,   16,    4,    1],
         [3125,  625,  125,   25,    5,    1],
         [7776, 1296,  216,   36,    6,    1]])

Page Actions

Recent Changes

Group & Page

Back Links