#include "itkMacro.h"
#include "itkArray.h"
#include "itkArray2D.h"
#include "itkMatrix.h"
#include "itkVector.h"
#include "vnl/vnl_matrix.h"
#include "vnl/vnl_matrix_fixed.h"
#include "vnl/vnl_vector.h"
#include "vnl/vnl_vector_fixed.h"
#include "itk_eigen.h"
#include <ITK_EIGEN(Dense)>
#include <limits>
Go to the source code of this file.
|
| template<typename TReal> |
| Array2D< TReal > | itk::Math::InverseSymmetric (const Array2D< TReal > &A) |
| |
| template<typename TReal> |
| vnl_matrix< TReal > | itk::Math::InverseSymmetric (const vnl_matrix< TReal > &A) |
| |
| template<typename TReal> |
| void | itk::Math::detail::InverseSymmetricLDLTEigen (const TReal *aData, unsigned int n, TReal *invData) |
| |
| template<typename TReal> |
| Array2D< TReal > | itk::Math::SolveSymmetric (const Array2D< TReal > &A, const Array2D< TReal > &B) |
| |
| template<typename TReal> |
| Array< TReal > | itk::Math::SolveSymmetric (const Array2D< TReal > &A, const Array< TReal > &b) |
| |
| template<typename TReal, unsigned int VDim> |
| Vector< TReal, VDim > | itk::Math::SolveSymmetric (const Matrix< TReal, VDim, VDim > &A, const Vector< TReal, VDim > &b) |
| |
| template<typename TReal> |
| vnl_matrix< TReal > | itk::Math::SolveSymmetric (const vnl_matrix< TReal > &A, const vnl_matrix< TReal > &B) |
| |
| template<typename TReal> |
| vnl_vector< TReal > | itk::Math::SolveSymmetric (const vnl_matrix< TReal > &A, const vnl_vector< TReal > &b) |
| |
| template<typename TReal, unsigned int VDim> |
| vnl_vector_fixed< TReal, VDim > | itk::Math::SolveSymmetric (const vnl_matrix_fixed< TReal, VDim, VDim > &A, const vnl_vector_fixed< TReal, VDim > &b) |
| |
| template<typename TReal> |
| void | itk::Math::detail::SolveSymmetricLDLTEigen (const TReal *aData, const TReal *bData, unsigned int n, TReal *xData) |
| |
| template<typename TReal> |
| void | itk::Math::detail::SolveSymmetricMatrixLDLTEigen (const TReal *aData, const TReal *bData, unsigned int n, unsigned int m, TReal *xData) |
| |
◆ ITK_MATH_HAS_SOLVE_SYMMETRIC
| #define ITK_MATH_HAS_SOLVE_SYMMETRIC 1 |
Capability macro. Downstream code selects the Eigen-backed symmetric solve with, e.g.:
#if __has_include(<itkMathLDLT.h>)
#endif
#ifdef ITK_MATH_HAS_SOLVE_SYMMETRIC
#else
x = vnl_cholesky(A.as_ref()).solve(b);
#endif
Array< TReal > SolveSymmetric(const Array2D< TReal > &A, const Array< TReal > &b)
Solve the symmetric linear system A x = b via LDLT, backed by Eigen.
Definition at line 49 of file itkMathLDLT.h.