Chapitre 8. Math´ ematiques de base
353
> solve(chol(B))# C’est une version de B
−1/2 .
[,1]
[,2]
[1,]
1 -1.1547005
[2,]
0 0.5773503
8.2.12 D´ ecomposition QR
On cherche ` a ´ ecrire A = QR, o` u Q est une matrice orthogonale (QQ
T
=
Q
T
Q = I ) et R est une matrice triangulaire sup´ erieure.
> res <- qr(A)
> Q <- qr.Q(res)
> Q
[,1]
[,2]
[1,] -0.5547002 -0.8320503
[2,] -0.8320503 0.5547002
> all.equal(I2,Q% * %t(Q)) # I 2 = QQ
T .
[1] TRUE
> R <- qr.R(res)
> R
[,1]
[,2]
[1,] -3.605551 -6.101702
[2,] 0.000000 -1.941451
> all.equal(A,Q% * %R) # A = QR.
[1] TRUE
Astuce
Notez que qr(A,tol=1e-07)$rank renvoie le rang de la matrice stock´ ee
dans A, en utilisant l’argument de tol´ erance tol pour d´ etecter des d´ ependances lin´ eaires dans les colonnes de A.
SECTION 8.3
Int´ egration num´ erique
Le logiciel R sait faire du calcul num´ erique d’int´ egrales ` a l’aide de la fonction integrate().
Quelques exemples permettront d’illustrer simplement l’utilisation de cette
fonction. Ainsi, supposons que l’on veuille v´ erifier num´ eriquement que
∞
−∞
exp(−x
2 /2)
√
2π
dx = 1. Il suffit de proc´ eder de la fa¸ con suivante :
> myf <- function(x) {exp(-x^2/2)/sqrt(2 * pi)}
> integrate(myf,lower=-Inf,upper=Inf)$value
[1] 1
Précédent

- 385/701

Suivant