26 #if ! defined (octave_dMatrix_h)
27 #define octave_dMatrix_h 1
29 #include "octave-config.h"
60 typedef void (*solve_singularity_handler) (
double rcon);
79 :
NDArray (dv.redim (2), val) { }
165 bool force,
bool calc_cond)
const;
168 bool force,
bool calc_cond)
const;
175 bool calc_cond =
true)
const;
181 bool force =
false,
bool calc_cond =
true)
const;
195 bool calc_cond =
true)
const;
198 double& rcon,
bool calc_cond =
true)
const;
207 bool calc_cond =
false,
213 bool calc_cond =
false,
219 bool calc_cond =
false)
const;
232 bool singular_fallback =
true,
247 bool singular_fallback =
true,
446 template <typename T>
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
#define MARRAY_FORWARD_DEFS(B, R, T)
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
static void swap_bytes(void *ptr, unsigned int i, unsigned int j)
N Dimensional Array with copy-on-write semantics.
OCTARRAY_API Array< T, Alloc > index(const octave::idx_vector &i) const
Indexing without resizing.
OCTARRAY_API void resize(const dim_vector &dv, const T &rfv)
ComplexMatrix fsolve(MatrixType &mattype, const ComplexMatrix &b, octave_idx_type &info, double &rcon, solve_singularity_handler sing_handler, bool calc_cond=false) const
OCTAVE_API ComplexMatrix lssolve(const Matrix &b) const
OCTAVE_API ComplexMatrix extract(octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
OCTAVE_API ComplexColumnVector row_max(void) const
OCTAVE_API boolMatrix all(int dim=-1) const
OCTAVE_API ComplexMatrix fourier2d(void) const
OCTAVE_API ComplexRowVector column_min(void) const
OCTAVE_API ComplexColumnVector row_min(void) const
ComplexMatrix finverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
OCTAVE_API double rcond(void) const
OCTAVE_API ComplexMatrix diag(octave_idx_type k=0) const
OCTAVE_API ComplexMatrix pseudo_inverse(double tol=0.0) const
OCTAVE_API ComplexMatrix inverse(void) const
OCTAVE_API ComplexDET determinant(void) const
OCTAVE_API ComplexMatrix ifourier(void) const
OCTAVE_API ComplexMatrix ifourier2d(void) const
OCTAVE_API ComplexRowVector row(octave_idx_type i) const
OCTAVE_API ComplexMatrix solve(MatrixType &mattype, const Matrix &b) const
OCTAVE_API ComplexRowVector column_max(void) const
OCTAVE_API ComplexMatrix sumsq(int dim=-1) const
void(* solve_singularity_handler)(double rcon)
OCTAVE_API ComplexMatrix extract_n(octave_idx_type r1, octave_idx_type c1, octave_idx_type nr, octave_idx_type nc) const
OCTAVE_API ComplexMatrix cumprod(int dim=-1) const
OCTAVE_API ComplexMatrix fourier(void) const
OCTAVE_API ComplexMatrix prod(int dim=-1) const
OCTAVE_API ComplexMatrix cumsum(int dim=-1) const
ComplexMatrix tinverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
OCTAVE_API boolMatrix any(int dim=-1) const
OCTAVE_API ComplexMatrix sum(int dim=-1) const
OCTAVE_API ComplexColumnVector column(octave_idx_type i) const
Template for N-dimensional array classes with like-type math operators.
MArray< T > transpose(void) const
Matrix(const Array< U > &a)
DiagMatrix real_diag_matrix_type
RowVector row_vector_type
Matrix hermitian(void) const
ComplexDiagMatrix complex_diag_matrix_type
ComplexMatrix complex_matrix_type
RowVector real_row_vector_type
Matrix(octave_idx_type r, octave_idx_type c)
Matrix(const Matrix &a)=default
Matrix transpose(void) const
Matrix(octave_idx_type r, octave_idx_type c, double val)
Matrix(const dim_vector &dv)
ColumnVector real_column_vector_type
ColumnVector column_vector_type
void resize(octave_idx_type nr, octave_idx_type nc, double rfv=0)
Matrix(const MArray< U > &a)
Matrix(const dim_vector &dv, double val)
Vector representing the dimensions (size) of an Array.
OCTAVE_API Matrix min(double d, const Matrix &m)
Matrix operator+=(Matrix &x, const double &y)
void read_int(std::istream &is, bool swap_bytes, T &val)
OCTAVE_API Matrix real(const ComplexMatrix &a)
OCTAVE_API Matrix Sylvester(const Matrix &, const Matrix &, const Matrix &)
OCTAVE_API Matrix max(double d, const Matrix &m)
OCTAVE_API Matrix imag(const ComplexMatrix &a)
OCTAVE_API Matrix linspace(const ColumnVector &x1, const ColumnVector &x2, octave_idx_type n)
OCTAVE_API Matrix operator*(const ColumnVector &a, const RowVector &b)
Matrix operator-=(Matrix &x, const double &y)
OCTAVE_API Matrix xgemm(const Matrix &a, const Matrix &b, blas_trans_type transa=blas_no_trans, blas_trans_type transb=blas_no_trans)
OCTAVE_API Matrix Givens(double, double)
bool operator!=(const dim_vector &a, const dim_vector &b)
bool operator==(const dim_vector &a, const dim_vector &b)
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
#define SM_BOOL_OP_DECLS(S, M, API)
#define MS_CMP_OP_DECLS(M, S, API)
#define SM_CMP_OP_DECLS(S, M, API)
#define MS_BOOL_OP_DECLS(M, S, API)
#define MM_CMP_OP_DECLS(M1, M2, API)
#define MM_BOOL_OP_DECLS(M1, M2, API)
std::complex< double > Complex