#include <vector.h>
A multivector view is a wrapper around a conventional linearized dense matrix representation. The view abstracts these implementation details:
In addition, we maintain two redundant parameters: the row element distance and column element distance. The row element distance is the number of array elements between A(i, j) and A(i+1, j). Similarly, the column element distance is the distance between A(i, j) and A(i, j+1).
For instance, a matrix stored in row major layout with stride L has a row distance of L and a column distance of 1.
Data Fields | |
oski_index_t | num_rows |
Number of logical rows. | |
oski_index_t | num_cols |
Number of logical columns. | |
oski_storage_t | orient |
Row- or column-major layout. | |
oski_index_t | stride |
Leading dimension. | |
oski_index_t | rowinc |
Distance in elements between rows. | |
oski_index_t | colinc |
Distance in elements between columns. | |
oski_value_t * | val |
Matrix storage. |