STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
comms::math Namespace Reference

Functions

bool cholesky_decompose (double *A, size_t n, double *L)
 Linear algebra operations for sensor calibration and filtering.
void solve_lower_triangular (const double *L, size_t n, const double *b, double *x)
void solve_upper_triangular (const double *L, size_t n, const double *b, double *x)
bool solve_cholesky (const double *A, size_t n, const double *b, double *x)
bool matrix_inverse_cholesky (const double *A, size_t n, double *A_inv)
bool weighted_least_squares (const double *X, size_t m, size_t n, const double *y, const double *W_diag, double *beta)
bool regularized_weighted_least_squares (const double *X, size_t m, size_t n, const double *y, const double *W_diag, double lambda, double *beta)
void matrix_multiply (const double *A, size_t m, size_t n, const double *B, size_t p, double *C)
 Matrix operations for sensor calibration and filtering.
void matrix_transpose (const double *A, size_t m, size_t n, double *B)
void matrix_add (const double *A, const double *B, size_t m, size_t n, double *C)
void matrix_subtract (const double *A, const double *B, size_t m, size_t n, double *C)
void matrix_scale (const double *A, double alpha, size_t m, size_t n, double *B)
void matrix_zeros (double *A, size_t m, size_t n)
void matrix_identity (double *A, size_t n)
void matrix_copy (const double *A, size_t m, size_t n, double *B)
void matrix_vector_multiply (const double *A, size_t m, size_t n, const double *x, double *y)
double vector_dot (const double *a, const double *b, size_t n)
double vector_norm (const double *a, size_t n)
double matrix_trace (const double *A, size_t n)

Function Documentation

◆ cholesky_decompose()

bool comms::math::cholesky_decompose ( double * A,
size_t n,
double * L )
inline

Linear algebra operations for sensor calibration and filtering.

Standalone implementation for DAQ system. Provides matrix decompositions, solving, and advanced operations needed for Bayesian calibration and filtering algorithms.

Definition at line 24 of file LinearAlgebra.hpp.

References matrix_zeros().

Referenced by matrix_inverse_cholesky(), and solve_cholesky().

◆ matrix_add()

void comms::math::matrix_add ( const double * A,
const double * B,
size_t m,
size_t n,
double * C )
inline

Definition at line 47 of file Matrix.hpp.

◆ matrix_copy()

void comms::math::matrix_copy ( const double * A,
size_t m,
size_t n,
double * B )
inline

Definition at line 83 of file Matrix.hpp.

◆ matrix_identity()

void comms::math::matrix_identity ( double * A,
size_t n )
inline

Definition at line 75 of file Matrix.hpp.

References matrix_zeros().

◆ matrix_inverse_cholesky()

bool comms::math::matrix_inverse_cholesky ( const double * A,
size_t n,
double * A_inv )
inline

◆ matrix_multiply()

void comms::math::matrix_multiply ( const double * A,
size_t m,
size_t n,
const double * B,
size_t p,
double * C )
inline

Matrix operations for sensor calibration and filtering.

Standalone implementation for DAQ system. Provides essential matrix operations needed for calibration algorithms.

Definition at line 22 of file Matrix.hpp.

References p.

◆ matrix_scale()

void comms::math::matrix_scale ( const double * A,
double alpha,
size_t m,
size_t n,
double * B )
inline

Definition at line 63 of file Matrix.hpp.

◆ matrix_subtract()

void comms::math::matrix_subtract ( const double * A,
const double * B,
size_t m,
size_t n,
double * C )
inline

Definition at line 55 of file Matrix.hpp.

◆ matrix_trace()

double comms::math::matrix_trace ( const double * A,
size_t n )
inline

Definition at line 115 of file Matrix.hpp.

◆ matrix_transpose()

void comms::math::matrix_transpose ( const double * A,
size_t m,
size_t n,
double * B )
inline

Definition at line 37 of file Matrix.hpp.

◆ matrix_vector_multiply()

void comms::math::matrix_vector_multiply ( const double * A,
size_t m,
size_t n,
const double * x,
double * y )
inline

Definition at line 89 of file Matrix.hpp.

◆ matrix_zeros()

void comms::math::matrix_zeros ( double * A,
size_t m,
size_t n )
inline

◆ regularized_weighted_least_squares()

bool comms::math::regularized_weighted_least_squares ( const double * X,
size_t m,
size_t n,
const double * y,
const double * W_diag,
double lambda,
double * beta )
inline

Definition at line 179 of file LinearAlgebra.hpp.

References matrix_zeros(), solve_cholesky(), and success.

◆ solve_cholesky()

bool comms::math::solve_cholesky ( const double * A,
size_t n,
const double * b,
double * x )
inline

◆ solve_lower_triangular()

void comms::math::solve_lower_triangular ( const double * L,
size_t n,
const double * b,
double * x )
inline

Definition at line 54 of file LinearAlgebra.hpp.

References b.

Referenced by matrix_inverse_cholesky(), and solve_cholesky().

◆ solve_upper_triangular()

void comms::math::solve_upper_triangular ( const double * L,
size_t n,
const double * b,
double * x )
inline

Definition at line 65 of file LinearAlgebra.hpp.

References b.

Referenced by matrix_inverse_cholesky(), and solve_cholesky().

◆ vector_dot()

double comms::math::vector_dot ( const double * a,
const double * b,
size_t n )
inline

Definition at line 101 of file Matrix.hpp.

References a, and b.

Referenced by vector_norm().

◆ vector_norm()

double comms::math::vector_norm ( const double * a,
size_t n )
inline

Definition at line 110 of file Matrix.hpp.

References a, and vector_dot().

◆ weighted_least_squares()

bool comms::math::weighted_least_squares ( const double * X,
size_t m,
size_t n,
const double * y,
const double * W_diag,
double * beta )
inline

Definition at line 141 of file LinearAlgebra.hpp.

References matrix_zeros(), solve_cholesky(), and success.