MyraMath
bdsqr.h
Go to the documentation of this file.
1 // ========================================================================= //
2 // This file is part of MyraMath, copyright (c) 2014-2019 by Ryan A Chilton //
3 // and distributed by MyraCore, LLC. See LICENSE.txt for license terms. //
4 // ========================================================================= //
5 
6 #ifndef MYRAMATH_DENSE_BDSQR_H
7 #define MYRAMATH_DENSE_BDSQR_H
8 
14 #include <myramath/utility/detail/LIBPUBLIC.h>
16 
17 namespace myra {
18 
19 // Forward declarations.
20 template<class Number> class Matrix;
21 template<class Number> class VectorRange;
22 
24 // Input is stored in two vectors, the diagonal in B0[0:N) and the superdiagonal in B1[0:N-1).
26 // Returns singular vectors U and V' as real Matrix's, and overwrites B0 with singular values S. B1 is clobbered.
27 LIBPUBLIC std::pair<Matrix<NumberS>,Matrix<NumberS> > bdsqr_inplace(const VectorRange<NumberS>& B0, const VectorRange<NumberS>& B1);
28 LIBPUBLIC std::pair<Matrix<NumberD>,Matrix<NumberD> > bdsqr_inplace(const VectorRange<NumberD>& B0, const VectorRange<NumberD>& B1);
30 
31 } // namespace
32 
33 #endif
Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAP...
Definition: bdsqr.h:20
Represents a mutable VectorRange.
Definition: axpy.h:21
Definition: syntax.dox:1
Various utility functions/classes related to scalar Number types.