|
RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
|
Go to the documentation of this file.
29 double eps, uint8_t max_it_num,
vector_t est_x_arr[],
30 void (*get_non_lin_sys)(
vector_t x_arr[],
46 while ((step >= eps) && (iter_num < max_it_num)) {
48 get_jacobian(prev_x_arr, J);
52 get_non_lin_sys(prev_x_arr, f_vec);
int8_t moore_penrose_get_pinv(uint8_t m, uint8_t n, matrix_t A[m][n], matrix_t pinv_A[n][m])
Calculate the Moore–Penrose inverse of a rectangular matrix.
void matrix_mul_vec(uint8_t m, uint8_t n, matrix_t matrix[m][n], matrix_t vec[n], matrix_t dst_arr[m])
Compute the multiplication of a matrix with a column vector.
vector_t vector_get_euclidean_distance(uint8_t length, vector_t vec1[], vector_t vec2[])
Compute the Euclidean distance between two vectors.
#define vector_t
Define the data type of the vector elements.
Moore–Penrose algorithm to compute the pseudo-inverse of a matrix.
void vector_copy(uint8_t size, vector_t src_arr[], vector_t dest_arr[])
Copy the elements of the source vector to the destination vector.
#define matrix_t
Define the data type of the matrix elements.
uint8_t newton_raphson(uint8_t f_length, uint8_t n, vector_t x0_arr[], double eps, uint8_t max_it_num, vector_t est_x_arr[], void(*get_non_lin_sys)(vector_t x_arr[], vector_t f_vec[]), void(*get_jacobian)(vector_t x_arr[], matrix_t J[][n]))
Implements the Newton–Raphson algorithm.
void vector_sub(uint8_t size, vector_t a_vec[], vector_t b_vec[], vector_t a_minus_b[])
Compute the subtraction of two vectors.