26#if ! defined (octave_sparse_qr_h)
27#define octave_sparse_qr_h 1
29#include "octave-config.h"
46template <
typename SPARSE_T>
53#if (defined (HAVE_SPQR) && defined (HAVE_CHOLMOD))
56#elif defined (HAVE_CXSPARSE)
84 OCTAVE_API typename SPARSE_T::dense_matrix_type
85 C (
const typename SPARSE_T::dense_matrix_type& b,
bool econ =
false)
const;
87 OCTAVE_API typename SPARSE_T::dense_matrix_type
88 Q (
bool econ =
false)
const;
90 template <
typename RHS_T,
typename RET_T>
92 solve (
const SPARSE_T& a,
const RHS_T& b,
97 template <
typename RHS_T,
typename RET_T>
99 min2norm_solve (
const SPARSE_T& a,
const RHS_T& b,
102 template <
typename RHS_T,
typename RET_T>
106 template <
typename RHS_T,
typename RET_T>
113 std::shared_ptr<sparse_qr_rep> m_rep;
159OCTAVE_END_NAMESPACE(math)
160OCTAVE_END_NAMESPACE(octave)
Template for N-dimensional array classes with like-type math operators.
SPARSE_T R(bool econ=false) const
SparseMatrix E_MAT() const
sparse_qr & operator=(const sparse_qr &a)=default
sparse_qr(const sparse_qr &a)=default
static RET_T solve(const SPARSE_T &a, const RHS_T &b, octave_idx_type &info)
ColumnVector Pinv() const
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
F77_RET_T const F77_INT const F77_INT const F77_INT F77_DBLE const F77_INT F77_DBLE const F77_INT F77_DBLE * Q
sparse_qr< SparseComplexMatrix > SparseComplexQR
sparse_qr< SparseMatrix > SparseQR
Matrix qrsolve(const SparseMatrix &a, const MArray< double > &b, octave_idx_type &info)