23 #if !defined (octave_dMatrix_h)
24 #define octave_dMatrix_h 1
44 typedef void (*solve_singularity_handler) (
double rcon);
57 :
NDArray (dv.redim (2), val) { }
86 bool is_symmetric (
void)
const;
137 int force,
int calc_cond)
const;
140 int force,
int calc_cond)
const;
146 int calc_cond = 1)
const;
151 int force = 0,
int calc_cond = 1)
const;
164 int calc_cond = 1)
const;
166 double& rcon,
int calc_cond = 1)
const;
168 double rcond (
void)
const;
175 bool calc_cond =
false,
181 bool calc_cond =
false,
187 bool calc_cond =
false)
const;
197 bool singular_fallback =
true,
208 bool singular_fallback =
true,
335 friend OCTAVE_API std::ostream&
operator << (std::ostream& os,
static void swap_bytes(void *ptr, unsigned int i, unsigned int j)
Matrix operator-=(Matrix &x, const double &y)
OCTAVE_API Matrix linspace(const ColumnVector &x1, const ColumnVector &x2, octave_idx_type n)
ComplexMatrix ifourier(void) const
Matrix(const dim_vector &dv)
ComplexDET determinant(void) const
bool operator!=(const dim_vector &a, const dim_vector &b)
void resize(octave_idx_type nr, octave_idx_type nc, double rfv=0)
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
Matrix(const Array< U > &a)
static ComplexMatrix ltsolve(const SparseComplexMatrix &, const ColumnVector &, const ComplexMatrix &)
ComplexMatrix inverse(void) const
ColumnVector column_vector_type
OCTAVE_API Matrix operator*(const ColumnVector &a, const RowVector &b)
MArray< T > transpose(void) const
RowVector row_vector_type
ComplexRowVector row(octave_idx_type i) const
OCTAVE_API Matrix real(const ComplexMatrix &a)
OCTAVE_API Matrix Sylvester(const Matrix &, const Matrix &, const Matrix &)
void(* solve_singularity_handler)(double rcon)
#define SM_CMP_OP_DECLS(S, M, API)
Matrix(const dim_vector &dv, double val)
OCTAVE_API Matrix imag(const ComplexMatrix &a)
F77_RET_T const double const double double * d
ComplexMatrix prod(int dim=-1) const
ComplexRowVector column_min(void) const
ComplexMatrix fsolve(MatrixType &typ, const ComplexMatrix &b, octave_idx_type &info, double &rcon, solve_singularity_handler sing_handler, bool calc_cond=false) const
OCTAVE_API Matrix max(double d, const Matrix &m)
static MArray< double > const octave_idx_type const octave_idx_type octave_idx_type octave_idx_type r2
ComplexMatrix cumprod(int dim=-1) const
void read_int(std::istream &is, bool swap_bytes, T &val)
ComplexMatrix cumsum(int dim=-1) const
#define SM_BOOL_OP_DECLS(S, M, API)
OCTAVE_API Matrix min(double d, const Matrix &m)
boolMatrix all(int dim=-1) const
#define MM_CMP_OP_DECLS(M1, M2, API)
#define MM_BOOL_OP_DECLS(M1, M2, API)
void resize(const dim_vector &dv, const T &rfv)
ComplexColumnVector row_min(void) const
boolMatrix any(int dim=-1) const
Matrix transpose(void) const
ComplexMatrix solve(MatrixType &typ, const Matrix &b) const
OCTAVE_API Matrix xgemm(const Matrix &a, const Matrix &b, blas_trans_type transa=blas_no_trans, blas_trans_type transb=blas_no_trans)
ComplexMatrix fourier(void) const
#define MARRAY_FORWARD_DEFS(B, R, T)
ComplexMatrix sumsq(int dim=-1) const
ComplexColumnVector row_max(void) const
Matrix(octave_idx_type r, octave_idx_type c, double val)
Matrix(octave_idx_type r, octave_idx_type c)
bool operator==(const dim_vector &a, const dim_vector &b)
#define MS_CMP_OP_DECLS(M, S, API)
ComplexMatrix pseudo_inverse(double tol=0.0) const
Handles the reference counting for all the derived classes.
Matrix(const MArray< U > &a)
ComplexRowVector column_max(void) const
ComplexMatrix finverse(MatrixType &mattype, octave_idx_type &info, double &rcon, int force, int calc_cond) const
Matrix operator+=(Matrix &x, const double &y)
OCTAVE_API Matrix Givens(double, double)
static ComplexMatrix utsolve(const SparseComplexMatrix &, const ColumnVector &, const ComplexMatrix &)
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
#define MS_BOOL_OP_DECLS(M, S, API)
ComplexMatrix sum(int dim=-1) const
ComplexMatrix ifourier2d(void) const
static MArray< double > const octave_idx_type const octave_idx_type octave_idx_type octave_idx_type octave_idx_type c1
ComplexMatrix diag(octave_idx_type k=0) const
static MArray< double > const octave_idx_type const octave_idx_type octave_idx_type r1
ComplexMatrix lssolve(const Matrix &b) const
ComplexMatrix tinverse(MatrixType &mattype, octave_idx_type &info, double &rcon, int force, int calc_cond) const
ComplexColumnVector column(octave_idx_type i) const
ComplexMatrix extract_n(octave_idx_type r1, octave_idx_type c1, octave_idx_type nr, octave_idx_type nc) const
ComplexMatrix extract(octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
Array< Complex > index(const idx_vector &i) const
Indexing without resizing.
ComplexMatrix fourier2d(void) const