src
decompositions
accelerate.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2024 INRIA
3
*/
4
5
#include "
eigenpy/fwd.hpp
"
6
#include "
eigenpy/decompositions/decompositions.hpp
"
7
8
#include "
eigenpy/decompositions/sparse/accelerate/accelerate.hpp
"
9
10
namespace
eigenpy
{
11
12
void
exposeAccelerate
() {
13
using namespace
Eigen
;
14
15
typedef
Eigen::SparseMatrix<double, Eigen::ColMajor> ColMajorSparseMatrix;
16
// typedef Eigen::SparseMatrix<double,Eigen::RowMajor> RowMajorSparseMatrix;
17
18
bp::enum_<SparseOrder_t>(
"SparseOrder"
)
19
.value(
"SparseOrderUser"
, SparseOrderUser)
20
.value(
"SparseOrderAMD"
, SparseOrderAMD)
21
.value(
"SparseOrderMetis"
, SparseOrderMetis)
22
.value(
"SparseOrderCOLAMD"
, SparseOrderCOLAMD);
23
24
#define EXPOSE_ACCELERATE_DECOMPOSITION(name, doc) \
25
AccelerateImplVisitor<name<ColMajorSparseMatrix> >::expose( \
26
EIGENPY_STRINGIZE(name), doc)
27
28
EXPOSE_ACCELERATE_DECOMPOSITION
(
29
AccelerateLLT,
30
"A direct Cholesky (LLT) factorization and solver based on Accelerate."
);
31
EXPOSE_ACCELERATE_DECOMPOSITION
(AccelerateLDLT,
32
"The default Cholesky (LDLT) factorization "
33
"and solver based on Accelerate."
);
34
EXPOSE_ACCELERATE_DECOMPOSITION
(
35
AccelerateLDLTUnpivoted,
36
"A direct Cholesky-like LDL^T factorization and solver based on "
37
"Accelerate with only 1x1 pivots and no pivoting."
);
38
EXPOSE_ACCELERATE_DECOMPOSITION
(
39
AccelerateLDLTSBK,
40
"A direct Cholesky (LDLT) factorization and solver based on Accelerate "
41
"with Supernode Bunch-Kaufman and static pivoting."
);
42
EXPOSE_ACCELERATE_DECOMPOSITION
(
43
AccelerateLDLTTPP,
44
"A direct Cholesky (LDLT) factorization and solver based on Accelerate "
45
"with full threshold partial pivoting."
);
46
EXPOSE_ACCELERATE_DECOMPOSITION
(
47
AccelerateQR,
"A QR factorization and solver based on Accelerate."
);
48
EXPOSE_ACCELERATE_DECOMPOSITION
(
49
AccelerateCholeskyAtA,
50
"A QR factorization and solver based on Accelerate without storing Q "
51
"(equivalent to A^TA = R^T R)."
);
52
}
53
}
// namespace eigenpy
Eigen
Definition:
complex.cpp:7
fwd.hpp
eigenpy
Definition:
alignment.hpp:14
decompositions.hpp
EXPOSE_ACCELERATE_DECOMPOSITION
#define EXPOSE_ACCELERATE_DECOMPOSITION(name, doc)
eigenpy::exposeAccelerate
void exposeAccelerate()
Definition:
accelerate.cpp:12
accelerate.hpp
eigenpy
Author(s): Justin Carpentier, Nicolas Mansard
autogenerated on Sat Nov 2 2024 02:14:45