Xped
Loading...
Searching...
No Matches
MatrixInterface.hpp
Go to the documentation of this file.
1#ifndef MATRIXINTERFACE_H_
2#define MATRIXINTERFACE_H_
3
4namespace Xped {
5
7{};
8
10{};
11
13{};
14
15#ifdef XPED_USE_ARRAY_MATRIX_LIB
16# define M_MATRIXLIB ArrayMatrixLib
17#elif defined(XPED_USE_EIGEN_MATRIX_LIB)
18# define M_MATRIXLIB EigenMatrixLib
19#elif defined(XPED_USE_CYCLOPS_MATRIX_LIB)
20# define M_MATRIXLIB CyclopsMatrixLib
21#endif
22
23// template <typename Library>
24// struct MatrixInterface
25// {
26// constructor (rows,cols)
27// constructor_with_zeros (rows,cols)
28// constructor with pointer, rows, cols <-- Interchange data with TensorLib!
29
30// resize(rows, cols)
31// rows(), cols()
32
33// initialization
34// setZero
35// setRandom
36// setConstant
37// setIdentity
38// static Identity
39
40// block(r,c,dr,dc) l and r value
41// leftCols
42// topRows
43// head
44// diagonal
45
46// svd
47// qr
48
49// data() <-- Interchange data with TensorLib!
50
51// kroneckerProduct
52
53// print
54
55// operations +, - , *, coefficient-wise
56
57// adjoint
58// };
59
60} // namespace Xped
61
62#if defined XPED_USE_EIGEN_MATRIX_LIB
63# define EIGEN_DENSEBASE_PLUGIN "Xped/Util/EigenPlugins.hpp"
65#elif defined XPED_USE_ARRAY_MATRIX_LIB
67#elif defined XPED_USE_CYCLOPS_MATRIX_LIB
69#else
70# error "You specified an unsupported plain matrix library."
71#endif
72
73#endif
Definition: bench.cpp:62
Definition: MatrixInterface.hpp:10
Definition: MatrixInterface.hpp:13
Definition: MatrixInterface.hpp:7