 
 
 
matrix_norm a deux arguments : une matrice A 
et 1 ou 2 ou inf et par défaut 1.
matrix_norm renvoie la triple norme subordonnée à l1 
(resp l2 ou l∞) si il n’y a pas de second argument ou si le second 
argument est 1 (resp 2 ou inf).
matrix_norm(A) ou matrix_norm(A,1) c’est aussi l1norm(A) ou
colnorm(A),
matrix_norm(A,2) c’est aussi l2norm(A) ou SPECNORM(A) ou
max(SVL(A)),
matrix_norm(A,inf) c’est aussi linfnorm(A) ou rownorm(A).
Pour les différentes normes de vecteurs (voir aussi 6.43.1,
6.43.1 et 6.43.1).
Pour plus de détails sur la triple norme voir le Rappel situé après
les exemples.
On tape :
Puis
ou
ou
ou
On obtient :
En effet max(1+3+4,2+9+5,3+6+6)=16
On tape :
ou
ou
ou
On obtient :
En effet max(SVL(B)) renvoie la plus grande racine carrée des valeurs 
propres de trn(B)*B.
sqrt(proot(pcar(trn(B)*B))) ou sqrt(EIGENVAL(trn(B)*B)) renvoie :
[9.48552308331,0.759394515579,11.2449175989]
On tape :
ou
ou
On obtient :
En effet max(1+2+3,3+9+6,4+5+6)=18
Rappel
En mathématiques, et plus particulièrement en analyse fonctionnelle, une norme 
d’opérateur ou norme subordonnée est une norme définie sur l’espace des 
opérateurs bornés entre deux espaces vectoriels normés. Entre deux tels 
espaces, les opérateurs bornés ne sont autres que les applications linéaires 
continues.
On va considérer ici que les applications linéaires sur des espaces 
vectoriels de dimension finie.
Théorème
 Soient E et F 2 espaces vectoriels normés (de norme ||  ||E et 
||  ||F) de dimension finie et f une application linéaire de E 
dans F.
Alors il existe une constante réelle K tel que pour tout x∈ E on ait :
|| f(x)||F≤ K|| x||E
f est donc lipschitzienne sur E et continue de E dans F.
Définition de la triple norme
D’après ce qui précéde, on a :
pour tout x∈ E si || x||E≤ 1 alors on a || f(x)||F≤ K.
Donc l’ensemble {|| f(x)||F  pour || x||E≤ 1} est une partie 
non vide et majorée de ℝ. Cet ensemble admet donc une borne supérieure 
que l’on appelle la triple norme.
Ainsi 
| |||f ||| = | 
 | || f(x)||F | 
Attention La valeur de ||| f ||| dépend des normes 
|| ||E et || ||F utilisées.
la triple norme est donc une norme subordonnée aux normes de E et F.
Dans le cas où E = F, on choisit usuellement || ||E=|| ||F (même si
ce n’est pas obligatoire).
Pour les normes usuelles, on dispose de formules pratiques : prenons E = ℝn
et f∈ L(E). Notons x=(x1,... ,xn) un vecteur quelconque de ℝn 
et A=(ajk) la matrice de f dans la base canonique. On a alors :
| 
 | 
 | |ajk| | 
| 
 | 
 | |ajk| | 
