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