A sparse MPC solver for walking motion generation.
ip_matrix_ecL.h
Go to the documentation of this file.
1 
8 #ifndef MATRIX_ECL_IP_H
9 #define MATRIX_ECL_IP_H
10 
11 
12 /****************************************
13  * INCLUDES
14  ****************************************/
15 
16 #include "smpc_common.h"
17 #include "ip_problem_param.h"
18 
19 using namespace std;
20 
23 
24 namespace IP
25 {
26 
27 /****************************************
28  * DEFINES
29  ****************************************/
30 
32 #define MATRIX_SIZE_6x6 36
33 
34 
35 /****************************************
36  * TYPEDEFS
37  ****************************************/
42  class matrix_ecL
43  {
44  public:
45  /*********** Constructors / Destructors ************/
46  matrix_ecL(const int);
47  ~matrix_ecL();
48 
49  void form (const problem_parameters&, const double *);
50 
51  void solve_backward (const int, double *);
52  void solve_forward (const int, double *);
53 
54  double *ecL;
55 
56 
57 
58  private:
59  void chol_dec (double *);
60  void form_M (const double, const double, const double*, const double*);
61  void form_MAT (const double, const double);
62  void form_AMATMBiPB(const double, const double, const double *, const double, double *);
63 
64  void form_L_non_diag(const double *, double *);
65  void form_L_diag(const double *, const double, double *);
66  void form_L_diag(const double *, double *);
67 
68 
69  // intermediate results used in computation of L
70  double M[MATRIX_SIZE_6x6];
71  double MAT[MATRIX_SIZE_6x6];
72  };
73 }
75 
76 #endif /*MATRIX_ECL_IP_H*/
A set of problem parameters.
Initializes lower diagonal matrix L and performs backward and forward substitutions using this matrix...
Definition: ip_matrix_ecL.h:42
#define MATRIX_SIZE_6x6
The number of elements in 6x6 matrix.
Definition: ip_matrix_ecL.h:32