linear_algebra plugged.
[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  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12 #ifndef LSQ_H
13 #define LSQ_H
14
15 #include "dynlib_linear_algebra.h"
16 /*
17  * Linear least square problems. cf. http://www.scilab.org/product/man/lsq.html
18  * Calls Lapack [d|z]gelsy routines after performing memory allocations
19  *
20  * @param pMatrix double[complex]* in/out : input real or complex (in 'z' format) input matrix data, output complete orthogonal factorization
21  * @param iRows int in : nb of rows of the input matrix
22  * @param iCols int in : nb of cols of the input matrix
23  * @param pRhs double[complex]* in : input real or complex (in 'z' format) rhs matrix data
24  * @param iNRhs int in : nb of cols of the rhs matrix
25  * @param complexArgs int (boolean semantics) in : whether the input matrix are real or complex
26  *
27  * out:
28  * @param pResult double[complex]* out: iCols x nRhs solution matrix data
29  *
30  * in :
31  * @param pTreshold double* in: treshold used to compute the effective rank of the matrix. Using pass-by-pointer because it is optional.
32  * if NULL, then default value of sqrt(epsilon) is used.
33  *
34  * out :
35  * @param piRank int* out: effective rank of input matrix. if NULL, the result is not returned.
36  *
37  */
38
39 LINEAR_ALGEBRA_IMPEXP int iLsqM(double* pMatrix, int iRows, int iCols, double* pRhs, int iNRhs, int complexArgs, double* pResult, double* pTreshold, int* piRank);
40
41
42 #endif