Imported Upstream version 1.51.0
[platform/upstream/boost.git] / libs / numeric / ublas / doc / types_overview.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta name="generator" content=
6 "HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
7 <meta name="GENERATOR" content="Quanta Plus" />
8 <link rel="stylesheet" href="../../../../boost.css" type="text/css"/>
9 <link rel="stylesheet" href="ublas.css" type="text/css" />
10 <script type="text/javascript" src="js/jquery-1.3.2.min.js" async="async" ></script>
11 <script type="text/javascript" src="js/jquery.toc-gw.js" async="async" ></script>
12 <title>Types Overview</title>
13 </head>
14 <body>
15 <h1><img src="../../../../boost.png" align="middle" />Overview of Matrix- and Vector-Types </h1>
16 <div class="toc" id="toc"></div>
17
18 <dl>
19 <dt>Contents:</dt>
20 <dd><a href="#vectors">Vectors</a></dd>
21 <dd><a href="#vector_proxies">Vector Proxies</a></dd>
22 <dd><a href="#matrices">Matrices</a></dd>
23 <dd><a href="#matrix_proxies">Matrix Proxies</a></dd>
24 <dd><a href="#storage_layout">Special Storage Layouts</a></dd>
25 </dl>
26
27
28 <h2>Notation</h2>
29
30 <table style="border: none;" summary="notation">
31 <tr><td><code>T</code></td> 
32 <td>is the data type. For general linear algebra operations this will be a real type e.g. <code>double</code>, ...</td></tr>
33 <tr><td><code>F</code></td> 
34 <td>is the orientation type (functor), either
35 <code>row_major</code> or <code>column_major</code></td></tr>
36 <tr><td><code>A, IA, TA</code></td> <td>is an array storage type, e.g. <code>std::vector,
37 bounded_array, unbounded_array, ...</code></td></tr>
38 <tr><td><code>TRI</code></td> 
39 <td>is a triangular functor: <code>lower,
40 unit_lower, strict_lower, upper, unit_upper,
41 strict_upper</code></td></tr>
42 <tr><td><code>M, N</code></td> 
43 <td>are unsigned integer sizes 
44 (<code>std::size_t</code>)</td></tr>
45 <tr><td><code>IB</code></td> 
46 <td>is an index base
47 (<code>std::size_t</code>)</td></tr>
48 <tr><td><code>VEC</code></td> 
49 <td>is any vector type</td></tr>
50 <tr><td><code>MAT</code> </td>
51 <td>is any matrix type</td></tr>
52 <tr><td><code>[...]</code></td> 
53 <td>denote optional arguments - for more details
54 look at the section "storage layout".</td></tr>
55 </table>
56
57 <h2><a id="vectors">Vectors</a></h2>
58 <table border="1" summary="vector types">
59 <thead>
60 <tr>
61 <th width="30%">Definition</th>
62 <th>Description</th>
63 </tr>
64 </thead>
65 <tbody>
66 <tr>
67 <td><code>vector&lt;T [, A]&gt;<br />&nbsp;&nbsp; v(size);</code></td>
68 <td>a dense vector of values of type <code>T</code> of variable
69 size. A storage type <code>A</code> can be specified
70 which defaults to <code>unbounded_array</code>.
71 Elements are constructed by <code>A</code>, which need not initialise their value.</td>
72
73 </tr>
74 <tr>
75 <td><code>bounded_vector&lt;T, N&gt;<br />&nbsp;&nbsp; v;</code></td>
76 <td>a dense vector of values of type <code>T</code> of variable size but with maximum
77 <code>N</code>. The default constructor creates <code>v</code>
78 with size <code>N</code>.
79 Elements are constructed by the storage type <code>bounded_array</code>, which need not initialise their value.</td>
80 </tr>
81 <tr>
82 <td><code>c_vector&lt;T, M&gt;<br />&nbsp;&nbsp; v(size);</code></td>
83 <td>a dense vector of values of type <code>T</code> with the given size.
84 The data is stored as an ordinary C++ array <code>T
85 data_[M]</code></td>
86 </tr>
87 <tr>
88 <td><code>zero_vector&lt;T&gt;<br />&nbsp;&nbsp; v(size);</code></td>
89 <td>the zero vector of type <code>T</code> with the given
90 size.</td>
91 </tr>
92 <tr>
93 <td><code>unit_vector&lt;T&gt;<br />&nbsp;&nbsp; v(size,&nbsp;index);</code></td>
94 <td>the unit vector of type <code>T</code> with the given size. The
95 vector is zero other then a single specified element.
96 <br/><code>index</code> should be less than <code>size</code>.</td>
97 </tr>
98 <tr>
99 <td><code>mapped_vector&lt;T [, S]&gt;<br />&nbsp;&nbsp; v(size);</code></td>
100 <td>a sparse vector of values of type <code>T</code> of variable
101 size. The sparse storage type <code>S</code> can be <code>std::map&lt;size_t,
102 T&gt;</code> or <code>map_array&lt;size_t, T&gt;</code>.</td>
103 </tr>
104 <tr>
105 <td><code>compressed_vector&lt;T [,IB, IA, TA]&gt;<br />&nbsp;&nbsp; v(size);</code></td>
106 <td>a sparse vector of values of type <code>T</code> of variable
107 size. The non zero values are stored as two seperate arrays - an
108 index array and a value array. The index array is always sorted and
109 there is at most one entry for each index.</td>
110 </tr>
111 <tr>
112 <td><code>coordinate_vector&lt;T [,IB, IA, TA]&gt;<br />&nbsp;&nbsp; v(size);</code></td>
113 <td>a sparse vector of values of type <code>T</code> of variable
114 size. The non zero values are stored as two seperate arrays - an
115 index array and a value array. The arrays may be out of order with
116 multiple entries for each vector element. If there are multiple
117 values for the same index the sum of these values is the real
118 value.</td>
119 </tr>
120 </tbody>
121 </table>
122 <p><em>Note:</em> the default types are defined in
123 <code>boost/numeric/ublas/fwd.hpp</code>.</p>
124
125 <h2><a id="vector_proxies">Vector Proxies</a></h2>
126
127 <table border="1" summary="vector proxies">
128 <thead>
129 <tr>
130 <th width="30%">Definition</th>
131 <th>Description</th>
132 </tr>
133 </thead>
134 <tbody>
135 <tr>
136 <td><code>vector_range&lt;VEC&gt;<br />&nbsp;&nbsp; vr(v, range);</code></td>
137 <td>a vector referencing a continuous subvector of elements of
138 vector <code>v</code> containing all elements specified by
139 <code>range</code>.</td>
140 </tr>
141 <tr>
142 <td><code>vector_slice&lt;VEC&gt;<br />&nbsp;&nbsp; vs(v, slice);</code></td>
143 <td>a vector referencing a non continuous subvector of elements of
144 vector <code>v</code> containing all elements specified by
145 <code>slice</code>.</td>
146 </tr>
147 <tr>
148 <td><code>matrix_row&lt;MAT&gt;<br />&nbsp;&nbsp; vr(m, index);</code></td>
149 <td>a vector referencing the <code>index</code>-th row of matrix
150 <code>m</code></td>
151 </tr>
152 <tr>
153 <td><code>matrix_column&lt;MAT&gt;<br />&nbsp;&nbsp; vc(m, index);</code></td>
154 <td>a vector referencing the <code>index</code>-th column of matrix
155 <code>m</code></td>
156 </tr>
157 </tbody>
158 </table>
159
160 <h2><a id="matrices">Matrices</a></h2>
161
162 <table border="1" summary="matrix types">
163 <thead>
164 <tr>
165 <th width="30%">Definition</th>
166 <th>Description</th>
167 </tr>
168 </thead>
169 <tbody>
170 <tr>
171 <td><code>matrix&lt;T [, F, A]&gt;<br />&nbsp;&nbsp; m(size1, size2);</code></td>
172 <td>a dense matrix of values of type <code>T</code> of variable
173 size.  A storage type <code>A</code> can be specified
174 which defaults to <code>unbounded_array</code>.
175 The orientation functor <code>F</code> defaults to
176 <code>row_major</code>.
177 Elements are constructed by <code>A</code>, which need not initialise their value.</td>
178 </tr>
179 <tr>
180 <td><code>bounded_matrix&lt;T, M, N [, F]&gt;<br />&nbsp;&nbsp; m;</code></td>
181 <td>a dense matrix of type <code>T</code> with variable size with maximum <code>M</code>-by-<code>N</code>. The orientation functor <code>F</code>
182 defaults to <code>row_major</code>. The default constructor creates
183 <code>m</code> with size <code>M</code>-by-<code>N</code>.
184 Elements are constructed by the storage type <code>bounded_array</code>, which need not initialise their value.</td>
185 </tr>
186 <tr>
187 <td><code>c_matrix&lt;T, M, N&gt;<br />&nbsp;&nbsp; m(size1, size2);</code></td>
188 <td>a dense matrix of values of type <code>T</code> with the given size.
189 The data is stored as an ordinary C++ array <code>T
190 data_[N][M]</code></td>
191 </tr>
192 <tr>
193 <td><code>vector_of_vector&lt;T [, F, A]&gt;<br />&nbsp;&nbsp; m(size1,
194 size2);</code></td>
195 <td>a dense matrix of values of type <code>T</code> with the given size.
196 The data is stored as a vector of vectors. The orientation
197 <code>F</code> defaults to <code>row_major</code>. The storage
198 type <code>S</code> defaults to
199 <code>unbounded_array&lt;unbounded_array&lt;T&gt;&nbsp;&gt;</code></td>
200 </tr>
201 <tr>
202 <td><code>zero_matrix&lt;T&gt;<br />&nbsp;&nbsp; m(size1, size2);</code></td>
203 <td>a zero matrix of type <code>T</code> with the given size.</td>
204 </tr>
205 <tr>
206 <td><code>identity_matrix&lt;T&gt;<br />&nbsp;&nbsp; m(size1, size2);</code></td>
207 <td>an identity matrix of type <code>T</code> with the given size.
208 The values are <code>v(i,j) = (i==j)?T(1):T()</code>.</td>
209 </tr>
210 <tr>
211 <td><code>scalar_matrix&lt;T&gt;<br />&nbsp;&nbsp; m(size1, size2,
212 value);</code></td>
213 <td>a matrix of type <code>T</code> with the given size that has the
214 value <code>value</code> everywhere.</td>
215 </tr>
216 <tr>
217 <td><code>triangular_matrix&lt;T [, TRI, F, A]&gt;<br />&nbsp;&nbsp;
218 m(size);</code></td>
219 <td>a triangular matrix of values of type <code>T</code> of
220 variable size. Only the nonzero elements are stored in the given
221 order <code>F</code>. ("triangular packed storage") The triangular
222 type <code>F</code> defaults to <code>lower</code>, the orientation
223 type <code>F</code> defaults to <code>row_major</code>.</td>
224 </tr>
225 <tr>
226 <td><code>banded_matrix&lt;T [, F, A]&gt;<br />&nbsp;&nbsp; m(size1, size2, n_lower,
227 n_upper);</code></td>
228 <td>a banded matrix of values of type <code>T</code> of variable
229 size with <code>n_lower</code> sub diagonals and
230 <code>n_upper</code> super diagonals. Only the nonzero elements are
231 stored in the given order <code>F</code>. ("packed storage")</td>
232 </tr>
233 <tr>
234 <td><code>symmetric_matrix&lt;T [, TRI, F, A]&gt;<br />&nbsp;&nbsp;
235 m(size);</code></td>
236 <td>a symmetric matrix of values of type <code>T</code> of
237 variable size. Only the given triangular matrix is stored in the
238 given order <code>F</code>.</td>
239 </tr>
240 <tr>
241 <td><code>hermitian_matrix&lt;T [, TRI, F, A]&gt;<br />&nbsp;&nbsp;
242 m(size);</code></td>
243 <td>a hermitian matrix of values of type <code>T</code> of
244 variable size. Only the given triangular matrix is stored using
245 the order <code>F</code>.</td>
246 </tr>
247 <tr>
248 <td><code>mapped_matrix&lt;T, [F, S]&gt;<br />&nbsp;&nbsp; m(size1, size2 [,
249 non_zeros]);</code></td>
250 <td>a sparse matrix of values of type <code>T</code> of variable
251 size. The sparse storage type <code>S</code> can be either <code>std::map&lt;size_t,
252 std::map&lt;size_t, T&gt;&nbsp;&gt;</code> or
253 <code>map_array&lt;size_t, map_array&lt;size_t,
254 T&gt;&nbsp;&gt;</code>.</td>
255 </tr>
256 <tr>
257 <td><code>sparse_vector_of_sparse_vector&lt;T, [F, C]&gt;<br />&nbsp;&nbsp; m(size1,
258 size2 [, non_zeros]);</code></td>
259 <td>a sparse matrix of values of type <code>T</code> of variable
260 size.</td>
261 </tr>
262 <tr>
263 <td><code>compressed_matrix&lt;T, [F, IB, IA, TA]&gt;<br />&nbsp;&nbsp; m(size1,
264 size2 [, non_zeros]);</code></td>
265 <td>a sparse matrix of values of type <code>T</code> of variable
266 size. The values are stored in compressed row/column storage.</td>
267 </tr>
268 <tr>
269 <td><code>coordinate_matrix&lt;T, [F, IB, IA, TA]&gt;<br />&nbsp;&nbsp; m(size1,
270 size2 [, non_zeros]);</code></td>
271 <td>a sparse matrix of values of type <code>T</code> of variable
272 size. The values are stored in 3 parallel array as triples (i, j,
273 value). More than one value for each pair of indices is possible,
274 the real value is the sum of all.</td>
275 </tr>
276 <tr>
277 <td><code>generalized_vector_of_vector&lt;T, F, A&gt;<br />&nbsp;&nbsp; m(size1,
278 size2 [, non_zeros]);</code></td>
279 <td>a sparse matrix of values of type <code>T</code> of variable
280 size. The values are stored as a vector of sparse vectors, e.g.
281 <code>generalized_vector_of_vector&lt;double, row_major,
282 unbounded_array&lt;coordinate_vector&lt;double&gt;&nbsp;&gt;&nbsp;&gt;</code></td>
283 </tr>
284 </tbody>
285 </table>
286 <p><em>Note:</em> the default types are defined in
287 <code>boost/numeric/ublas/fwd.hpp</code>.</p>
288
289 <h2><a id="matrix_proxies">Matrix Proxies</a></h2>
290
291 <table border="1" summary="matrix proxies">
292 <thead>
293 <tr>
294 <th width="30%">Definition</th>
295 <th>Description</th>
296 </tr>
297 </thead>
298 <tbody>
299 <tr>
300 <td><code>triangular_adaptor&lt;MAT, TRI&gt;<br />&nbsp;&nbsp; ta(m);</code></td>
301 <td>a triangular matrix referencing a selection of elements of the
302 matrix <code>m</code>.</td>
303 </tr>
304 <tr>
305 <td><code>symmetric_adaptor&lt;MAT, TRI&gt;<br />&nbsp;&nbsp; sa(m);</code></td>
306 <td>a symmetric matrix referencing a selection of elements of the
307 matrix <code>m</code>.</td>
308 </tr>
309 <tr>
310 <td><code>hermitian_adaptor&lt;MAT, TRI&gt;<br />&nbsp;&nbsp; ha(m);</code></td>
311 <td>a hermitian matrix referencing a selection of elements of the
312 matrix <code>m</code>.</td>
313 </tr>
314 <tr>
315 <td><code>banded_adaptor&lt;MAT&gt;<br />&nbsp;&nbsp; ba(m, n_lower,
316 n_upper);</code></td>
317 <td>a banded matrix referencing a selection of elements of the
318 matrix <code>m</code>.</td>
319 </tr>
320 <tr>
321 <td><code>matrix_range&lt;MAT, TRI&gt;<br />&nbsp;&nbsp; mr(m, range1,
322 range2);</code></td>
323 <td>a matrix referencing a submatrix of elements in the matrix
324 <code>m</code>.</td>
325 </tr>
326 <tr>
327 <td><code>matrix_slice&lt;MAT, TRI&gt;<br />&nbsp;&nbsp; ms(m, slice1,
328 slice2);</code></td>
329 <td>a matrix referencing a non continues submatrix of elements in
330 the matrix <code>m</code>.</td>
331 </tr>
332 </tbody>
333 </table>
334
335
336
337 <h2><a id="storage_layout">Special Storage Layouts</a></h2>
338
339
340 <p>The library supports conventional dense, packed and basic sparse
341 vector and matrix storage layouts. The description of the most
342 common constructions of vectors and matrices comes next.</p>
343
344 <table border="1" summary="storage layouts">
345 <tbody>
346 <tr>
347 <th width="30%">Construction</th>
348 <th>Comment</th>
349 </tr>
350 <tr>
351 <td><code>vector&lt;T,<br />
352 &nbsp;std::vector&lt;T&gt; &gt;<br />
353 &nbsp;&nbsp;v (size)</code></td>
354 <td>a dense vector, storage is provided by a standard
355 vector.<br />
356 The storage layout usually is BLAS compliant.</td>
357 </tr>
358 <tr>
359 <td><code>vector&lt;T,<br />
360 &nbsp;unbounded_array&lt;T&gt; &gt;<br />
361 &nbsp;&nbsp;v (size)</code></td>
362 <td>a dense vector, storage is provided by a heap-based
363 array.<br />
364 The storage layout usually is BLAS compliant.</td>
365 </tr>
366 <tr>
367 <td><code>vector&lt;T,<br />
368 &nbsp;bounded_array&lt;T, N&gt; &gt;<br />
369 &nbsp;&nbsp;v (size)</code></td>
370 <td>a dense vector, storage is provided by a stack-based
371 array.<br />
372 The storage layout usually is BLAS compliant.</td>
373 </tr>
374 <tr>
375 <td><code>mapped_vector&lt;T,<br />
376 &nbsp;std::map&lt;std::size_t, T&gt; &gt;<br />
377 &nbsp;&nbsp;v (size, non_zeros)</code></td>
378 <td>a sparse vector, storage is provided by a standard
379 map.</td>
380 </tr>
381 <tr>
382 <td><code>mapped_vector&lt;T,<br />
383 &nbsp;map_array&lt;std::size_t, T&gt; &gt;<br />
384 &nbsp;&nbsp;v (size, non_zeros)</code></td>
385 <td>a sparse vector, storage is provided by a map
386 array.</td>
387 </tr>
388 <tr>
389 <td><code>matrix&lt;T,<br />
390 &nbsp;row_major,<br />
391 &nbsp;std::vector&lt;T&gt; &gt;<br />
392 &nbsp;&nbsp;m (size1, size2)</code></td>
393 <td>a dense matrix, orientation is row major, storage is
394 provided by a standard vector.</td>
395 </tr>
396 <tr>
397 <td><code>matrix&lt;T,<br />
398 &nbsp;column_major,<br />
399 &nbsp;std::vector&lt;T&gt; &gt;<br />
400 &nbsp;&nbsp;m (size1, size2)</code></td>
401 <td>a dense matrix, orientation is column major, storage
402 is provided by a standard vector.<br />
403 The storage layout usually is BLAS compliant.</td>
404 </tr>
405 <tr>
406 <td><code>matrix&lt;T,<br />
407 &nbsp;row_major,<br />
408 &nbsp;unbounded_array&lt;T&gt; &gt;<br />
409 &nbsp;&nbsp;m (size1, size2)</code></td>
410 <td>a dense matrix, orientation is row major, storage is
411 provided by a heap-based array.</td>
412 </tr>
413 <tr>
414 <td><code>matrix&lt;T,<br />
415 &nbsp;column_major,<br />
416 &nbsp;unbounded_array&lt;T&gt; &gt;<br />
417 &nbsp;&nbsp;m (size1, size2)</code></td>
418 <td>a dense matrix, orientation is column major, storage
419 is provided by a heap-based array.<br />
420 The storage layout usually is BLAS compliant.</td>
421 </tr>
422 <tr>
423 <td><code>matrix&lt;T,<br />
424 &nbsp;row_major,<br />
425 &nbsp;bounded_array&lt;T, N1 * N2&gt; &gt;<br />
426 &nbsp;&nbsp;m (size1, size2)</code></td>
427 <td>a dense matrix, orientation is row major, storage is
428 provided by a stack-based array.</td>
429 </tr>
430 <tr>
431 <td><code>matrix&lt;T,<br />
432 &nbsp;column_major,<br />
433 &nbsp;bounded_array&lt;T, N1 * N2&gt; &gt;<br />
434 &nbsp;&nbsp;m (size1, size2)</code></td>
435 <td>a dense matrix, orientation is column major, storage
436 is provided by a stack-based array.<br />
437 The storage layout usually is BLAS compliant.</td>
438 </tr>
439 <tr>
440 <td><code>triangular_matrix&lt;T,<br />
441 &nbsp;row_major, F, A&gt;<br />
442 &nbsp;&nbsp;m (size)</code></td>
443 <td>a packed triangular matrix, orientation is row
444 major.</td>
445 </tr>
446 <tr>
447 <td><code>triangular_matrix&lt;T,<br />
448 &nbsp;column_major, F, A&gt;<br />
449 &nbsp;&nbsp;m (size)</code></td>
450 <td>a packed triangular matrix, orientation is column
451 major.<br />
452 The storage layout usually is BLAS compliant.</td>
453 </tr>
454 <tr>
455 <td><code>banded_matrix&lt;T,<br />
456 &nbsp;row_major, A&gt;<br />
457 &nbsp;&nbsp;m (size1, size2, lower, upper)</code></td>
458 <td>a packed banded matrix, orientation is row
459 major.</td>
460 </tr>
461 <tr>
462 <td><code>banded_matrix&lt;T,<br />
463 &nbsp;column_major, A&gt;<br />
464 &nbsp;&nbsp;m (size1, size2, lower, upper)</code></td>
465 <td>a packed banded matrix, orientation is column
466 major.<br />
467 The storage layout usually is BLAS compliant.</td>
468 </tr>
469 <tr>
470 <td><code>symmetric_matrix&lt;T,<br />
471 &nbsp;row_major, F, A&gt;<br />
472 &nbsp;&nbsp;m (size)</code></td>
473 <td>a packed symmetric matrix, orientation is row
474 major.</td>
475 </tr>
476 <tr>
477 <td><code>symmetric_matrix&lt;T,<br />
478 &nbsp;column_major, F, A&gt;<br />
479 &nbsp;&nbsp;m (size)</code></td>
480 <td>a packed symmetric matrix, orientation is column
481 major.<br />
482 The storage layout usually is BLAS compliant.</td>
483 </tr>
484 <tr>
485 <td><code>hermitian_matrix&lt;T,<br />
486 &nbsp;row_major, F, A&gt;<br />
487 &nbsp;&nbsp;m (size)</code></td>
488 <td>a packed hermitian matrix, orientation is row
489 major.</td>
490 </tr>
491 <tr>
492 <td><code>hermitian_matrix&lt;T,<br />
493 &nbsp;column_major, F, A&gt;<br />
494 &nbsp;&nbsp;m (size)</code></td>
495 <td>a packed hermitian matrix, orientation is column
496 major.<br />
497 The storage layout usually is BLAS compliant.</td>
498 </tr>
499 <tr>
500 <td><code>mapped_matrix&lt;T,<br />
501 &nbsp;row_major,<br />
502 &nbsp;std::map&lt;std::size_t, T&gt; &gt;<br />
503 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
504 <td>a sparse matrix, orientation is row major, storage
505 is provided by a standard map.</td>
506 </tr>
507 <tr>
508 <td><code>mapped_matrix&lt;T,<br />
509 &nbsp;column_major,<br />
510 &nbsp;std::map&lt;std::size_t, T&gt; &gt;<br />
511 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
512 <td>a sparse matrix, orientation is column major,
513 storage is provided by a standard map.</td>
514 </tr>
515 <tr>
516 <td><code>mapped_matrix&lt;T,<br />
517 &nbsp;row_major,<br />
518 &nbsp;map_array&lt;std::size_t, T&gt; &gt;<br />
519 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
520 <td>a sparse matrix, orientation is row major, storage
521 is provided by a map array.</td>
522 </tr>
523 <tr>
524 <td><code>mapped_matrix&lt;T,<br />
525 &nbsp;column_major,<br />
526 &nbsp;map_array&lt;std::size_t, T&gt; &gt;<br />
527 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
528 <td>a sparse matrix, orientation is column major,
529 storage is provided by a map array.</td>
530 </tr>
531 <tr>
532 <td><code>compressed_matrix&lt;T,<br />
533 &nbsp;row_major&gt;<br />
534 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
535 <td>a compressed matrix, orientation is row major.<br />
536 The storage layout usually is BLAS compliant.</td>
537 </tr>
538 <tr>
539 <td><code>compressed_matrix&lt;T,<br />
540 &nbsp;column_major&gt;<br />
541 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
542 <td>a compressed matrix, orientation is column
543 major.<br />
544 The storage layout usually is BLAS compliant.</td>
545 </tr>
546 <tr>
547 <td><code>coordinate_matrix&lt;T,<br />
548 &nbsp;row_major&gt;<br />
549 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
550 <td>a coordinate matrix, orientation is row major.<br />
551 The storage layout usually is BLAS compliant.</td>
552 </tr>
553 <tr>
554 <td><code>coordinate_matrix&lt;T,<br />
555 &nbsp;column_major&gt;<br />
556 &nbsp;&nbsp;m (size1, size2, non_zeros)</code></td>
557 <td>a coordinate matrix, orientation is column
558 major.<br />
559 The storage layout usually is BLAS compliant.</td>
560 </tr>
561 </tbody>
562 </table>
563
564 <hr />
565 <p>Copyright (&copy;) 2000-2004 Joerg Walter, Mathias Koch, Gunter
566 Winkler, Michael Stevens<br />
567    Use, modification and distribution are subject to the
568    Boost Software License, Version 1.0.
569    (See accompanying file LICENSE_1_0.txt
570    or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
571       http://www.boost.org/LICENSE_1_0.txt
572    </a>).
573 </p>
574 <script type="text/javascript">
575 (function($) {
576     $('#toc').toc();
577 })(jQuery);
578 </script>
579 </body>
580 </html>