RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
moore_penrose_pseudo_inverse.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 Zakaria Kasmi <zkasmi@inf.fu-berlin.de>
3  * 2020 Freie Universität Berlin
4  *
5  * This file is subject to the terms and conditions of the GNU Lesser General
6  * Public License v2.1. See the file LICENSE in the top level directory for more
7  * details.
8  */
9 
25 #ifndef MOORE_PENROSE_PSEUDO_INVERSE_H_
26 #define MOORE_PENROSE_PSEUDO_INVERSE_H_
27 
31 #define MAX_ROW_NUM 23
32 
36 #define MAX_COL_NUM 23
37 
38 /* define error numbers */
42 #define MOORE_PENROSE_PSEUDO_COMP_SUCCESS 1
43 
47 #define MOORE_PENROSE_PSEUDO_MAX_ALLOW_ROW_COL_EXCEEED -1
48 
52 #define MOORE_PENROSE_PSEUDO_GIVE_MATRIX_TRANSPOSE -2
53 
57 #define MOORE_PENROSE_INVALID_RANK_VALUE -3
58 
59 #include "matrix.h"
60 
77 int8_t moore_penrose_get_pinv(uint8_t m, uint8_t n, matrix_t A[m][n],
78  matrix_t pinv_A[n][m]);
79 
90 void moore_penrose_pinv_compute_print(uint8_t m, uint8_t n,
91  matrix_t matrix[m][n], uint8_t i);
92 
93 #endif /* MOORE_PENROSE_PSEUDO_INVERSE_H_ */
moore_penrose_get_pinv
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.
Definition: moore_penrose_pseudo_inverse.c:38
moore_penrose_pinv_compute_print
void moore_penrose_pinv_compute_print(uint8_t m, uint8_t n, matrix_t matrix[m][n], uint8_t i)
Compute and print the Moore–Penrose inverse of a matrix.
Definition: moore_penrose_pseudo_inverse.c:167
matrix.h
Matrix computations.
matrix_t
#define matrix_t
Define the data type of the matrix elements.
Definition: matrix.h:38