Added basic SkylineMatrix.

This commit is contained in:
kayhman
2009-11-04 15:18:12 +01:00
parent 103f741619
commit 1333fe651d
11 changed files with 2179 additions and 2 deletions

View File

@@ -781,6 +781,11 @@ template<typename Derived> class MatrixBase
template<typename Derived1, typename Derived2>
Derived& lazyAssign(const SparseProduct<Derived1,Derived2,DenseTimeSparseProduct>& product);
// dense = skyline * dense
template<typename Derived1, typename Derived2>
Derived& lazyAssign(const SkylineProduct<Derived1,Derived2,SkylineTimeDenseProduct>& product);
////////// Householder module ///////////
void makeHouseholderInPlace(Scalar *tau, RealScalar *beta);

View File

@@ -201,7 +201,7 @@ enum { AsRequested=0, EnforceAlignedAccess=2 };
enum { ConditionalJumpCost = 5 };
enum CornerType { TopLeft, TopRight, BottomLeft, BottomRight };
enum DirectionType { Vertical, Horizontal, BothDirections };
enum ProductEvaluationMode { NormalProduct, CacheFriendlyProduct, SparseTimeSparseProduct, SparseTimeDenseProduct, DenseTimeSparseProduct };
enum ProductEvaluationMode { NormalProduct, CacheFriendlyProduct, SparseTimeSparseProduct, SparseTimeDenseProduct, DenseTimeSparseProduct, SkylineTimeDenseProduct };
enum {
/** \internal Equivalent to a slice vectorization for fixed-size matrices having good alignment

View File

@@ -74,7 +74,7 @@ template<typename DecompositionType> struct ei_image_retval_base;
template<typename DecompositionType> struct ei_image_retval;
template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int Supers=Dynamic, int Subs=Dynamic, int Options=0> class BandMatrix;
template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int ColsUsed=Dynamic, int Options=0> class ColumnMatrix;
template<typename Lhs, typename Rhs> struct ei_product_type;
template<typename Lhs, typename Rhs,
@@ -150,5 +150,8 @@ template<typename MatrixType,int Direction> class Homogeneous;
// Sparse module:
template<typename Lhs, typename Rhs, int ProductMode> class SparseProduct;
// Skyline module:
template<typename Lhs, typename Rhs, int ProductMode> class SkylineProduct;
#endif // EIGEN_FORWARDDECLARATIONS_H