Go to the documentation of this file.
23 void SetUp(benchmark::State & st)
77 M_ldlt.compute(
data.M);
82 data.M.triangularView<Eigen::StrictlyLower>() =
83 data.M.transpose().triangularView<Eigen::StrictlyLower>();
84 Eigen::LDLT<Eigen::MatrixXd> M_ldlt(
data.M);
162 lhs.noalias() = Minv *
rhs;
179 A.noalias() = Minv *
B;
196 A.noalias() =
M.inverse();
201 data.M.triangularView<Eigen::StrictlyLower>() =
202 data.M.transpose().triangularView<Eigen::StrictlyLower>();
void TearDown(benchmark::State &st)
static PINOCCHIO_DONT_INLINE void choleskySolveCall(const pinocchio::Model &model, const pinocchio::Data &data, Eigen::VectorXd &rhs)
#define PINOCCHIO_DONT_INLINE
Function attribute to forbid inlining. This is a compiler hint that can be not respected.
static PINOCCHIO_DONT_INLINE void choleskyUDUtvCall(const pinocchio::Model &model, const pinocchio::Data &data, Eigen::VectorXd &rhs)
void TearDown(benchmark::State &)
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & crba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Convention convention=Convention::LOCAL)
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid B...
static PINOCCHIO_DONT_INLINE void choleskyMInvMultV(const Eigen::MatrixXd &Minv, const Eigen::VectorXd &rhs, Eigen::VectorXd &lhs)
static PINOCCHIO_DONT_INLINE void denseCholeksyDecomposeCall(Eigen::LDLT< Eigen::MatrixXd > &M_ldlt, const pinocchio::Data &data)
static PINOCCHIO_DONT_INLINE void choleskyDecomposeCall(const pinocchio::Model &model, pinocchio::Data &data)
Mat & UDUtv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &m)
Performs the multiplication by using the Cholesky decomposition of M stored in data.
void SetUp(benchmark::State &)
const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & computeMinverse(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the inverse of the joint space inertia matrix using Articulated Body formulation.
static void CustomArguments(benchmark::internal::Benchmark *b)
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 ....
static void GlobalSetUp(const ExtraArgs &extra_args)
static void GlobalSetUp(const ExtraArgs &extra_args)
static PINOCCHIO_DONT_INLINE void choleskyDenseMInverse(const Eigen::MatrixXd &M, Eigen::MatrixXd &A)
PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP(CholeskyFixture::GlobalSetUp)
void SetUp(benchmark::State &st)
static PINOCCHIO_DONT_INLINE void computeMinverseQCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q)
static PINOCCHIO_DONT_INLINE void choleskyMInvMultB(const Eigen::MatrixXd &Minv, const Eigen::MatrixXd &B, Eigen::MatrixXd &A)
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & decompose(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Compute the Cholesky decomposition of the joint space inertia matrix M contained in data.
Mat & computeMinv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &Minv)
Computes the inverse of the joint space inertia matrix M from its Cholesky factorization.
int nv
Dimension of the velocity vector space.
BENCHMARK_DEFINE_F(CholeskyFixture, CHOLESKY_DECOMPOSE)(benchmark
BENCHMARK_REGISTER_F(CholeskyFixture, CHOLESKY_DECOMPOSE) -> Apply(CustomArguments)
static PINOCCHIO_DONT_INLINE void choleskySolveColumnCall(const pinocchio::Model &model, const pinocchio::Data &data, Eigen::MatrixXd &Minv)
static PINOCCHIO_DONT_INLINE void choleskyComputeMInvCall(const pinocchio::Model &model, const pinocchio::Data &data, Eigen::MatrixXd &Minv)
pinocchio
Author(s):
autogenerated on Wed Apr 16 2025 02:41:51