.. _program_listing_file__tmp_ws_src_eigenpy_include_eigenpy_decompositions_sparse_cholmod_CholmodSimplicialLDLT.hpp: Program Listing for File CholmodSimplicialLDLT.hpp ================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/eigenpy/include/eigenpy/decompositions/sparse/cholmod/CholmodSimplicialLDLT.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright 2024 INRIA */ #ifndef __eigenpy_decomposition_sparse_cholmod_cholmod_simplicial_ldlt_hpp__ #define __eigenpy_decomposition_sparse_cholmod_cholmod_simplicial_ldlt_hpp__ #include "eigenpy/eigenpy.hpp" #include "eigenpy/decompositions/sparse/cholmod/CholmodDecomposition.hpp" #include "eigenpy/utils/scalar-name.hpp" namespace eigenpy { template struct CholmodSimplicialLDLTVisitor : public boost::python::def_visitor< CholmodSimplicialLDLTVisitor > { typedef MatrixType_ MatrixType; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; typedef Eigen::CholmodSimplicialLDLT Solver; template void visit(PyClass &cl) const { cl .def(CholmodBaseVisitor()) .def(bp::init<>(bp::arg("self"), "Default constructor")) .def(bp::init(bp::args("self", "matrix"), "Constructs and performs the LDLT " "factorization from a given matrix.")) ; } static void expose() { static const std::string classname = "CholmodSimplicialLDLT_" + scalar_name::shortname(); expose(classname); } static void expose(const std::string &name) { bp::class_( name.c_str(), "A simplicial direct Cholesky (LDLT) factorization and solver based on " "Cholmod.\n\n" "This class allows to solve for A.X = B sparse linear problems via a " "simplicial LL^T Cholesky factorization using the Cholmod library." "This simplicial variant is equivalent to Eigen's built-in " "SimplicialLDLT class." "Therefore, it has little practical interest. The sparse matrix A must " "be selfadjoint and positive definite." "The vectors or matrices X and B can be either dense or sparse.", bp::no_init) .def(CholmodSimplicialLDLTVisitor()); } }; } // namespace eigenpy #endif // ifndef // __eigenpy_decomposition_sparse_cholmod_cholmod_simplicial_ldlt_hpp__