Projected Gauss Siedel solver.
More...
#include <pinocchio/algorithm/pgs-solver.hpp>
|
| | PGSContactSolverTpl (const int problem_size) |
| template<typename MatrixLike, typename VectorLike, typename ConstraintAllocator, typename VectorLikeOut> |
| bool | solve (const MatrixLike &G, const Eigen::MatrixBase< VectorLike > &g, const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeOut > &x, const Scalar over_relax=Scalar(1)) |
| | Solve the constrained conic problem composed of problem data (G,g,cones) and starting from the initial guess.
|
| | ContactSolverBaseTpl (const int problem_size) |
| Scalar | getAbsoluteConvergenceResidual () const |
| | Returns the value of the absolute residual value corresponding to the contact complementary conditions.
|
| Scalar | getAbsolutePrecision () const |
| | Get the absolute precision requested.
|
| CPUTimes | getCPUTimes () const |
| int | getIterationCount () const |
| | Get the number of iterations achieved by the solver.
|
| int | getMaxIterations () const |
| | Get the maximum number of iterations allowed.
|
| int | getProblemSize () const |
| | Returns the size of the problem.
|
| Scalar | getRelativeConvergenceResidual () const |
| | Returns the value of the relative residual value corresponding to the difference between two successive iterates (infinity norms).
|
| Scalar | getRelativePrecision () const |
| | Get the relative precision requested.
|
| void | setAbsolutePrecision (const Scalar absolute_precision) |
| | Set the absolute precision for the problem.
|
| void | setMaxIterations (const int max_it) |
| | Set the maximum number of iterations.
|
| void | setRelativePrecision (const Scalar relative_precision) |
| | Set the relative precision for the problem.
|
template<typename _Scalar>
struct pinocchio::PGSContactSolverTpl< _Scalar >
Projected Gauss Siedel solver.
Definition at line 16 of file pgs-solver.hpp.
◆ Base
template<typename _Scalar>
◆ Scalar
template<typename _Scalar>
◆ VectorXs
template<typename _Scalar>
| typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> VectorXs |
◆ PGSContactSolverTpl()
template<typename _Scalar>
◆ solve()
template<typename _Scalar>
template<typename MatrixLike, typename VectorLike, typename ConstraintAllocator, typename VectorLikeOut>
| bool solve | ( | const MatrixLike & | G, |
| | const Eigen::MatrixBase< VectorLike > & | g, |
| | const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > & | cones, |
| | const Eigen::DenseBase< VectorLikeOut > & | x, |
| | const Scalar | over_relax = Scalar(1) ) |
Solve the constrained conic problem composed of problem data (G,g,cones) and starting from the initial guess.
- Parameters
| [in] | G | Symmetric PSD matrix representing the Delassus of the contact problem. |
| [in] | g | Free contact acceleration or velicity associted with the contact problem. |
| [in] | cones | Vector of conic constraints. |
| [in,out] | x | Initial guess and output solution of the problem |
| [in] | over_relax | Over relaxation value |
- Returns
- True if the problem has converged.
◆ timer
template<typename _Scalar>
template<typename _Scalar>
Previous temporary value of the optimum.
Definition at line 54 of file pgs-solver.hpp.
◆ x_previous
template<typename _Scalar>
The documentation for this struct was generated from the following file: