source: tol/doc/kernel/matrix/tolsparse.txt

devel
Last change on this file was 83a1cc2, checked in by Víctor de Buen <vdebuen@…>, 18 years ago

Unified document directory

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@21 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 3.5 KB
Line 
1----------------------------------------
2Especificacion TOL de una matriz sparse:
3----------------------------------------
4
5Una matriz "sparse" se define mediante un conjunto donde el primer
6elemento especifica un tipo de "sparsidad" y los elementos restantes
7definen los valores distintos de cero:
8
9   {"TYPE", S_1, S_2, ..., S_k}
10
11Se tienen los tipos de matrices "sparse":
12
13  - "IDENT"   : matriz identidad.
14
15  - "DIAG"    : matriz diagonal densa por bloques.
16
17  - "SDIAG"   : matriz diagonal "sparse" por bloques.
18
19  - "ROW"     : matriz fila densa por bloques.
20
21  - "SROW"    : matriz fila "sparse" por bloques.
22
23  - "COL"     : matriz columna densa por bloques.
24
25  - "SCOL"    : matriz columna "sparse" por bloques.
26
27  - "TRIPLET" : matriz rectangular "sparse" por bloque dada por
28                coordenadas de bloques.
29
30La matriz identidad se define con un valor que indica el tamaño de la
31matriz:
32[["IDENT", N]]
33
34La forma de los elementos S_i depende del tipo "sparsidad" "TYPE" y
35hacen
36referencia a submatrices o bloques. Un bloque puede ser:
37
38  - Un valor escalar : Real.
39 
40  - Una matriz densa : Matrix.
41
42  - Una matriz sparse : definicion recursiva.
43
44En adelante una submatriz o bloque se denominara BLOCK. Para cada block
45B,
46m(B) nos da la cantidad de filas del bloque; y n(B), la cantidad de
47columnas
48del bloque. Por simplicidad de notacion se puede usar m_i, n_i para
49denotar la
50cantidad de filas y columnas del bloque i-esimo cuando el referido
51bloque
52quede claro en el contexto.
53
54Especificamos ahora para cada tipo la forma de lo elementos S_i.
55
56"DIAG"
57
58El tipo "DIAG" define una matriz diagonal por bloque que se obtiene al
59concatenar en diagonal cada uno de los bloques S_i. El bloque S_1
60comienza en la coordenada (1,1). Si la diagonal principal de S_i
61termina en las coordenadas (d_i,d_i), d_i = min(m_i,n_i), entonces el
62bloque S_{i+1} comienza en la coordenada (di+1,di+1).
63
64"SDIAG"
65
66El tipo "SDIAG" define una matriz diagonal "sparse" por bloque que se
67obtiene de colocar cada bloque en sus coordenadas diagonal
68especificada. La forma de S_i es {d_i, B_i}. El bloque B_i se coloca a
69partir de las coordenadas (d_i,d_i).
70
71"ROW"
72
73El tipo "ROW" define una matriz fila por bloques que se obtiene de
74concatenar horizontalmente cada uno de los bloques S_i. El bloque S_1
75comienza en la coordenada (1,1). El bloque S_{i+1} comienza en las
76coordenadas (1,n_i +1).
77
78"SROW"
79
80El tipo "SROW" define una matriz fila "sparse" por bloque que se
81obtiene de colocar cada bloque en sus coordenadas de fila
82especificada. La forma de S_i es {n_i, B_i}. El bloque B_i se coloca a
83partir de las coordenadas (1,n_i).
84
85"COL"
86
87El tipo "COL" define una matriz columna por bloques que se obtiene de
88concatenar verticalmente cada uno de los bloques S_i. El bloque S_1
89comienza en la coordenada (1,1). El bloque S_{i+1} comienza en las
90coordenadas (m_i+1,1).
91
92"SCOL"
93
94El tipo "SCOL" define una matriz fila "sparse" por bloque que se obtiene
95de colocar cada bloque en sus coordenadas de columna especificada. La
96forma de
97S_i es {m_i, B_i}. El bloque B_i se coloca a partir de las coordenadas
98(m_i,1).
99
100"TRIPLET"
101
102El tipo "TRIPLET" define una matriz rectangular "sparse" por bloque
103que se obtiene de colocar cada bloque en las coordenadas rectangulares
104especificadas. La forma de S_i es {m_i, n_i, B_i}. El bloque B_i se
105coloca a partir de las coordenadas (m_i, n_i).
106
107
108Set sX = [["diag", 1, 2, 3, 4]];
109Matrix y = Col(1,1,1,1);
110Set reg = SparseLinearRegression(y, sX);
Note: See TracBrowser for help on using the repository browser.