26#if ! defined (octave_sparse_qr_h)
27#define octave_sparse_qr_h 1
29#include "octave-config.h"
45template <
typename SPARSE_T>
52#if (defined (HAVE_SPQR) && defined (HAVE_CHOLMOD))
55#elif defined (HAVE_CXSPARSE)
83 OCTAVE_API typename SPARSE_T::dense_matrix_type
84 C (
const typename SPARSE_T::dense_matrix_type& b,
bool econ =
false)
const;
86 OCTAVE_API typename SPARSE_T::dense_matrix_type
87 Q (
bool econ =
false)
const;
89 template <
typename RHS_T,
typename RET_T>
91 solve (
const SPARSE_T& a,
const RHS_T& b,
96 template <
typename RHS_T,
typename RET_T>
98 min2norm_solve (
const SPARSE_T& a,
const RHS_T& b,
101 template <
typename RHS_T,
typename RET_T>
105 template <
typename RHS_T,
typename RET_T>
112 std::shared_ptr<sparse_qr_rep> m_rep;
158OCTAVE_END_NAMESPACE(math)
159OCTAVE_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)