Chapitre 8. Math´ ematiques de base
347
Astuce
La fonction outer() permet des op´ erations plus g´ en´ erales que le produit de termes. Ainsi, l’appel de la commande outer(x,y,FUN=f) sur les
vecteurs x = (x 1 , . . . , x n )
T , y = (y 1 , . . . , y n )
T via la fonction f (x, y) produit la
matrice suivante :
⎛
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
f (x 1 , y 1 )
· · ·
f (x 1 , y n )
. . .
f (x i , y j )
. . .
f (x n , y 1 )
· · ·
f (x n , y n )
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
.
8.2.3 Produit de Kronecker
Si A est une matrice m × n et B une matrice p × q, alors le produit
de Kronecker de la matrice A par la matrice B est la matrice A ⊗ B =
⎡
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣
a 11 B · · · a 1n B
. . .
. . .
. . .
a m1 B · · · a mn B
⎤
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
de taille mp × nq.
> kronecker(A,B)
[,1] [,2] [,3] [,4]
[1,]
2
4
5
10
[2,]
4
14
10
35
[3,]
3
6
4
8
[4,]
6
21
8
28
8.2.4 Matrices triangulaires
Il est parfois utile de r´ ecup´ erer les sous-matrices triangulaires inf´ erieure et
sup´ erieure d’une matrice. Cela est possible au moyen des fonctions lower.tri()
et upper.tri().
> M <- matrix(1:16,nrow=4)
> lower.tri(M)
[,1] [,2] [,3] [,4]
[1,] FALSE FALSE FALSE FALSE
[2,] TRUE FALSE FALSE FALSE
[3,] TRUE TRUE FALSE FALSE
[4,] TRUE TRUE TRUE FALSE
> upper.tri(M,diag=TRUE)
[,1] [,2] [,3] [,4]
[1,] TRUE TRUE TRUE TRUE
[2,] FALSE TRUE TRUE TRUE
347
Astuce
La fonction outer() permet des op´ erations plus g´ en´ erales que le produit de termes. Ainsi, l’appel de la commande outer(x,y,FUN=f) sur les
vecteurs x = (x 1 , . . . , x n )
T , y = (y 1 , . . . , y n )
T via la fonction f (x, y) produit la
matrice suivante :
⎛
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
f (x 1 , y 1 )
· · ·
f (x 1 , y n )
. . .
f (x i , y j )
. . .
f (x n , y 1 )
· · ·
f (x n , y n )
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
.
8.2.3 Produit de Kronecker
Si A est une matrice m × n et B une matrice p × q, alors le produit
de Kronecker de la matrice A par la matrice B est la matrice A ⊗ B =
⎡
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣
a 11 B · · · a 1n B
. . .
. . .
. . .
a m1 B · · · a mn B
⎤
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
de taille mp × nq.
> kronecker(A,B)
[,1] [,2] [,3] [,4]
[1,]
2
4
5
10
[2,]
4
14
10
35
[3,]
3
6
4
8
[4,]
6
21
8
28
8.2.4 Matrices triangulaires
Il est parfois utile de r´ ecup´ erer les sous-matrices triangulaires inf´ erieure et
sup´ erieure d’une matrice. Cela est possible au moyen des fonctions lower.tri()
et upper.tri().
> M <- matrix(1:16,nrow=4)
> lower.tri(M)
[,1] [,2] [,3] [,4]
[1,] FALSE FALSE FALSE FALSE
[2,] TRUE FALSE FALSE FALSE
[3,] TRUE TRUE FALSE FALSE
[4,] TRUE TRUE TRUE FALSE
> upper.tri(M,diag=TRUE)
[,1] [,2] [,3] [,4]
[1,] TRUE TRUE TRUE TRUE
[2,] FALSE TRUE TRUE TRUE
