|
RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
|
Go to the documentation of this file.
42 for (uint8_t i = 0; i < n - 1; i++) {
46 if (abs_max_col_elem <= FLT_EPSILON) {
52 if (pivot_index != i) {
67 for (uint8_t j = i + 1; j < n; j++) {
69 multipliers_vec[j - 1] = A[j][i] / A[i][i];
71 for (uint8_t l = i + 1; l < n; l++) {
73 - multipliers_vec[j - 1]
79 L[j][i] = multipliers_vec[j - 1];
void matrix_swap_rows(uint8_t n, matrix_t matrix[][n], uint8_t i, uint8_t j)
Swaps two rows of a matrix.
void matrix_get_diag_mat(uint8_t m, uint8_t n, matrix_t value, matrix_t diag_matrix[m][n])
Create a diagonal matrix with a specified value.
#define matrix_t
Define the data type of the matrix elements.
void matrix_part_swap_rows(uint8_t n, matrix_t matrix[][n], uint8_t i, uint8_t j, uint8_t col_begin, uint8_t col_end)
Swaps two rows of a sub-matrix.
matrix_t matrix_get_abs_max_elem_and_index_in_part_column(uint8_t max_m, uint8_t max_n, matrix_t matrix[max_m][max_n], uint8_t row_num, uint8_t col_num, uint8_t *index)
Get the maximum absolute value and its position in a column vector in a sub-matrix.
uint8_t lu_decomp(uint8_t n, matrix_t A[][n], matrix_t L[][n], matrix_t P[][n])
Computes the LU decomposition of the matrix.