Creación de la matriz de ejemplo (3×4)

Generamos una matriz \(A \in \mathbb{R}^{3 \times 4}\) con números enteros aleatorios entre \(-5\) y \(5\). Fijamos una semilla para reproducibilidad.

set.seed(2024)  # Semilla (puedes cambiarla)
A <- matrix(sample(-5:5, size = 12, replace = TRUE), nrow = 3, ncol = 4)
dimnames(A) <- list(paste0("fila", 1:3), paste0("col", 1:4))
A
##       col1 col2 col3 col4
## fila1   -4    3    5   -4
## fila2   -1    4   -4    4
## fila3   -5   -4    4   -1

Aplicamos la función svd

descomposicion <- svd(A,nu=3, nv=4)

La función devuelve una lista con tres componentes: - d : vector de valores singulares (orden decreciente) - u : matriz de vectores singulares izquierdos (U) - v : matriz de vectores singulares derechos (V)

Reconstruimos Sigma (matriz diagonal con ceros) del mismo tamaño que A

Sigma <- matrix(0, nrow = nrow(A), ncol = ncol(A))
diag(Sigma) <- descomposicion$d
Sigma
##         [,1]     [,2]     [,3] [,4]
## [1,] 10.6774 0.000000 0.000000    0
## [2,]  0.0000 6.184907 0.000000    0
## [3,]  0.0000 0.000000 4.554133    0

La matriz \(U\)

La función svd() devuelve la matriz \(U\) en el componente $u. Para nuestra matriz de ejemplo \(3 \times 4\), \(U\) es una matriz ortogonal de tamaño \(3 \times 3\).

U <- descomposicion$u
U
##            [,1]       [,2]       [,3]
## [1,]  0.6158682 -0.7512698 -0.2372763
## [2,] -0.4854043 -0.5990458  0.6368098
## [3,]  0.6205554  0.2770160  0.7336029

La matriz \(V\)

La función svd() devuelve la matriz \(V\) en el componente $v. Para nuestra matriz de ejemplo \(3 \times 4\), \(V\) es una matriz ortogonal de tamaño \(4 \times 4\).

V <- descomposicion$v
V
##            [,1]        [,2]       [,3]      [,4]
## [1,] -0.4758506  0.35878390 -0.7368513 0.3192030
## [2,] -0.2412793 -0.93098513 -0.2413195 0.1296762
## [3,]  0.7027162 -0.04076082 -0.1754910 0.6882814
## [4,] -0.4706808  0.05365966  0.6066449 0.6384060

Reconstruir A

A_reconstruida <- U %*% Sigma  %*% t(V)
A_reconstruida
##      [,1] [,2] [,3] [,4]
## [1,]   -4    3    5   -4
## [2,]   -1    4   -4    4
## [3,]   -5   -4    4   -1
A
##       col1 col2 col3 col4
## fila1   -4    3    5   -4
## fila2   -1    4   -4    4
## fila3   -5   -4    4   -1