gallery
Générer des matrices de test et des données couramment utilisées pour des expériences numériques
📝Syntaxe
[A1,A2,...,Am] = gallery(matrixname,P1,P2,...,Pn)
[A1,A2,...,Am] = gallery(matrixname,P1,P2,...,Pn,typename)
A = gallery(k)
A = gallery("circul", v)
[v,beta] = gallery("house", x)
[A,beta] = gallery("ipjfact", n, k)
A = gallery("cauchy", x, y)
📥Arguments d'entrée
Paramètre Description
matrixname nom de la famille de matrices à générer (chaîne ou vecteur de caractères), par exemple "circul", "cauchy", "grcar", "minij", "dramadah", "house", "ipjfact"
P1, P2, ..., Pn paramètres dépendants de la famille : scalaires, vecteurs ou matrices qui déterminent la taille et les entrées (par exemplen, vecteursv,x,y, ou indicateurs d'options)
n entier positif spécifiant l'ordre ou la taille de la matrice
v, x, y vecteurs utilisés comme paramètres (par exemple première ligne pour circulante, emplacements des points pour chebvand, ou paramètres de Cauchy)
k option ou petit paramètre entier contrôlant le comportement de la famille (par exemple nombre de superdiagonales pourgrcar ou sélecteurs de variantes pourdramadah)
typename type de données de sortie optionnel : "double" (par défaut) ou "single"
📤Arguments de sortie
Paramètre Description
A1,A2,...,Am une ou plusieurs matrices ou tableaux produits par la famille choisie
A matrice unique ou tableau multidimensionnel lorsque une seule sortie est demandée
v,beta,s Sorties de Householder :v(vecteur),beta(scalaire), et optionnelsretourné par house
beta détérminant ou sortie scalaire pour les familles qui le retournent explicitement (par exempleipjfact retourne le déterminantbeta)
📄Description

La fonctiongallery retourne une collection de matrices de test standard et de données générées utilisées pour illustrer les concepts d'algèbre linéaire numérique, tester des algorithmes et reproduire des exemples de manuels.

Utilisez l'argumentmatrixname pour sélectionner une famille ; les paramètres supplémentaires (tailles, vecteurs, options) dépendent de la famille choisie.

Utilisations typiques : étudier la sensibilité et le conditionnement des valeurs propres, exercer des solveurs avec des matrices structurées (Toeplitz, Hankel, circulante), générer des matrices aléatoires ou spécialement structurées avec des propriétés singulières/valeurs propres prescrites, ou obtenir des exemples canoniques pour l'enseignement et les tests.

Le typename optionnel force le type de sortie numérique.

Si omis, le type de sortie est déduit des entrées : la présence d'une entréesingledonne lieu àsingle, sinon les sorties sontdouble.

Nom Syntaxe Remarques
gallery(3) A = gallery(3) Exemple classique 3×3 mal conditionné ; illustre la sensibilité des valeurs propres.
gallery(5) A = gallery(5) Exemple 5×5 avec polynôme caractéristique exact \(\lambda^5=0\) ; numériquement les valeurs propres sont petites et sensibles.
circul A = gallery("circul", v) Matrice circulante : les lignes sont des décalages cycliques dev; les valeurs propres sont la DFT dev.
grcar A = gallery("grcar", n, k) Toeplitz avec -1 sur la sous-diagonale et des 1 sur la diagonale principale et les k sur-diagonales ; utile pour des exemples de pseudospectres.
minij A = gallery("minij", n) Matrice symétrique définie positive avecA(i,j)=min(i,j); l'inverse est tridiagonal (structure de différence seconde).
dramadah A = gallery("dramadah", n, k) Familles binaires (0/1) ; certains k donnent des matrices de Toeplitz unimodulaires dont l'inverse est entière.
house [v,beta] = gallery("house", x) Retourne le vecteur de Householdervet le scalairebetatels queH=I-beta*v*v' reflète x sur un multiple de e1.
binomial A = gallery("binomial", n) Matrice binomiale avec A^2 = 2^(n-1) I ; la matrice mise à l'échelle est involutive.
cauchy A = gallery("cauchy", x, y) Matrice de CauchyA(i,j)=1/(x(i)+y(j)); des formules explicites pour le déterminant et l'inverse existent.
ris A = gallery("ris", n) Matrice Hankel symétrique avec éléments 0.5/(n-i-j+1.5) ; les valeurs propres se regroupent près de ±π/2.
chebspec A = gallery("chebspec", n, k) Matrice de différenciation spectrale de Chebyshev. k=0 donne une forme nilpotente ; k=1 donne un opérateur non singulier, bien conditionné.
wilk gallery("wilk", m) Exemples de Wilkinson (petits systèmes triangulaires, W21+, etc.) illustrant des problèmes de stabilité.
sampling A = gallery("sampling", x) Matrice non symétrique avec valeurs propres entières 0..n-1 ; les vecteurs propres sont généralement mal conditionnés.
ipjfact [A,beta] = gallery("ipjfact", n, k) Matrice Hankel construite à partir de factorielles (ou de leurs réciproques) ; déterminant et inverse connus en forme fermée.
moler A = gallery("moler", n, alpha) Exemple symétrique définie positive produit comme U'*U; peut présenter une petite valeur propre isolée.
lotkin A = gallery("lotkin", n) Matrice de type Hilbert avec première ligne de 1 ; extrêmement mal conditionnée, l'inverse a une structure entière.
chebvand A = gallery("chebvand", x) Matrice de type Vandermonde de Chebyshev : A(i,j)=T_{i-1}(x(j)), utile pour l'interpolation spectrale et les bases polynomiales.
lehmer A = gallery("lehmer", n) Matrice de Lehmer avec entrées i/j pour i ≤ j ; symétrique définie positive et mal conditionnée.
💡Exemples
Exemple simple 3×3 mal conditionné
A = gallery(3)
Créer et afficher une matrice circulante
C = gallery("circul",120);
imagesc(C); 
axis square;
colorbar;
🔗Voir aussi
hankelhilbmagicpascaltoeplitz
📚Bibliographie
Voir les références dans Higham, N. J., Accuracy and Stability of Numerical Algorithms pour la galerie des matrices de test.
🕔Historique des versions
Version Description
1.15.0 version initiale
Modifier cette page sur GitHub