Mercurial > hg > octave-nkf
diff liboctave/dbleSVD.h @ 10601:3ce0c530a9c9
implement svd_driver
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 03 May 2010 13:21:35 +0200 |
parents | cbc402e64d83 |
children | 367bfee35ba0 |
line wrap: on
line diff
--- a/liboctave/dbleSVD.h +++ b/liboctave/dbleSVD.h @@ -42,13 +42,22 @@ sigma_only }; + enum driver + { + GESVD, + GESDD + }; + SVD (void) : sigma (), left_sm (), right_sm () { } - SVD (const Matrix& a, type svd_type = SVD::std) { init (a, svd_type); } + SVD (const Matrix& a, + type svd_type = SVD::std, driver svd_driver = SVD::GESVD) + { init (a, svd_type, svd_driver); } - SVD (const Matrix& a, octave_idx_type& info, type svd_type = SVD::std) + SVD (const Matrix& a, octave_idx_type& info, + type svd_type = SVD::std, driver svd_driver = SVD::GESVD) { - info = init (a, svd_type); + info = init (a, svd_type, svd_driver); } SVD (const SVD& a) @@ -86,7 +95,8 @@ Matrix left_sm; Matrix right_sm; - octave_idx_type init (const Matrix& a, type svd_type = std); + octave_idx_type init (const Matrix& a, + type svd_type = std, driver svd_driver = GESVD); }; #endif