Go to the documentation of this file.
7 #ifndef PARTIAL_SVD_SOLVER_H
8 #define PARTIAL_SVD_SOLVER_H
11 #include "../SymEigsSolver.h"
16 template <
typename Scalar>
20 virtual int rows()
const = 0;
21 virtual int cols()
const = 0;
32 template <
typename Scalar,
typename MatrixType>
70 template <
typename Scalar,
typename MatrixType>
107 template <
typename Scalar = double,
180 return m_mat * (
m_evecs.leftCols(nu).array().rowwise() /
m_eigs->eigenvalues().head(nu).transpose().array().sqrt()).
matrix();
196 return m_mat.transpose() * (
m_evecs.leftCols(nv).array().rowwise() /
m_eigs->eigenvalues().head(nv).transpose().array().sqrt()).
matrix();
202 #endif // PARTIAL_SVD_SOLVER_H
Array< double, 1, 3 > e(1./3., 0.5, 2.)
virtual ~PartialSVDSolver()
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
virtual int cols() const =0
const typedef Eigen::Ref< const MatrixType > ConstGenericMatrix
SVDTallMatOp(ConstGenericMatrix &mat)
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
int compute(int maxit=1000, Scalar tol=1e-10)
Eigen::Map< const Vector > MapConstVec
SymEigsSolver< Scalar, LARGEST_ALGE, SVDMatOp< Scalar > > * m_eigs
virtual void perform_op(const Scalar *x_in, Scalar *y_out)=0
Vector singular_values() const
Eigen::Map< Vector > MapVec
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
void perform_op(const Scalar *x_in, Scalar *y_out)
const typedef Eigen::Ref< const MatrixType > ConstGenericMatrix
A matrix or vector expression mapping an existing array of data.
Eigen::Map< Vector > MapVec
Eigen::Map< const Vector > MapConstVec
Map< Matrix< T, Dynamic, Dynamic, ColMajor >, 0, OuterStride<> > matrix(T *data, int rows, int cols, int stride)
virtual int rows() const =0
PartialSVDSolver(ConstGenericMatrix &mat, int ncomp, int ncv)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
SVDMatOp< Scalar > * m_op
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
void perform_op(const Scalar *x_in, Scalar *y_out)
SVDWideMatOp(ConstGenericMatrix &mat)
const typedef Eigen::Ref< const MatrixType > ConstGenericMatrix
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:12:41