Mercurial > octave
comparison liboctave/array/fMatrix.cc @ 21273:cbced1c09916
better use of templates for svd classes
* liboctave/numeric/svd.h, liboctave/numeric/svd.cc: New files for svd
classes generated from CmplxSVD.cc, CmplxSVD.h, dbleSVD.cc, dbleSVD.h,
fCmplxSVD.cc, fCmplxSVD.h, floatSVD.cc, and floatSVD.h and converted
to templates.
* liboctave/numeric/module.mk: Update.
* __qp__.cc, svd.cc, CMatrix.cc, CMatrix.h, dDiagMatrix.h, dMatrix.cc,
dMatrix.h, fCMatrix.cc, fCMatrix.h, fDiagMatrix.h, fMatrix.cc,
fMatrix.h, oct-norm.cc, mx-defs.h, mx-ext.h: Use new classes.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 16 Feb 2016 14:41:06 -0500 |
parents | 3c8a3d35661a |
children | 40de9f8f23a6 |
comparison
equal
deleted
inserted
replaced
21272:987c1a79d33f | 21273:cbced1c09916 |
---|---|
47 #include "DET.h" | 47 #include "DET.h" |
48 #include "byte-swap.h" | 48 #include "byte-swap.h" |
49 #include "f77-fcn.h" | 49 #include "f77-fcn.h" |
50 #include "fMatrix.h" | 50 #include "fMatrix.h" |
51 #include "schur.h" | 51 #include "schur.h" |
52 #include "floatSVD.h" | 52 #include "svd.h" |
53 #include "functor.h" | 53 #include "functor.h" |
54 #include "lo-error.h" | 54 #include "lo-error.h" |
55 #include "lo-ieee.h" | 55 #include "lo-ieee.h" |
56 #include "lo-mappers.h" | 56 #include "lo-mappers.h" |
57 #include "lo-utils.h" | 57 #include "lo-utils.h" |
830 } | 830 } |
831 | 831 |
832 FloatMatrix | 832 FloatMatrix |
833 FloatMatrix::pseudo_inverse (float tol) const | 833 FloatMatrix::pseudo_inverse (float tol) const |
834 { | 834 { |
835 FloatSVD result (*this, SVD::economy); | 835 svd<FloatMatrix> result (*this, svd<FloatMatrix>::economy); |
836 | 836 |
837 FloatDiagMatrix S = result.singular_values (); | 837 FloatDiagMatrix S = result.singular_values (); |
838 FloatMatrix U = result.left_singular_matrix (); | 838 FloatMatrix U = result.left_singular_matrix (); |
839 FloatMatrix V = result.right_singular_matrix (); | 839 FloatMatrix V = result.right_singular_matrix (); |
840 | 840 |