58 template<
typename dtype>
59 std::tuple<NdArray<double>, NdArray<double>, NdArray<double>>
84 s += std::fabs(uMatrix(i,
j));
87 const double q = std::fabs(uMatrix(i, k)) / s;
112 lMatrix(i, k) = uMatrix(i, k) / uMatrix(k, k);
116 uMatrix(i,
j) = uMatrix(i,
j) - lMatrix(i, k) * uMatrix(k,
j);
126 return std::make_tuple(lMatrix, uMatrix, pMatrix);
#define THROW_RUNTIME_ERROR(msg)
Definition: Error.hpp:38
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition: StaticAsserts.hpp:37
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition: NdArrayCore.hpp:72
Shape shape() const noexcept
Definition: NdArrayCore.hpp:4276
uint32 rows
Definition: Core/Shape.hpp:44
bool issquare() const noexcept
Definition: Core/Shape.hpp:125
uint32 cols
Definition: Core/Shape.hpp:45
constexpr auto j
Definition: Constants.hpp:45
std::tuple< NdArray< double >, NdArray< double >, NdArray< double > > pivotLU_decomposition(const NdArray< dtype > &inMatrix)
Definition: pivotLU_decomposition.hpp:60
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:51
Definition: Coordinate.hpp:45
void swap(NdArray< dtype > &inArray1, NdArray< dtype > &inArray2) noexcept
Definition: swap.hpp:42
NdArray< dtype > max(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: max.hpp:44
Shape shape(const NdArray< dtype > &inArray) noexcept
Definition: Functions/Shape.hpp:42
std::uint32_t uint32
Definition: Types.hpp:40