Note: NumPy est le successeur de Numarray et est utilisé pour remplacer NumArray. SAGE est une suite de logiciels mathématiques intégrés basés sur NumPy et plusieurs autres outils, visant à remplacer des outils tels que Magma, Maple, Mathematica et Matlab. Aujourd'hui, j'ai essayé de trouver des informations sur NumPy en ligne, et j'ai essayé de faire des recherches en chinois sur NumPy, mais je n'ai pas trouvé de renseignements en chinois. Certains internautes ont demandé sur les forums comment faire des recherches en chinois sur NumPy, mais personne ne m'a répondu. J'ai donc trouvé la documentation officielle de NumPy, qui contient un petit passage sur les objets matriciels.
Le type matrix hérite du type ndarray et contient donc toutes les propriétés et méthodes de données du type ndarray. Il existe six différences importantes entre le type matrix et le type ndarray, qui peuvent entraîner des résultats inattendus lorsque vous utilisez des objets matrix comme des ensembles.
1) Les objets de matrice peuvent être créés à l'aide d'une chaîne de style Matlab, c'est-à-dire une chaîne de caractères séparée par un espace et séparée par des décimales.
2) Les objets de la matrice sont toujours bidimensionnels. Cela a des implications profondes, par exemple, la valeur de retour de m.ravel (() est bidimensionnelle, la valeur de retour choisie par le membre est également bidimensionnelle, de sorte que le comportement de la séquence est différent de celui de l'array.
3) Les multiplications de type matrice couvrent les multiplications d'array, utilisant les opérations de multiplication de la matrice. Lorsque vous recevez les valeurs de retour de la matrice, assurez-vous que vous comprenez ce que ces fonctions signifient. En particulier, le fait que la fonction asanarray (m) renvoie une matrice si elle est une mmatrice.
4) L'opération d'array de type matrix couvre également l'opération d'array précédente, utilisant l'array d'une matrice. Sur la base de ce fait, rappelez-vous que si vous utilisez l'array d'une matrice comme paramètre, l'appel de l'asanarray[...] est le même que ci-dessus.
5) La priorité par défaut de la matrice est 10.0, donc les opérations entre les objets narray et la matrice renvoient toujours la matrice.
6) Les matrices possèdent plusieurs propriétés qui facilitent le calcul:
(a).T - retourner à sa position
(b).H - retourner à sa résonance
©.I - Retour à sa propre matrice inverse
(d).A -- une vue d'une matrice 2D qui renvoie ses propres données (sans faire de copie)
La classe Matrix est une sous-classe Python de ndarray, et vous pouvez également apprendre cette implémentation pour construire votre propre sous-classe ndarray. Les objets Matrix peuvent également être construits à l'aide d'autres objets Matrix, de caractères, de chaînes, ou d'autres paramètres qui peuvent être convertis en ndarray.
Exemple 1: Construire une matrice à l'aide d'une chaîne
import numpy as np
a=np.mat('1 2 3; 4 5 3')
print (a*a.T).I
[[ 0.29239766 -0.13450292]
[-0.13450292 0.08187135]]
Exemple 2: Construire une matrice à l'aide d'une séquence de nœuds
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j],
[ 1.+0.j, 3.+0.j, 0.+4.j]])
Exemple 3: Construire une matrice à l'aide d'un tableau
np.mat( np.random.rand(3,3) ).T
np.matrix([[ 0.81541602, 0.73987459, 0.03509142],
[ 0.14767449, 0.60539483, 0.05641679],
[ 0.43257759, 0.628695 , 0.47413553]])
Matrice ((data, dtype=None, copy=True)) Les données transmises par les paramètres data sont converties en matrices. Si dtype est None, le type de données est déterminé par le contenu de la data. Si copy est True, les données dans la data sont copiées, sinon le cache de données original est utilisé.候会调用matrix.new(matrice, données, type d, copie) Je vous en prie. C'est juste un pseudonyme de la matrice. Asmatrix ((data, dtype = Aucun) Retourne les données qui n'ont pas été copiées. Bmat (obj, ldict=None, gdict=None) Construisez une matrice à l'aide d'une chaîne, d'une séquence de nœuds ou d'un array. Cette commande vous permet de construire une matrice à partir d'autres objets.
A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1');
print(np.bmat('A B; B A'))
[[2 2 1 1]
[2 2 1 1]
[1 1 2 2]
[1 1 2 2]]
Traduit de l'auteur su frank