48 template<
typename dtype>
115 for (
auto i = 0
u; i < std::min(m_, n_); ++i)
164 const auto At =
A.transpose();
172 for (
auto i = 0
u; i < std::min(m_, n_); ++i)
188 auto Av = NdArray<double>(m_, 1);
189 for (
auto i = 0
u; i <
rank; ++i)
191 for (
auto j = 0
u; j < m_; ++j)
194 for (
auto k = 0
u; k < n_; ++k)
196 sum +=
A(j, k) * v_(k, i);
205 for (
auto j = 0
u;
j < m_; ++
j)
217 NdArray<double> u_{};
218 NdArray<double> v_{};
219 NdArray<double> s_{};
220 NdArray<double> pinv_{};
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition Error.hpp:37
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
self_type transpose() const
Definition NdArrayCore.hpp:4959
bool isempty() const noexcept
Definition NdArrayCore.hpp:3008
value_type item() const
Definition NdArrayCore.hpp:3098
Performs the singular value decomposition of a general matrix.
Definition svd/svd.hpp:50
const NdArray< double > & u() const noexcept
Definition svd/svd.hpp:76
const NdArray< double > & s() const noexcept
Definition svd/svd.hpp:98
STATIC_ASSERT_ARITHMETIC(dtype)
static constexpr auto TOLERANCE
Definition svd/svd.hpp:54
NdArray< double > pinv()
Definition svd/svd.hpp:109
SVD(const NdArray< dtype > &inMatrix)
Definition svd/svd.hpp:62
NdArray< double > lstsq(const NdArray< double > &inInput)
Definition svd/svd.hpp:137
const NdArray< double > & v() const noexcept
Definition svd/svd.hpp:87
constexpr auto j
Definition Core/Constants.hpp:42
Definition cholesky.hpp:41
std::pair< NdArray< double >, NdArray< double > > eig(const NdArray< dtype > &inA, double inTolerance=1e-12)
Definition eig.hpp:53
NdArray< double > norm(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition norm.hpp:51
NdArray< dtype > dot(const NdArray< dtype > &inArray1, const NdArray< dtype > &inArray2)
Definition dot.hpp:47
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59
NdArray< dtype > sum(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition sum.hpp:46
Shape shape(const NdArray< dtype > &inArray) noexcept
Definition Functions/shape.hpp:42
std::uint32_t uint32
Definition Types.hpp:40