| 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.