Macaulay2 Engine
Loading...
Searching...
No Matches

◆ fill_from_lapack_array() [2/2]

void fill_from_lapack_array ( const std::vector< double > & doubles,
DMatRR & mat )

Definition at line 45 of file lapack.cpp.

46{
47 size_t len = mat.numRows() * mat.numColumns();
48 if (len > doubles.size())
49 {
50 throw exc::engine_error("Internal error: a size in lapack code was set too small");
51 }
52 size_t i = 0;
53 for (size_t c = 0; c < mat.numColumns(); ++c)
54 for (size_t r = 0; r < mat.numRows(); ++r)
55 mat.entry(r, c) = doubles[i++];
56}
size_t numRows() const
Definition dmat.hpp:144
ElementType & entry(size_t row, size_t column)
Definition dmat.hpp:148
size_t numColumns() const
Definition dmat.hpp:145
doubling_stash * doubles
Definition mem.cpp:14

References doubles, DMat< ACoeffRing >::entry(), DMat< ACoeffRing >::numColumns(), and DMat< ACoeffRing >::numRows().

Referenced by DMatLUinPlace< RingType >::computeLU(), Lapack::eigenvalues(), Lapack::eigenvalues_hermitian(), Lapack::eigenvalues_symmetric(), Lapack::eigenvectors(), Lapack::eigenvectors_hermitian(), Lapack::eigenvectors_symmetric(), Lapack::least_squares(), Lapack::least_squares(), Lapack::least_squares_deficient(), Lapack::least_squares_deficient(), Lapack::QR(), Lapack::QR(), Lapack::solve(), Lapack::solve(), Lapack::SVD(), Lapack::SVD(), Lapack::SVD_divide_conquer(), and Lapack::SVD_divide_conquer().