AerialVehicleControl.jl
cont_matrix_math.c File Reference
#include "cont_matrix_math.h"
Include dependency graph for cont_matrix_math.c:

Go to the source code of this file.

Functions

int matrix_double_addition (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 Matrix addition, C <– A + B. More...
 
int matrix_double_addition_inplace (matrix_double_t *Amat, matrix_double_t *Bmat)
 In-place matrix addition, A <– A + B. More...
 
int matrix_double_subtraction (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 Matrix subtraction, C <– A - B. More...
 
int matrix_double_subtraction_inplace (matrix_double_t *Amat, matrix_double_t *Bmat)
 In-place subtraction addition, A <– A - B. More...
 
int matrix_double_multiplication (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 Matrix multiplication, C <– A * B. More...
 
int matrix_double_transposition (matrix_double_t *Amat, matrix_double_t *ATmat)
 Matrix transposition, A^T <– transpose(A) More...
 
int matrix_double_solve_posdef (matrix_double_t *Amat, matrix_double_t *Bmat)
 Solve the linear system AX=B, writing X into B, for PSD real A. More...
 
int matrix_double_symmetric_real_eigenvalues (matrix_double_t *Amat, matrix_double_t *eigVals)
 Compute, without changing A, the eigenvalues of a real symmetric A to B. More...
 
void mat_add (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 Matrix addition, C <– A + B, asserts that this is done correctly. More...
 
void mat_add_inplace (matrix_double_t *Amat, matrix_double_t *Bmat)
 In-place matrix addition, A <– A + B, asserts that this is done correctly. More...
 
void mat_sub (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 Matrix subtraction, C <– A - B, and asserts that this is done correctly. More...
 
void mat_sub_inplace (matrix_double_t *Amat, matrix_double_t *Bmat)
 In-place subtraction addition, A <– A - B, asserts that this is done correctly. More...
 
void mat_mul (matrix_double_t *Amat, matrix_double_t *Bmat, matrix_double_t *Cmat)
 and asserts that this is done correctly More...
 
void mat_trans (matrix_double_t *Amat, matrix_double_t *ATmat)
 Matrix transposition, A^T <– transpose(A), asserts that this is done correctly. More...
 
void mat_sol (matrix_double_t *Amat, matrix_double_t *Bmat)
 Compute, without changing A, the eigenvalues of a real symmetric A to B, asserts that this is done correctly. More...
 
void mat_eigvals (matrix_double_t *Amat, matrix_double_t *Bmat)
 Computethe eigenvalues of a real symmetric A to B, asserts that this is done correctly. More...
 

Function Documentation

◆ mat_add()

void mat_add ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

Matrix addition, C <– A + B, asserts that this is done correctly.

Definition at line 246 of file cont_matrix_math.c.

◆ mat_add_inplace()

void mat_add_inplace ( matrix_double_t Amat,
matrix_double_t Bmat 
)

In-place matrix addition, A <– A + B, asserts that this is done correctly.

Definition at line 249 of file cont_matrix_math.c.

◆ mat_eigvals()

void mat_eigvals ( matrix_double_t Amat,
matrix_double_t Bmat 
)

Computethe eigenvalues of a real symmetric A to B, asserts that this is done correctly.

Definition at line 267 of file cont_matrix_math.c.

◆ mat_mul()

void mat_mul ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

and asserts that this is done correctly

Definition at line 258 of file cont_matrix_math.c.

◆ mat_sol()

void mat_sol ( matrix_double_t Amat,
matrix_double_t Bmat 
)

Compute, without changing A, the eigenvalues of a real symmetric A to B, asserts that this is done correctly.

Definition at line 264 of file cont_matrix_math.c.

◆ mat_sub()

void mat_sub ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

Matrix subtraction, C <– A - B, and asserts that this is done correctly.

Definition at line 252 of file cont_matrix_math.c.

◆ mat_sub_inplace()

void mat_sub_inplace ( matrix_double_t Amat,
matrix_double_t Bmat 
)

In-place subtraction addition, A <– A - B, asserts that this is done correctly.

Definition at line 255 of file cont_matrix_math.c.

◆ mat_trans()

void mat_trans ( matrix_double_t Amat,
matrix_double_t ATmat 
)

Matrix transposition, A^T <– transpose(A), asserts that this is done correctly.

Definition at line 261 of file cont_matrix_math.c.

◆ matrix_double_addition()

int matrix_double_addition ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

Matrix addition, C <– A + B.

Parameters
[in]Amat- Input matrix
[in]Bmat- Input matrix
[out]Cmat- Output matrix sum
Returns
status - 1 if successful, 0 otherwise

Definition at line 27 of file cont_matrix_math.c.

◆ matrix_double_addition_inplace()

int matrix_double_addition_inplace ( matrix_double_t Amat,
matrix_double_t Bmat 
)

In-place matrix addition, A <– A + B.

Parameters
[out]Amat- Overwrites the data in Amat with the sum
[in]Bmat- Input matrix
Returns
status - 1 if successful, 0 otherwise

Definition at line 43 of file cont_matrix_math.c.

◆ matrix_double_multiplication()

int matrix_double_multiplication ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

Matrix multiplication, C <– A * B.

Parameters
[in]Amat- Input matrix
[in]Bmat- Input matrix
[out]Cmat- Output product matrix
Returns
status - 1 if successful, 0 otherwise

Definition at line 85 of file cont_matrix_math.c.

◆ matrix_double_solve_posdef()

int matrix_double_solve_posdef ( matrix_double_t Amat,
matrix_double_t Bmat 
)

Solve the linear system AX=B, writing X into B, for PSD real A.

Note: This destroys and overwrites whatever is in A.

Parameters
[in]Amat- Input matrix
[out]Bmat- Output solution to the linear system
Returns
status - 1 if successful, 0 otherwise

Definition at line 143 of file cont_matrix_math.c.

◆ matrix_double_subtraction()

int matrix_double_subtraction ( matrix_double_t Amat,
matrix_double_t Bmat,
matrix_double_t Cmat 
)

Matrix subtraction, C <– A - B.

Parameters
[in]Amat- Input matrix
[in]Bmat- Input matrix
[out]Cmat- Output matrix difference
Returns
status - 1 if successful, 0 otherwise

Definition at line 56 of file cont_matrix_math.c.

◆ matrix_double_subtraction_inplace()

int matrix_double_subtraction_inplace ( matrix_double_t Amat,
matrix_double_t Bmat 
)

In-place subtraction addition, A <– A - B.

Parameters
[out]Amat- Overwrites the data in Amat with the difference
[in]Bmat- Input matrix
Returns
status - 1 if successful, 0 otherwise

Definition at line 72 of file cont_matrix_math.c.

◆ matrix_double_symmetric_real_eigenvalues()

int matrix_double_symmetric_real_eigenvalues ( matrix_double_t Amat,
matrix_double_t Bmat 
)

Compute, without changing A, the eigenvalues of a real symmetric A to B.

Note: This does not overwrite whatever is in A

Parameters
[in]Amat- Input matrix
[out]Bmat- Output real-valued eigenvalues of A
Returns
status - 1 if successful, 0 otherwise

Definition at line 176 of file cont_matrix_math.c.

◆ matrix_double_transposition()

int matrix_double_transposition ( matrix_double_t Amat,
matrix_double_t ATmat 
)

Matrix transposition, A^T <– transpose(A)

Parameters
[in]Amat- Input matrix
[out]ATmat- Output matrix transpose
Returns
status - 1 if successful, 0 otherwise

Definition at line 128 of file cont_matrix_math.c.