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.  More... | |
|  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 | 
| More... | |
| 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.
| 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 |