5 #ifndef __eigenpy_decompositions_sparse_sparse_solver_base_hpp__
6 #define __eigenpy_decompositions_sparse_sparse_solver_base_hpp__
11 #include <Eigen/SparseCholesky>
15 template <
typename SimplicialDerived>
17 :
public boost::python::def_visitor<
18 SparseSolverBaseVisitor<SimplicialDerived> > {
21 typedef typename SimplicialDerived::MatrixType
MatrixType;
22 typedef typename MatrixType::Scalar
Scalar;
25 typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, MatrixType::Options>
27 typedef Eigen::Matrix<
Scalar, Eigen::Dynamic, Eigen::Dynamic,
31 template <
class PyClass>
33 cl.def(
"solve", &solve<DenseVectorXs>, bp::args(
"self",
"b"),
34 "Returns the solution x of A x = b using the current "
35 "decomposition of A.")
36 .def(
"solve", &solve<DenseMatrixXs>, bp::args(
"self",
"B"),
37 "Returns the solution X of A X = B using the current "
38 "decomposition of A where B is a right hand side matrix.")
40 .def(
"solve", &solve<MatrixType>, bp::args(
"self",
"B"),
41 "Returns the solution X of A X = B using the current "
42 "decomposition of A where B is a right hand side matrix.");
46 template <
typename MatrixOrVector>
48 return self.solve(
vec);
54 #endif // ifndef __eigenpy_decompositions_sparse_sparse_solver_base_hpp__