GPL + CeCILL Header change
[scilab.git] / scilab / modules / linear_algebra / includes / lsq.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) ????-2009 - INRIA
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  * === LICENSE_END ===
14  *
15  */
16 #ifndef LSQ_H
17 #define LSQ_H
18
19 #include "dynlib_linear_algebra.h"
20 /*
21  * Linear least square problems. cf. http://www.scilab.org/product/man/lsq.html
22  * Calls Lapack [d|z]gelsy routines after performing memory allocations
23  *
24  * @param pMatrix double[complex]* in/out : input real or complex (in 'z' format) input matrix data, output complete orthogonal factorization
25  * @param iRows int in : nb of rows of the input matrix
26  * @param iCols int in : nb of cols of the input matrix
27  * @param pRhs double[complex]* in : input real or complex (in 'z' format) rhs matrix data
28  * @param iNRhs int in : nb of cols of the rhs matrix
29  * @param complexArgs int (boolean semantics) in : whether the input matrix are real or complex
30  *
31  * out:
32  * @param pResult double[complex]* out: iCols x nRhs solution matrix data
33  *
34  * in :
35  * @param pTreshold double* in: treshold used to compute the effective rank of the matrix. Using pass-by-pointer because it is optional.
36  * if NULL, then default value of sqrt(epsilon) is used.
37  *
38  * out :
39  * @param piRank int* out: effective rank of input matrix. if NULL, the result is not returned.
40  *
41  */
42
43 LINEAR_ALGEBRA_IMPEXP int iLsqM(double* pMatrix, int iRows, int iCols, double* pRhs, int iNRhs, int complexArgs, double* pResult, double* pTreshold, int* piRank);
44
45
46 #endif