Low-level interface +++++++++++++++++++ The user will find here the low-level linear algebra interface. Most of the functions here are wrappers around the CBLAS or LAPACK API and the user should be careful when using them, see :ref:`label-blaslapack-issue` to understand why. .. _label-lpk2mat: lpk2mat ------- .. doxygenfunction:: lpk2mat(std::vectorconst &V, std::size_t m, std::size_t n) :project: castor See :ref:`label-mat2lpk`. .. _label-mat2lpk: mat2lpk ------- .. doxygenfunction:: mat2lpk(matrix const &A, std::size_t L) :project: castor See :ref:`label-lpk2mat`. .. _label-tgeev: tgeev ----- .. doxygenfunction:: tgeev(std::string typ, int &n, std::vector &A, std::vector &E, std::vector &V) :project: castor .. doxygenfunction:: xgeev(char &jobl, char &jobr, int &n, std::vector &A, std::vector &E, std::vector &V, zlpk &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgeev(char &jobl, char &jobr, int &n, std::vector &A, std::vector &E, std::vector &V, clpk &wkopt, int &lwork, int &info) :project: castor .. _label_tgels: tgels ----- .. doxygenfunction:: tgels(int &m, int &n, int &nrhs, std::vector &A, std::vector &B) :project: castor .. doxygenfunction:: xgels(char &t, int &m, int &n, int &nrhs, std::vector &A, std::vector &B, int &l, zlpk &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgels(char &t, int &m, int &n, int &nrhs, std::vector &A, std::vector &B, int &l, double &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgels(char &t, int &m, int &n, int &nrhs, std::vector &A, std::vector &B, int &l, clpk &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgels(char &t, int &m, int &n, int &nrhs, std::vector &A, std::vector &B, int &l, float &wkopt, int &lwork, int &info) :project: castor .. _label-tgemm-blas: tgemm ----- .. doxygenfunction:: tgemm(R alpha, matrix const &A, matrix const &B, S beta, matrix &C) :project: castor .. doxygenfunction:: tgemm(R alpha, matrix> const &A, matrix> const &B, S beta, matrix> &C) :project: castor .. doxygenfunction:: tgemm(R alpha, matrix> const &A, matrix> const &B, S beta, matrix> &C) :project: castor .. doxygenfunction:: tgemm(R alpha, matrix const &A, matrix const &B, S beta, matrix &C) :project: castor See :ref:`label-tgemm-naive`. .. _label-tgeqrf: tgeqrf ------ .. doxygenfunction:: tgeqrf(int &m, int &n, std::vector &A, std::vector &R) :project: castor .. doxygenfunction:: xgeqrf(int &m, int &n, int &l, std::vector &A, std::vector &tau, zlpk &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgeqrf(int &m, int &n, int &l, std::vector &A, std::vector &tau, double &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgeqrf(int &m, int &n, int &l, std::vector &A, std::vector &tau, clpk &wkopt, int &lwork, int &info) :project: castor .. doxygenfunction:: xgeqrf(int &m, int &n, int &l, std::vector &A, std::vector &tau, float &wkopt, int &lwork, int &info) :project: castor .. _label-tgesdd: tgesdd ------ .. doxygenfunction:: tgesdd(std::string typ, int &m, int &n, std::vector &A, std::vector &S, std::vector &U, std::vector &V) :project: castor .. doxygenfunction:: xgesdd(char &job, int &m, int &n, int &l, std::vector &A, std::vector &S, std::vector &U, std::vector &V, zlpk &wkopt, int &lwork, std::vector &iwork, int &info) :project: castor .. doxygenfunction:: xgesdd(char &job, int &m, int &n, int &l, std::vector &A, std::vector &S, std::vector &U, std::vector &V, double &wkopt, int &lwork, std::vector &iwork, int &info) :project: castor .. doxygenfunction:: xgesdd(char &job, int &m, int &n, int &l, std::vector &A, std::vector &S, std::vector &U, std::vector &V, clpk &wkopt, int &lwork, std::vector &iwork, int &info) :project: castor .. doxygenfunction:: xgesdd(char &job, int &m, int &n, int &l, std::vector &A, std::vector &S, std::vector &U, std::vector &V, float &wkopt, int &lwork, std::vector &iwork, int &info) :project: castor .. _label-tgesv: tgesv ----- .. doxygenfunction:: tgesv(int &n, int &nrhs, std::vector &A, std::vector &B) :project: castor .. doxygenfunction:: xgesv(int &n, int &nrhs, std::vector &A, std::vector &B, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgesv(int &n, int &nrhs, std::vector &A, std::vector &B, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgesv(int &n, int &nrhs, std::vector &A, std::vector &B, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgesv(int &n, int &nrhs, std::vector &A, std::vector &B, std::vector &ipiv, int &info) :project: castor .. _label-tgetrf: tgetrf ------ .. doxygenfunction:: tgetrf(int &m, int &n, std::vector &A, std::vector &P, matrix &U) :project: castor .. doxygenfunction:: xgetrf(int &m, int &n, std::vector &A, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgetrf(int &m, int &n, std::vector &A, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgetrf(int &m, int &n, std::vector &A, std::vector &ipiv, int &info) :project: castor .. doxygenfunction:: xgetrf(int &m, int &n, std::vector &A, std::vector &ipiv, int &info) :project: castor