Projected Gauss Siedel solver. More...
#include <pinocchio/algorithm/pgs-solver.hpp>


Public Types | |
| typedef ContactSolverBaseTpl< Scalar > | Base |
| typedef _Scalar | Scalar |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | VectorXs |
Public Types inherited from ContactSolverBaseTpl< _Scalar > | |
| typedef hpp::fcl::CPUTimes | CPUTimes |
| typedef _Scalar | Scalar |
| typedef hpp::fcl::Timer | Timer |
Public Member Functions | |
| 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. | |
Public Member Functions inherited from ContactSolverBaseTpl< _Scalar > | |
| 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. | |
Protected Attributes | |
| Timer | timer |
| VectorXs | x |
| Previous temporary value of the optimum. | |
| VectorXs | x_previous |
Protected Attributes inherited from ContactSolverBaseTpl< _Scalar > | |
| Scalar | absolute_precision |
| Desired absolute precision. | |
| Scalar | absolute_residual |
| Absolule convergence residual value. | |
| int | it |
| Number of iterations needed to achieve convergence. | |
| int | max_it |
| | |
| int | problem_size |
| Size of the problem. | |
| Scalar | relative_precision |
| Desired relative precision. | |
| Scalar | relative_residual |
| Relative convergence residual value. | |
| Timer | timer |
Projected Gauss Siedel solver.
Definition at line 16 of file pgs-solver.hpp.
Definition at line 19 of file pgs-solver.hpp.
Definition at line 20 of file pgs-solver.hpp.
|
inlineexplicit |
Definition at line 22 of file pgs-solver.hpp.
| 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.
| [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 |
Definition at line 129 of file contact-solver-base.hpp.
Previous temporary value of the optimum.
Definition at line 54 of file pgs-solver.hpp.
Definition at line 54 of file pgs-solver.hpp.