Démonstration
Soient E=Rn et F=Rp munis de leur base canonique
Soit e1..en est la base canonique de E
Soit aj,k la matrice associée à f dans les bases canoniques de E et F.
Montrons que pour la norme l1norm, la triple norme de A nommée 
ici matrix_norm(A,1) c’est colnorm.
Soit x=∑k(xk*ek)
On a donc :
l1norm(f(x))=l1norm(∑kxk*f(ek))≤ ∑k|xk|*l1norm(f(ek))
l1norm(f(x)) ≤ ∑k|xk|*maxk(l1norm(f(ek)))=l1norm(x)*maxk(∑j|aj,k|)
donc 
matrix_norm(A,1)<=colnorm(A)
Montrons que ce maximum est atteint.
Soit k0 tel que :
maxk(∑j|aj,k|)=∑j|aj,k0|=colnorm(A)
On a alors l1norm(ek0)=1 et l1norm(f(ek0))=∑j|aj,k0|
donc matrix_norm(A,1)=colnorm(A).
Montrons que pour la norme du maximum la triple norme de A nommée ici 
matrix_norm(A,inf) c’est rownorm.
Soit x=∑kxk*ek avec maxk(|xk|)≤ 1
On a :
maxnorm(f(x))=maxnorm(∑kxk*f(ek))=
maxnorm(f(x))=maxj(|∑kxk*ajk|)≤maxj(∑k|xk|*|aj,k|) 
puisque maxk|xk)≤ 1
maxnorm(f(x))≤ maxj(∑k|aj,k|)=colrow(A)
Montrons que ce maximum est atteint.
Soit j0 tel que maxj(∑k|aj,k|)=∑k|aj0,k|=rownorm(A).
Soit xO=∑ksign(aj0,k)*ek alors maxnorm(x0)=1 et
maxnorm(f(x0))=maxj(f(x0))=maxj(|∑ksign(aj0,k)*aj,k|)=
max(∑k|aj0,k|,maxj!=j0(|∑ksign(aj0,k)*aj,k|))
si j!=j0 on a :
|∑ksign(aj0,k)*aj,k)|≤ ∑k|aj,k|≤∑k|aj0,k|
Donc
maxnorm(f(x0))=∑k|aj0,k|=rownorm(A) 
Donc matrix_norm(A,inf)=rownorm(A).
Montrons que pour la norme l2norm, la triple norme de la matrice A
nommée ici matrix_norm(A,2) c’est max(SVL(A)) c’est à dire la 
plus grande racine carrée des valeurs propres de trn(A)*A.
Soit x=∑k(xk*ek)
On a :
l2norm(x)=sqrt(scalar_product(x,x))
0n note
<x,x>=√∑kxk2=scalar_product(x,x) 
l2norm(f(x))=sqrt(scalar_product(A*x,A*x))
On a : <Ax,Ax>=<x,(A)tAx> donc
l2norm(f(x))=sqrt(scalar_product(x,trn(A)*A*x))
La matrice M=trn(A)*A est symétrique donc diagonalisable et ses valeurs 
propres λk sont réelles.
Il existe une matrice B diagonale et P une matrice de passage orthogonale 
(i.e. inv(P)=trn(P)) tels que :
B=tran(P)*M*P i.e. M=trn(A)*A=P*B*trn(P)
On a de plus :
Mvk=λkvk et
 <Avk,Avk>=<vk,Mvk>=<vk,λkvk>=λk<vk,vk>k
Comme <Avk,Avk>≥ 0 on en déduit que
les λk sont positifs.
Donc l2norm(f(x))=sqrt(scalar_product(trn(P)*x,B*trn(P)*x))
Si y=trn(P)*x=(y0...yn−1) on a :
<y,y>=<x,P*trn(P)x>=<x,x>
B*y=∑k λk*yk et <y,B*y>=∑k λk*yk2
Donc :
l2norm(f(x))=√∑k λk*yk2
Or puisque λk>0 on a :
∑k λk*yk2≤ maxk(λk)∑k yk2
et
√λk existe
 et
√∑k yk2=<y,y>=<x,x>=√∑k xk2
Donc :
l2norm(f(x))≤ maxk(√λk)*√∑k xk2
Montrons que ce maximum est atteint.
Soit λm=maxk(λk) et vm le vecteur propre associé.
On a alors :
l2norm(f(vm))= sqrt(scalar_product(A*vm,A*vm))
l2norm(f(vm))= √λm*<vm,vm>=√λm*l2norm(vm).
Donc puisque √λm est la plus 
grande racine carrée des valeurs propres de trn(A)*A, on a :
√λm=max(SVL(A)).
Donc : matrix_norm(A,2)=max(SVL(A))
 
 
