Go to the documentation of this file.
5 #ifndef __pinocchio_algorithm_delassus_operator_base_hpp__
6 #define __pinocchio_algorithm_delassus_operator_base_hpp__
14 template<
typename DelassusOperatorDerived>
23 return static_cast<DelassusOperatorDerived &
>(*this);
25 const DelassusOperatorDerived &
derived()
const
27 return static_cast<const DelassusOperatorDerived &
>(*this);
36 const bool reset =
true,
const int max_it = 10,
const Scalar rel_tol =
Scalar(1e-8))
const
48 template<
typename VectorLike>
50 const Eigen::PlainObjectBase<VectorLike> & largest_eigenvector_est,
51 const bool reset =
true,
52 const int max_it = 10,
68 const bool reset =
true,
69 const bool compute_largest =
true,
70 const int max_it = 10,
83 template<
typename VectorLike1,
typename VectorLike2>
85 const Eigen::PlainObjectBase<VectorLike1> & largest_eigenvector_est,
86 const Eigen::PlainObjectBase<VectorLike2> & lowest_eigenvector_est,
87 const bool reset =
true,
88 const bool compute_largest =
true,
89 const int max_it = 10,
107 template<
typename VectorLike>
118 template<
typename MatrixLike>
121 derived().solveInPlace(
mat.const_cast_derived());
124 template<
typename MatrixLike>
126 solve(
const Eigen::MatrixBase<MatrixLike> & mat)
const
131 template<
typename MatrixDerivedIn,
typename MatrixDerivedOut>
133 const Eigen::MatrixBase<MatrixDerivedIn> & x,
134 const Eigen::MatrixBase<MatrixDerivedOut> &
res)
const
136 derived().solve(
x.derived(),
res.const_cast_derived());
139 template<
typename MatrixIn,
typename MatrixOut>
140 void applyOnTheRight(
141 const Eigen::MatrixBase<MatrixIn> & x,
const Eigen::MatrixBase<MatrixOut> &
res)
const
143 derived().applyOnTheRight(
x.derived(),
res.const_cast_derived());
146 template<
typename MatrixDerived>
148 operator*(
const Eigen::MatrixBase<MatrixDerived> & x)
const
153 Eigen::DenseIndex
size()
const
157 Eigen::DenseIndex
rows()
const
161 Eigen::DenseIndex
cols()
const
183 #endif // ifndef __pinocchio_algorithm_delassus_operator_base_hpp__
#define PINOCCHIO_CHECK_ARGUMENT_SIZE(...)
Macro to check if the size of an element is equal to the expected size.
Vector principal_eigen_vector
Scalar computeLargestEigenValue(const Eigen::PlainObjectBase< VectorLike > &largest_eigenvector_est, const bool reset=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
Vector lowest_eigen_vector
const PowerIterationAlgo & getPowerIterationAlgo() const
Scalar computeLowestEigenValue(const Eigen::PlainObjectBase< VectorLike1 > &largest_eigenvector_est, const Eigen::PlainObjectBase< VectorLike2 > &lowest_eigenvector_est, const bool reset=true, const bool compute_largest=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
Scalar largest_eigen_value
PowerIterationAlgoTpl< Vector > PowerIterationAlgo
Scalar computeLowestEigenValue(const bool reset=true, const bool compute_largest=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
TridiagonalSymmetricMatrixApplyOnTheLeftReturnType< LhsMatrixType, TridiagonalSymmetricMatrixTpl< S, O > > operator*(const Eigen::MatrixBase< LhsMatrixType > &lhs, const TridiagonalSymmetricMatrixTpl< S, O > &rhs)
const DelassusOperatorDerived & derived() const
PINOCCHIO_EIGEN_PLAIN_TYPE(MatrixLike) solve(const Eigen
Scalar computeLargestEigenValue(const bool reset=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
Mat & solve(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &y)
Return the solution of using the Cholesky decomposition stored in data given the entry ....
PowerIterationAlgo power_iteration_algo
DelassusOperatorBase(const Eigen::DenseIndex size)
Scalar lowest_eigen_value
void updateDamping(const Scalar mu)
void updateDamping(const Eigen::MatrixBase< VectorLike > &vec)
void lowest(const MatrixLike &mat, const bool compute_largest=true)
void run(const MatrixLike &mat)
DelassusOperatorDerived & derived()
traits< DelassusOperatorDerived >::Vector Vector
Common traits structure to fully define base classes for CRTP.
traits< DelassusOperatorDerived >::Scalar Scalar
Main pinocchio namespace.
void solveInPlace(const Eigen::MatrixBase< MatrixLike > &mat) const
pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:09