Programmer en R/Manipuler les matrices
Notion de matrice.
Une matrice est un tableau en deux dimensions dont tous les éléments sont du même type. À l'instar des vecteurs, il ne s'agit pas ici de la notion algébrique de matrice, mais R dispose tout de même des opérateurs matriciels classiques. Pour R, un vecteur n'est pas la même chose qu'une matrice ligne ou colonne.
Initialisation d'une matrice ligne ou colonne.
Une matrice colonne s'obtient avec la commande codice_1 ("row bind", association de lignes) ; une matrice ligne s'obtient avec la commande codice_2 ("column bind", association de colonnes).
> rbind(1 ,2 ,3)
 [,1]
[1,] 1
[2,] 2
[3,] 3
> cbind(1, 2, 3)
 [,1] [,2] [,3]
[1,] 1 2 3
On peut initialiser une matrice avec des éléments tous identiques, avec la commande codice_3 "(replicate)". Par exemple, pour créer des matrices nulles :
> rbind(rep(0, 3))
 [,1] [,2] [,3]
[1,] 0 0 0
> cbind(rep(0, 3))
 [,1]
[1,] 0
[2,] 0
[3,] 0
on remarque que l'utilisation de la commande codice_3 « inverse » le comportement ligne/colonne, puisque codice_5 met en ligne "un seul" élément (qui est un vecteur), et que codice_6 met en colonne "un seul" élément (qui est un vecteur).
Initialisation d'une matrice rectangulaire.
Les matrices sont créées à partir d'un vecteur : les valeurs sont prises une par une pour remplir le tableau, colonne par colonne.
Avec la commande codice_5, on associe plusieurs vecteurs, chaque vecteur étant une ligne du tableau. Avec la commande codice_6, on associe plusieurs vecteurs, chaque vecteur étant une colonne du tableau.
> rbind(c(1, 2, 3), c(4, 5, 6))
 [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
> cbind(c(1, 2, 3), c(4, 5, 6))
 [,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
On utilise également la commande codice_9. L'argument codice_10 (1er argument par défaut) est le vecteur de données, l'argument codice_11 (2e par défaut) indique le nombre de lignes, et l'argument codice_12 (3e par défaut) indique le nombre de colonnes.
> matrix(data = 1:12, nrow = 3, ncol = 4)
 [,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> matrix(1:12, 3, 4)
 [,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
La syntaxe totale de la fonction codice_13 est la suivante :
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
 dimnames = NULL)
Le paramètre codice_10 est un vecteur contenant les éléments de la matrice.
Lorsque le vecteur contient moins d'éléments que la matrice à construire, les données du vecteur sont utilisées plusieurs fois, et lorsqu'il contient plus d'éléments, les éléments en trop sont ignorés.
La dimension de la matrice est déterminée par codice_11 (nombre de lignes) et codice_12 (nombre de colonne).
Lorsque codice_17 vaut codice_18, la matrice est complétée ligne par ligne, dans le cas contraire, colonne par colonne.
> a <- matrix (c(1,2,3,4), 2, 2, byrow=TRUE)
> a
 [,1] [,2]
[1,] 1 2
[2,] 3 4
Pour initialiser une matrice nulle, on peut également utiliser codice_3 :
> n1 <- 3
> n2 <- 3
> a <- matrix (rep(0, n1*n2), n1, n2)
> a
 [,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
[3,] 0 0 0
Accès aux éléments d'une matrice.
De même que pour les vecteurs, les indices vont de 1 à "nrow" et de 1 à "ncol".
> a[2,1]
[1] 3
> a[1,]
[1] 1 2
> a[,1]
[1] 1 3
On peut également, pour les indices, utiliser des vecteurs d'indice, ou bien une matrice booléenne.
> a[c(1, 2), c(3, 4)]
 [,1] [,2]
[1,] 7 10
[2,] 8 11
> indices <- a>5
> indices
 [,1] [,2] [,3] [,4]
[1,] FALSE FALSE TRUE TRUE
[2,] FALSE FALSE TRUE TRUE
[3,] FALSE TRUE TRUE TRUE
> a[indices]
[1] 6 7 8 9 10 11 12
On remarque que la dernière solution renvoie un vecteur et non une matrice.
Enfin, on peut indexer une matrice par un seul indice ; R défile alors les colonnes de haut en bas, et de gauche à droite :
> a
 [,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> a[4]
[1] 4
Le rapport entre l'indice unique "k"et la paire d'indices ("i", "j") est :
Arithmétique des matrices.
Opérations terme à terme.
Il est possible d'additionner codice_26, soustraire codice_27, multiplier codice_28 et diviser des matrices codice_29. Toutes ces opérations sont effectuées entre les coefficients correspondants des matrices. En particulier pour la multiplication, il ne s'agit pas de la multiplication matricielle telle qu'elle est définie en mathématiques, comme le montre l'exemple suivant.
Opérations algébriques.
Soient A et B deux matrices.
La multiplication matricielle s'obtient avec l'opérateur codice_30 :
A %*% B
Cette syntaxe permet également de multiplier un vecteur par une matrice.
Le déterminant s'obtient avec la commande codice_31 :
determinant(A)
La transposition de la matrice A se fait avec
aperm(A)
Si A et B sont des matrices ligne (mais "pas" des vecteurs au sens de R), on peut donc calculer le produit scalaire
A %*% aperm(B)
et si ce sont des matrices colonne, avec
aperm(A) %*% B
et ainsi, la norme d'une matrice ligne ou colonne est
sqrt(A %*% aperm(A))
sqrt(aperm(A) %*% A)
Si A est une matrice régulière (carrée inversible), on a son inverse avec
solve(A)
L'extraction des valeurs et vecteurs propres se fait avec
x = eigen(A)
x$values # valeurs propres
x$vectors # vecteurs propres

Linux VServer
Photographie/Personnalités/B/Félicien Bertall

Félicien Bertall était un photographe français (Paris, France, 1820 - Soyons, France, 1882).

Photographie/Personnalités/B/Hermann Biow

Hermann Biow était un photographe allemand (Breslau, ? avril 1803 - Dresde, 20 Feb 1850), fils du peintre Raphael Biow (1771-1836). Il fut lui-même au début peintre, lithograveur et écrivain.
Herman Biow ouvrit le premier studio photographique à Hambourg en 1841 et travailla avec Carl Ferdinand Stelzner de 1842 à 1843. Une série de 46 daguerréotypes du grand incendie de Hambourg en 1842, qui constitue l'un des premiers reportages connus, lui a été attribuée. Lors de ses voyages dans les grandes villes allemandes comme Berlin, Francfort et Dresde, il prit des portraits de nombreuses personnalités en vue, comme Jakob et Wilhelm Grimm, Alexander von Humboldt (1847) et Friedrich Wilhelm IV, roi de Prusse. En 1848 il photographia les membres de l'Assemblée Nationale de Francfort pour constituer un portfolio contenant des reproductions lithographiques de ses daguerréotypes.
Biow se distingue des autres auteurs de daguerréotypes par les dimensions de ses plaques, qui allaient de 216 x 162 mm à 270 x 320 mm.

Boîte à jeux/Pouilleux
But de jeu.
Se débarrasser de toutes ses cartes, le dernier joueur à avoir le valet de pique, a perdu.
Matériel.
1 jeu de 52 cartes dont on enlève le valet de trèfle. 
Règles.
Les cartes sont toutes distribuées entre les joueurs.
Chaque joueur se défausse de ses paires de cartes de mêmes valeurs et couleurs (rouge : cœur et carreau, ou noir : trèfle et pique).
Les joueurs jouent à tour de rôle en piochant une carte dans la main du joueur à sa gauche sans la montrer aux autres.
Si la carte piochée forme une paire avec une des cartes de sa main, le joueur s'en défausse immédiatement.
C'est ensuite à son voisin de gauche de piocher dans la main de son propre voisin.
La partie continue ainsi jusqu'à ce que toutes les paires aient été défaussées et qu'il ne reste que le "pouilleux", celui qui l'a en main perd la partie.
Variante.
La carte retirée du jeu est tirée au hasard en début de partie, sans que personne ne la voit.
Celui qui perd la partie est donc le seul joueur à qui il reste une carte.
Cette variante ne permet pas de savoir à l'avance quelle carte peut faire perdre la partie.

Photographie/Personnalités/L/John Furley Lewis

John Furley Lewis était un photographe britannique (1867 - 1939).

Photographie/Personnalités/G/Jean-Baptiste Louis Gros

Le Baron Jean-Baptiste Louis Gros était un photographe français (1793 – 1870).

Photographie/Personnalités/C/Lewis Carroll

Lewis Carroll (de son vrai nom Charles Lutwidge Dodgson) était un écrivain, photographe et mathématicien britannique né le 27 janvier 1832 à Daresbury, dans le Cheshire et mort le 14 janvier 1898 à Guildford.