Also fixed some spelling issues in the documentation
This commit is contained in:
Christoph Hertzberg 2013-10-17 00:03:00 +02:00
parent 56f4144035
commit d51c9f1e93

View File

@ -58,10 +58,12 @@ cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat)
res.p = mat.outerIndexPtr(); res.p = mat.outerIndexPtr();
res.i = mat.innerIndexPtr(); res.i = mat.innerIndexPtr();
res.x = mat.valuePtr(); res.x = mat.valuePtr();
res.z = 0;
res.sorted = 1; res.sorted = 1;
if(mat.isCompressed()) if(mat.isCompressed())
{ {
res.packed = 1; res.packed = 1;
res.nz = 0;
} }
else else
{ {
@ -170,6 +172,7 @@ class CholmodBase : internal::noncopyable
CholmodBase() CholmodBase()
: m_cholmodFactor(0), m_info(Success), m_isInitialized(false) : m_cholmodFactor(0), m_info(Success), m_isInitialized(false)
{ {
m_shiftOffset[0] = m_shiftOffset[1] = RealScalar(0.0);
cholmod_start(&m_cholmod); cholmod_start(&m_cholmod);
} }
@ -241,7 +244,7 @@ class CholmodBase : internal::noncopyable
return internal::sparse_solve_retval<CholmodBase, Rhs>(*this, b.derived()); return internal::sparse_solve_retval<CholmodBase, Rhs>(*this, b.derived());
} }
/** Performs a symbolic decomposition on the sparcity of \a matrix. /** Performs a symbolic decomposition on the sparsity pattern of \a matrix.
* *
* This function is particularly useful when solving for several problems having the same structure. * This function is particularly useful when solving for several problems having the same structure.
* *
@ -265,7 +268,7 @@ class CholmodBase : internal::noncopyable
/** Performs a numeric decomposition of \a matrix /** Performs a numeric decomposition of \a matrix
* *
* The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed. * The given matrix must have the same sparsity pattern as the matrix on which the symbolic decomposition has been performed.
* *
* \sa analyzePattern() * \sa analyzePattern()
*/ */
@ -302,7 +305,7 @@ class CholmodBase : internal::noncopyable
{ {
this->m_info = NumericalIssue; this->m_info = NumericalIssue;
} }
// TODO optimize this copy by swapping when possible (be carreful with alignment, etc.) // TODO optimize this copy by swapping when possible (be careful with alignment, etc.)
dest = Matrix<Scalar,Dest::RowsAtCompileTime,Dest::ColsAtCompileTime>::Map(reinterpret_cast<Scalar*>(x_cd->x),b.rows(),b.cols()); dest = Matrix<Scalar,Dest::RowsAtCompileTime,Dest::ColsAtCompileTime>::Map(reinterpret_cast<Scalar*>(x_cd->x),b.rows(),b.cols());
cholmod_free_dense(&x_cd, &m_cholmod); cholmod_free_dense(&x_cd, &m_cholmod);
} }
@ -323,7 +326,7 @@ class CholmodBase : internal::noncopyable
{ {
this->m_info = NumericalIssue; this->m_info = NumericalIssue;
} }
// TODO optimize this copy by swapping when possible (be carreful with alignment, etc.) // TODO optimize this copy by swapping when possible (be careful with alignment, etc.)
dest = viewAsEigen<DestScalar,DestOptions,DestIndex>(*x_cs); dest = viewAsEigen<DestScalar,DestOptions,DestIndex>(*x_cs);
cholmod_free_sparse(&x_cs, &m_cholmod); cholmod_free_sparse(&x_cs, &m_cholmod);
} }
@ -365,8 +368,8 @@ class CholmodBase : internal::noncopyable
* *
* This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization * This class allows to solve for A.X = B sparse linear problems via a simplicial LL^T Cholesky factorization
* using the Cholmod library. * using the Cholmod library.
* This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Thefore, it has little practical interest. * This simplicial variant is equivalent to Eigen's built-in SimplicialLLT class. Therefore, it has little practical interest.
* The sparse matrix A must be selfajoint and positive definite. The vectors or matrices * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
* X and B can be either dense or sparse. * X and B can be either dense or sparse.
* *
* \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
@ -412,8 +415,8 @@ class CholmodSimplicialLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimpl
* *
* This class allows to solve for A.X = B sparse linear problems via a simplicial LDL^T Cholesky factorization * This class allows to solve for A.X = B sparse linear problems via a simplicial LDL^T Cholesky factorization
* using the Cholmod library. * using the Cholmod library.
* This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Thefore, it has little practical interest. * This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Therefore, it has little practical interest.
* The sparse matrix A must be selfajoint and positive definite. The vectors or matrices * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
* X and B can be either dense or sparse. * X and B can be either dense or sparse.
* *
* \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
@ -458,7 +461,7 @@ class CholmodSimplicialLDLT : public CholmodBase<_MatrixType, _UpLo, CholmodSimp
* This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization * This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization
* using the Cholmod library. * using the Cholmod library.
* This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM. * This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM.
* The sparse matrix A must be selfajoint and positive definite. The vectors or matrices * The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
* X and B can be either dense or sparse. * X and B can be either dense or sparse.
* *
* \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<> * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
@ -501,7 +504,7 @@ class CholmodSupernodalLLT : public CholmodBase<_MatrixType, _UpLo, CholmodSuper
* \brief A general Cholesky factorization and solver based on Cholmod * \brief A general Cholesky factorization and solver based on Cholmod
* *
* This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization * This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization
* using the Cholmod library. The sparse matrix A must be selfajoint and positive definite. The vectors or matrices * using the Cholmod library. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices
* X and B can be either dense or sparse. * X and B can be either dense or sparse.
* *
* This variant permits to change the underlying Cholesky method at runtime. * This variant permits to change the underlying Cholesky method at runtime.