rsLQR  0.1
linalg_custom.h
Go to the documentation of this file.
1 
14 #include "matrix.h"
15 
21 static const int clap_kCholeskySuccess = 0;
22 
28 static const int clap_kCholeskyFail = -1;
29 
44 int clap_MatrixAddition(Matrix* A, Matrix* B, double alpha);
45 
53 int clap_MatrixScale(Matrix* A, double alpha);
54 
71 int clap_MatrixMultiply(Matrix* A, Matrix* B, Matrix* C, bool tA, bool tB, double alpha,
72  double beta);
73 
88 
106 int clap_SymmetricMatrixMultiply(Matrix* Asym, Matrix* B, Matrix* C, double alpha,
107  double beta);
108 
116 int clap_AddDiagonal(Matrix* A, double alpha);
117 
128 
138 int clap_CholeskySolve(Matrix* A, Matrix* b);
139 
159 int clap_LowerTriBackSub(Matrix* L, Matrix* b, bool istransposed);
160 
clap_MatrixScale
int clap_MatrixScale(Matrix *A, double alpha)
Scale a matrix by a constant.
Definition: linalg_custom.c:13
clap_MatrixTransposeMultiply
int clap_MatrixTransposeMultiply(Matrix *A, Matrix *B, Matrix *C)
A shortcut to perform transposed matrix multiplication.
matrix.h
Matrix type and basic operations.
clap_SymmetricMatrixMultiply
int clap_SymmetricMatrixMultiply(Matrix *Asym, Matrix *B, Matrix *C, double alpha, double beta)
Matrix multiplication with a symmetric matrix A.
Definition: linalg_custom.c:45
clap_CholeskyFactorize
int clap_CholeskyFactorize(Matrix *A)
Perform a Cholesky decomposition.
Definition: linalg_custom.c:88
clap_MatrixMultiply
int clap_MatrixMultiply(Matrix *A, Matrix *B, Matrix *C, bool tA, bool tB, double alpha, double beta)
Matrix multiplication.
Definition: linalg_custom.c:20
Matrix
Represents a matrix of double-precision data.
Definition: matrix.h:71
clap_LowerTriBackSub
int clap_LowerTriBackSub(Matrix *L, Matrix *b, bool istransposed)
Solve a linear system of equation for a lower triangular matrix.
Definition: linalg_custom.c:113
clap_AddDiagonal
int clap_AddDiagonal(Matrix *A, double alpha)
Add a constant value to the diagonal of a matrix.
Definition: linalg_custom.c:79
clap_CholeskySolve
int clap_CholeskySolve(Matrix *A, Matrix *b)
Solve a linear system of equation with a precomputed Cholesky decomposition.
Definition: linalg_custom.c:134
clap_MatrixAddition
int clap_MatrixAddition(Matrix *A, Matrix *B, double alpha)
Add two matrices of the same size, storing the result in B.
Definition: linalg_custom.c:6