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.]])
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))
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).
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.
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]])