mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* the Upper->UpperTriangular change
* finally get ei_add_test right
This commit is contained in:
@@ -134,11 +134,11 @@ public :
|
||||
}
|
||||
|
||||
static inline void trisolve_lower(const gene_matrix & L, const gene_vector& B, gene_vector& X, int N){
|
||||
X = L.template marked<Lower>().solveTriangular(B);
|
||||
X = L.template marked<LowerTriangular>().solveTriangular(B);
|
||||
}
|
||||
|
||||
static inline void trisolve_lower_matrix(const gene_matrix & L, const gene_matrix& B, gene_matrix& X, int N){
|
||||
X = L.template marked<Lower>().solveTriangular(B);
|
||||
X = L.template marked<LowerTriangular>().solveTriangular(B);
|
||||
}
|
||||
|
||||
static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
X \
|
||||
} timer.stop(); }
|
||||
|
||||
// typedef SparseMatrix<Scalar,Upper> EigenSparseTriMatrix;
|
||||
typedef SparseMatrix<Scalar,SelfAdjoint|Lower> EigenSparseSelfAdjointMatrix;
|
||||
// typedef SparseMatrix<Scalar,UpperTriangular> EigenSparseTriMatrix;
|
||||
typedef SparseMatrix<Scalar,SelfAdjoint|LowerTriangular> EigenSparseSelfAdjointMatrix;
|
||||
|
||||
void fillSpdMatrix(float density, int rows, int cols, EigenSparseSelfAdjointMatrix& dst)
|
||||
{
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
X \
|
||||
} timer.stop(); }
|
||||
|
||||
typedef SparseMatrix<Scalar,Upper> EigenSparseTriMatrix;
|
||||
typedef SparseMatrix<Scalar,RowMajorBit|Upper> EigenSparseTriMatrixRow;
|
||||
typedef SparseMatrix<Scalar,UpperTriangular> EigenSparseTriMatrix;
|
||||
typedef SparseMatrix<Scalar,RowMajorBit|UpperTriangular> EigenSparseTriMatrixRow;
|
||||
|
||||
void fillMatrix(float density, int rows, int cols, EigenSparseTriMatrix& dst)
|
||||
{
|
||||
@@ -83,11 +83,11 @@ int main(int argc, char *argv[])
|
||||
eiToDense(sm1, m1);
|
||||
m2 = m1;
|
||||
|
||||
BENCH(x = m1.marked<Upper>().solveTriangular(b);)
|
||||
BENCH(x = m1.marked<UpperTriangular>().solveTriangular(b);)
|
||||
std::cout << " colmajor^-1 * b:\t" << timer.value() << endl;
|
||||
// std::cerr << x.transpose() << "\n";
|
||||
|
||||
BENCH(x = m2.marked<Upper>().solveTriangular(b);)
|
||||
BENCH(x = m2.marked<UpperTriangular>().solveTriangular(b);)
|
||||
std::cout << " rowmajor^-1 * b:\t" << timer.value() << endl;
|
||||
// std::cerr << x.transpose() << "\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user