23 #if ! defined (octave_dMatrix_h) 24 #define octave_dMatrix_h 1 26 #include "octave-config.h" 57 typedef void (*solve_singularity_handler) (
double rcon);
99 bool issymmetric (
void)
const;
101 OCTAVE_DEPRECATED (4.4,
"use 'issymmetric' instead")
103 {
return issymmetric (); }
155 bool force,
bool calc_cond)
const;
158 bool force,
bool calc_cond)
const;
164 bool calc_cond =
true)
const;
169 bool force =
false,
bool calc_cond =
true)
const;
182 bool calc_cond =
true)
const;
184 double& rcon,
bool calc_cond =
true)
const;
186 double rcond (
void)
const;
193 bool calc_cond =
false,
199 bool calc_cond =
false,
205 bool calc_cond =
false)
const;
216 bool singular_fallback =
true,
227 bool singular_fallback =
true,
354 friend OCTAVE_API std::ostream&
operator << (std::ostream&
os,
405 template <typename T>
static void swap_bytes(void *ptr, unsigned int i, unsigned int j)
Matrix operator-=(Matrix &x, const double &y)
ComplexMatrix extract_n(octave_idx_type r1, octave_idx_type c1, octave_idx_type nr, octave_idx_type nc) const
ComplexMatrix lssolve(const Matrix &b) const
OCTAVE_API Matrix linspace(const ColumnVector &x1, const ColumnVector &x2, octave_idx_type n)
ComplexMatrix sumsq(int dim=-1) const
OCTAVE_EXPORT octave_value_list column
Template for N-dimensional array classes with like-type math operators.
Matrix(const dim_vector &dv)
ComplexRowVector column_min(void) const
ComplexMatrix complex_matrix_type
bool operator!=(const dim_vector &a, const dim_vector &b)
ComplexDET determinant(void) const
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)
void(* solve_singularity_handler)(double rcon)
ColumnVector column_vector_type
ComplexMatrix fourier(void) const
identity matrix If supplied two scalar respectively For allows like xample val
DiagMatrix real_diag_matrix_type
OCTAVE_API Matrix operator*(const ColumnVector &a, const RowVector &b)
ComplexMatrix cumsum(int dim=-1) const
RowVector row_vector_type
ComplexMatrix fourier2d(void) const
the second is matched to the second specifier and placed in the second column and so forth If there are more words than specifiers then the process is repeated until all words have been processed or the limit imposed by any(non-whitespace) text in the format that is not one of these specifiers is considered a literal. If there is a literal between two format specifiers then that same literal must appear in the input stream between the matching words. The following specifiers are valid
OCTAVE_API Matrix real(const ComplexMatrix &a)
OCTAVE_API Matrix Sylvester(const Matrix &, const Matrix &, const Matrix &)
#define SM_CMP_OP_DECLS(S, M, API)
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several though writing to the same file through several different file ids may produce unexpected results The possible values of text mode reading and writing automatically converts linefeeds to the appropriate line end character for the you may append a you must also open the file in binary mode The parameter conversions are currently only supported for and permissions will be set to and then everything is written in a single operation This is very efficient and improves performance c
MArray< T > transpose(void) const
Matrix(const dim_vector &dv, double val)
Array< T > as_matrix(void) const
Return the array as a matrix.
#define MARRAY_FORWARD_DEFS(B, R, T)
OCTAVE_API Matrix imag(const ComplexMatrix &a)
ComplexMatrix cumprod(int dim=-1) const
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
ComplexMatrix inverse(void) const
ComplexMatrix fsolve(MatrixType &mattype, const ComplexMatrix &b, octave_idx_type &info, double &rcon, solve_singularity_handler sing_handler, bool calc_cond=false) const
Array< T > & insert(const Array< T > &a, const Array< octave_idx_type > &idx)
Insert an array into another at a specified position.
ComplexMatrix ifourier2d(void) const
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
boolMatrix all(int dim=-1) const
OCTAVE_API Matrix max(double d, const Matrix &m)
ComplexColumnVector row_min(void) const
Matrix transpose(void) const
ComplexMatrix tinverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
void read_int(std::istream &is, bool swap_bytes, T &val)
Array< Complex > index(const idx_vector &i) const
Indexing without resizing.
ComplexMatrix diag(octave_idx_type k=0) const
#define SM_BOOL_OP_DECLS(S, M, API)
OCTAVE_API Matrix min(double d, const Matrix &m)
Matrix hermitian(void) 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)
Resizing (with fill).
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
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 solve(MatrixType &mattype, const Matrix &b) const
ComplexMatrix finverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
Matrix(octave_idx_type r, octave_idx_type c, double val)
Matrix(octave_idx_type r, octave_idx_type c)
RowVector real_row_vector_type
bool operator==(const dim_vector &a, const dim_vector &b)
ComplexColumnVector row_max(void) const
#define MS_CMP_OP_DECLS(M, S, API)
N Dimensional Array with copy-on-write semantics.
Matrix(const MArray< U > &a)
ColumnVector real_column_vector_type
ComplexMatrix extract(octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
Matrix operator+=(Matrix &x, const double &y)
OCTAVE_API Matrix Givens(double, double)
ComplexMatrix ifourier(void) const
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
ComplexMatrix pseudo_inverse(double tol=0.0) const
ComplexDiagMatrix complex_diag_matrix_type
#define MS_BOOL_OP_DECLS(M, S, API)
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
ComplexMatrix prod(int dim=-1) const
std::complex< double > Complex
ComplexMatrix sum(int dim=-1) const
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
ComplexRowVector column_max(void) const
where the brackets indicate optional arguments and and character or cell array For character arrays the conversion is repeated for every row