What does the parameter excellent in LAPACKE_dgesvd (..) mean?

Putting questions like this causes a bad conscience ... however, it seems to me that it is difficult to do Google. I am experimenting with

lapack_int LAPACKE_dgesvd(
  int matrix_order, char jobu, char jobvt,
  lapack_int m, lapack_int n, double* a,
  lapack_int lda, double* s, double* u, lapack_int ldu,
  double* vt, lapack_int ldvt, double* superb);

where promises the decomposition of a singular value. Stopping to fear Fortran, I found a gold mine here: http://www.netlib.no/netlib/lapack/double/dgesvd.f

In fact, this link indicates all the parameters, but LAPACKE is specifically double * superb (well, the order parameter, but in FORTRAN it is still COL_MAJOR).

Further, here http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_lapack_examples/lapacke_dgesvd_row.c.htm I found a program that seems to hint at "it's some kind of working cache" .

, , LAPACKE_dgesvd_work (..)?

, : min (M, N) -1 . ?

+4
1

http://www.netlib.no/netlib/lapack/double/dgesvd.f, WORK fortran:

WORK ( /) , (MAX (1, ​​LWORK))         , INFO = 0, WORK (1) LWORK; INFO > 0, WORK (2: MIN (M, N)) B, S ( ). B A = U * B * VT, , A, , U VT.

, B, , A. min(n,m)-1

lapack-3.5.0/lapacke/src/lapacke_dgesvd.c, http://www.netlib.org/lapack/, .

, lapacke_dgesvd() lapacke_dgesvd_work(). , WORK. WORK lapacke_dgesvd()

, - ... , ...

,

+2

Source: https://habr.com/ru/post/1526769/


All Articles