#include "dDiagMatrix.h"
Public Types | |
typedef Matrix | full_matrix_type |
Friends | |
DiagMatrix | imag (const ComplexDiagMatrix &a) |
std::ostream & | operator<< (std::ostream &os, const DiagMatrix &a) |
DiagMatrix | real (const ComplexDiagMatrix &a) |
Additional Inherited Members | |
Protected Types inherited from Array< T > | |
typedef bool(* | compare_fcn_type) (typename ref_param< T >::type, typename ref_param< T >::type) |
typedef ref_param< T >::type | crefT |
typedef T | element_type |
typedef octave_idx_type | size_type |
Used for operator(), and returned by numel() and size() (beware: signed integer) More... | |
typedef T | value_type |
Protected Member Functions inherited from Array< T > | |
Array (const Array< T, Alloc > &a, const dim_vector &dv, octave_idx_type l, octave_idx_type u) | |
slice constructor More... | |
Array () | |
Empty ctor (0 by 0). More... | |
Array (Array< T, Alloc > &&a) | |
Array (const Array< T, Alloc > &a) | |
No type conversion case. More... | |
Array (const Array< T, Alloc > &a, const dim_vector &dv) | |
Reshape constructor. More... | |
Array (const Array< U, A > &a) | |
Type conversion case. More... | |
Array (const Container< T > &a, const dim_vector &dv) | |
Constructor from standard library sequence containers. More... | |
Array (const dim_vector &dv) | |
nD uninitialized ctor. More... | |
Array (const dim_vector &dv, const T &val) | |
nD initialized ctor. More... | |
Array (T *ptr, const dim_vector &dv, const Alloc &xallocator=Alloc()) | |
virtual | ~Array () |
Array< T, Alloc > | as_column () const |
Return the array as a column vector. More... | |
Array< T, Alloc > | as_matrix () const |
Return the array as a matrix. More... | |
Array< T, Alloc > | as_row () const |
Return the array as a row vector. More... | |
void | clear () |
void | clear (const dim_vector &dv) |
void | clear (octave_idx_type r, octave_idx_type c) |
void | fill (const T &val) |
Array< octave_idx_type > | find (octave_idx_type, bool) const |
Array< octave_idx_type > | find (octave_idx_type, bool) const |
sortmode | is_sorted_rows (sortmode) const |
sortmode | is_sorted_rows (sortmode) const |
sortmode | issorted (sortmode mode) const |
sortmode | issorted (sortmode) const |
sortmode | issorted (sortmode) const |
Array< octave_idx_type > | lookup (const Array< octave::cdef_object > &, sortmode) const |
Array< octave_idx_type > | lookup (const Array< octave::idx_vector > &, sortmode) const |
octave_idx_type | lookup (octave::cdef_object const &, sortmode) const |
octave_idx_type | lookup (octave::idx_vector const &, sortmode) const |
void | make_unique () |
octave_idx_type | nnz () const |
octave_idx_type | nnz () const |
Array< octave::cdef_object > | nth_element (const octave::idx_vector &, int) const |
Array< octave::idx_vector > | nth_element (const octave::idx_vector &, int) const |
octave_idx_type | numel () const |
Number of elements in the array. More... | |
Array< T, Alloc > & | operator= (Array< T, Alloc > &&a) |
Array< T, Alloc > & | operator= (const Array< T, Alloc > &a) |
Array< octave::cdef_object > | sort (Array< octave_idx_type > &sidx, int, sortmode) const |
Array< octave::idx_vector > | sort (Array< octave_idx_type > &sidx, int, sortmode) const |
Array< octave::cdef_object > | sort (int, sortmode) const |
Array< octave::idx_vector > | sort (int, sortmode) const |
Array< octave_idx_type > | sort_rows_idx (sortmode) const |
Array< octave_idx_type > | sort_rows_idx (sortmode) const |
octave_idx_type | dim1 () const |
octave_idx_type | rows () const |
octave_idx_type | dim2 () const |
octave_idx_type | cols () const |
octave_idx_type | columns () const |
octave_idx_type | dim3 () const |
Size of the specified dimension. More... | |
octave_idx_type | pages () const |
Size of the specified dimension. More... | |
size_type | size (const size_type d) const |
Size of the specified dimension. More... | |
std::size_t | byte_size () const |
Size of the specified dimension. More... | |
const dim_vector & | dims () const |
Return a const-reference so that dims ()(i) works efficiently. More... | |
Array< T, Alloc > | squeeze () const |
Chop off leading singleton dimensions. More... | |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j) const |
Size of the specified dimension. More... | |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
Size of the specified dimension. More... | |
octave_idx_type | compute_index (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
octave_idx_type | compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
T & | xelem (octave_idx_type n) |
Size of the specified dimension. More... | |
crefT | xelem (octave_idx_type n) const |
Size of the specified dimension. More... | |
T & | xelem (octave_idx_type i, octave_idx_type j) |
Size of the specified dimension. More... | |
crefT | xelem (octave_idx_type i, octave_idx_type j) const |
Size of the specified dimension. More... | |
T & | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
Size of the specified dimension. More... | |
crefT | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
Size of the specified dimension. More... | |
T & | xelem (const Array< octave_idx_type > &ra_idx) |
Size of the specified dimension. More... | |
crefT | xelem (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
T & | checkelem (octave_idx_type n) |
Size of the specified dimension. More... | |
T & | checkelem (octave_idx_type i, octave_idx_type j) |
Size of the specified dimension. More... | |
T & | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
Size of the specified dimension. More... | |
T & | checkelem (const Array< octave_idx_type > &ra_idx) |
Size of the specified dimension. More... | |
crefT | checkelem (octave_idx_type n) const |
Size of the specified dimension. More... | |
crefT | checkelem (octave_idx_type i, octave_idx_type j) const |
Size of the specified dimension. More... | |
crefT | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
Size of the specified dimension. More... | |
crefT | checkelem (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
T & | elem (octave_idx_type n) |
Size of the specified dimension. More... | |
T & | elem (octave_idx_type i, octave_idx_type j) |
Size of the specified dimension. More... | |
T & | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
Size of the specified dimension. More... | |
T & | elem (const Array< octave_idx_type > &ra_idx) |
Size of the specified dimension. More... | |
crefT | elem (octave_idx_type n) const |
Size of the specified dimension. More... | |
crefT | elem (octave_idx_type i, octave_idx_type j) const |
Size of the specified dimension. More... | |
crefT | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
Size of the specified dimension. More... | |
crefT | elem (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
T & | operator() (octave_idx_type n) |
Size of the specified dimension. More... | |
T & | operator() (octave_idx_type i, octave_idx_type j) |
Size of the specified dimension. More... | |
T & | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
Size of the specified dimension. More... | |
T & | operator() (const Array< octave_idx_type > &ra_idx) |
Size of the specified dimension. More... | |
crefT | operator() (octave_idx_type n) const |
Size of the specified dimension. More... | |
crefT | operator() (octave_idx_type i, octave_idx_type j) const |
Size of the specified dimension. More... | |
crefT | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
Size of the specified dimension. More... | |
crefT | operator() (const Array< octave_idx_type > &ra_idx) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | column (octave_idx_type k) const |
Extract column: A(:,k+1). More... | |
Array< T, Alloc > | page (octave_idx_type k) const |
Extract page: A(:,:,k+1). More... | |
Array< T, Alloc > | linear_slice (octave_idx_type lo, octave_idx_type up) const |
Extract a slice from this array as a column vector: A(:)(lo+1:up). More... | |
Array< T, Alloc > | reshape (octave_idx_type nr, octave_idx_type nc) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | reshape (const dim_vector &new_dims) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | permute (const Array< octave_idx_type > &vec, bool inv=false) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | ipermute (const Array< octave_idx_type > &vec) const |
Size of the specified dimension. More... | |
bool | issquare () const |
Size of the specified dimension. More... | |
bool | isempty () const |
Size of the specified dimension. More... | |
bool | isvector () const |
Size of the specified dimension. More... | |
bool | is_nd_vector () const |
Size of the specified dimension. More... | |
Array< T, Alloc > | transpose () const |
Size of the specified dimension. More... | |
Array< T, Alloc > | hermitian (T(*fcn)(const T &)=nullptr) const |
Size of the specified dimension. More... | |
const T * | data () const |
Size of the specified dimension. More... | |
T * | fortran_vec () |
Size of the specified dimension. More... | |
bool | is_shared () const |
Size of the specified dimension. More... | |
int | ndims () const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i) const |
Indexing without resizing. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const Array< octave::idx_vector > &ia) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i, bool resize_ok, const T &rfv) const |
Indexing with possible resizing and fill. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i, bool resize_ok) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok, const T &rfv) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const Array< octave::idx_vector > &ia, bool resize_ok, const T &rfv) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | index (const Array< octave::idx_vector > &ia, bool resize_ok) const |
Size of the specified dimension. More... | |
virtual T | resize_fill_value () const |
Size of the specified dimension. More... | |
void | resize2 (octave_idx_type nr, octave_idx_type nc, const T &rfv) |
Resizing (with fill). More... | |
void | resize2 (octave_idx_type nr, octave_idx_type nc) |
Size of the specified dimension. More... | |
void | resize1 (octave_idx_type n, const T &rfv) |
Size of the specified dimension. More... | |
void | resize1 (octave_idx_type n) |
Size of the specified dimension. More... | |
void | resize (const dim_vector &dv, const T &rfv) |
Size of the specified dimension. More... | |
void | resize (const dim_vector &dv) |
Size of the specified dimension. More... | |
void | assign (const octave::idx_vector &i, const Array< T, Alloc > &rhs, const T &rfv) |
Indexed assignment (always with resize & fill). More... | |
void | assign (const octave::idx_vector &i, const Array< T, Alloc > &rhs) |
Size of the specified dimension. More... | |
void | assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< T, Alloc > &rhs, const T &rfv) |
Size of the specified dimension. More... | |
void | assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< T, Alloc > &rhs) |
Size of the specified dimension. More... | |
void | assign (const Array< octave::idx_vector > &ia, const Array< T, Alloc > &rhs, const T &rfv) |
Size of the specified dimension. More... | |
void | assign (const Array< octave::idx_vector > &ia, const Array< T, Alloc > &rhs) |
Size of the specified dimension. More... | |
void | delete_elements (const octave::idx_vector &i) |
Deleting elements. More... | |
void | delete_elements (int dim, const octave::idx_vector &i) |
A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon) More... | |
void | delete_elements (const Array< octave::idx_vector > &ia) |
Dispatcher to the above two. More... | |
Array< T, Alloc > & | insert (const Array< T, Alloc > &a, const Array< octave_idx_type > &idx) |
Insert an array into another at a specified position. More... | |
Array< T, Alloc > & | insert (const Array< T, Alloc > &a, octave_idx_type r, octave_idx_type c) |
This is just a special case for idx = [r c 0 ...]. More... | |
void | maybe_economize () |
Size of the specified dimension. More... | |
void | print_info (std::ostream &os, const std::string &prefix) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | sort (int dim=0, sortmode mode=ASCENDING) const |
Size of the specified dimension. More... | |
Array< T, Alloc > | sort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const |
Size of the specified dimension. More... | |
sortmode | issorted (sortmode mode=UNSORTED) const |
Ordering is auto-detected or can be specified. More... | |
Array< octave_idx_type > | sort_rows_idx (sortmode mode=ASCENDING) const |
Sort by rows returns only indices. More... | |
sortmode | is_sorted_rows (sortmode mode=UNSORTED) const |
Ordering is auto-detected or can be specified. More... | |
octave_idx_type | lookup (const T &value, sortmode mode=UNSORTED) const |
Do a binary lookup in a sorted array. More... | |
Array< octave_idx_type > | lookup (const Array< T, Alloc > &values, sortmode mode=UNSORTED) const |
Ditto, but for an array of values, specializing on the case when values are sorted. More... | |
octave_idx_type | nnz () const |
Count nonzero elements. More... | |
Array< octave_idx_type > | find (octave_idx_type n=-1, bool backward=false) const |
Find indices of (at most n) nonzero elements. More... | |
Array< T, Alloc > | nth_element (const octave::idx_vector &n, int dim=0) const |
Returns the n-th element in increasing order, using the same ordering as used for sort. More... | |
Array< T, Alloc > | diag (octave_idx_type k=0) const |
Get the kth super or subdiagonal. More... | |
Array< T, Alloc > | diag (octave_idx_type m, octave_idx_type n) const |
Size of the specified dimension. More... | |
Array< U, A > | map (F fcn) const |
Apply function fcn to each element of the Array<T, Alloc>. More... | |
Array< U, A > | map (U(&fcn)(T)) const |
Overloads for function references. More... | |
Array< U, A > | map (U(&fcn)(const T &)) const |
Size of the specified dimension. More... | |
bool | test (F fcn) const |
Generic any/all test functionality with arbitrary predicate. More... | |
bool | test_any (F fcn) const |
Simpler calls. More... | |
bool | test_any (bool(&fcn)(T)) const |
Overloads for function references. More... | |
bool | test_any (bool(&fcn)(const T &)) const |
Size of the specified dimension. More... | |
bool | test_all (F fcn) const |
Size of the specified dimension. More... | |
bool | test_all (bool(&fcn)(T)) const |
Size of the specified dimension. More... | |
bool | test_all (bool(&fcn)(const T &)) const |
Size of the specified dimension. More... | |
bool | optimize_dimensions (const dim_vector &dv) |
Returns true if this->dims () == dv, and if so, replaces this->m_dimensions by a shallow copy of dv. More... | |
Static Protected Member Functions inherited from Array< T > | |
static Array< T, Alloc > | cat (int dim, octave_idx_type n, const Array< T, Alloc > *array_list) |
Concatenation along a specified (0-based) dimension, equivalent to cat(). More... | |
Protected Attributes inherited from DiagArray2< T > | |
octave_idx_type | m_d1 |
octave_idx_type | m_d2 |
Protected Attributes inherited from Array< T > | |
dim_vector | m_dimensions |
Array< T, Alloc >::ArrayRep * | m_rep |
T * | m_slice_data |
octave_idx_type | m_slice_len |
Definition at line 37 of file dDiagMatrix.h.
typedef Matrix DiagMatrix::full_matrix_type |
Definition at line 43 of file dDiagMatrix.h.
|
default |
Referenced by abs().
|
default |
|
default |
|
inline |
Definition at line 53 of file dDiagMatrix.h.
|
inline |
Definition at line 56 of file dDiagMatrix.h.
|
inline |
Definition at line 59 of file dDiagMatrix.h.
|
inline |
Definition at line 62 of file dDiagMatrix.h.
|
inlineexplicit |
Definition at line 64 of file dDiagMatrix.h.
|
inline |
Definition at line 66 of file dDiagMatrix.h.
DiagMatrix DiagMatrix::abs | ( | ) | const |
Definition at line 128 of file dDiagMatrix.cc.
References DiagMatrix(), DiagArray2< T >::columns(), extract_diag(), and DiagArray2< T >::rows().
Referenced by octave_diag_matrix::map().
ColumnVector DiagMatrix::column | ( | char * | s | ) | const |
Definition at line 212 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), column(), and current_liboctave_error_handler.
ColumnVector DiagMatrix::column | ( | octave_idx_type | i | ) | const |
Definition at line 197 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), DiagArray2< T >::elem(), r, and DiagArray2< T >::rows().
Referenced by column().
DET DiagMatrix::determinant | ( | ) | const |
Definition at line 331 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), DiagArray2< T >::elem(), len, DiagArray2< T >::length(), and DiagArray2< T >::rows().
Referenced by Fdet().
Matrix DiagMatrix::extract | ( | octave_idx_type | r1, |
octave_idx_type | c1, | ||
octave_idx_type | r2, | ||
octave_idx_type | c2 | ||
) | const |
Definition at line 146 of file dDiagMatrix.cc.
References Array< T, Alloc >::elem(), and DiagArray2< T >::elem().
|
inline |
Definition at line 107 of file dDiagMatrix.h.
References DiagArray2< T >::extract_diag().
Referenced by abs(), Fsvd(), octave_diag_matrix::map(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), rcond(), and octave_diag_matrix::save_binary().
DiagMatrix & DiagMatrix::fill | ( | const ColumnVector & | a | ) |
Definition at line 76 of file dDiagMatrix.cc.
References Array< T, Alloc >::elem(), DiagArray2< T >::elem(), len, DiagArray2< T >::length(), and Array< T, Alloc >::numel().
DiagMatrix & DiagMatrix::fill | ( | const ColumnVector & | a, |
octave_idx_type | beg | ||
) |
Definition at line 102 of file dDiagMatrix.cc.
References Array< T, Alloc >::elem(), DiagArray2< T >::elem(), DiagArray2< T >::length(), and Array< T, Alloc >::numel().
DiagMatrix & DiagMatrix::fill | ( | const RowVector & | a | ) |
Definition at line 89 of file dDiagMatrix.cc.
References Array< T, Alloc >::elem(), DiagArray2< T >::elem(), len, DiagArray2< T >::length(), and Array< T, Alloc >::numel().
DiagMatrix & DiagMatrix::fill | ( | const RowVector & | a, |
octave_idx_type | beg | ||
) |
Definition at line 115 of file dDiagMatrix.cc.
References Array< T, Alloc >::elem(), DiagArray2< T >::elem(), DiagArray2< T >::length(), and Array< T, Alloc >::numel().
DiagMatrix & DiagMatrix::fill | ( | double | val | ) |
Definition at line 56 of file dDiagMatrix.cc.
References DiagArray2< T >::elem(), and DiagArray2< T >::length().
DiagMatrix & DiagMatrix::fill | ( | double | val, |
octave_idx_type | beg, | ||
octave_idx_type | end | ||
) |
Definition at line 64 of file dDiagMatrix.cc.
References DiagArray2< T >::elem(), and DiagArray2< T >::length().
DiagMatrix DiagMatrix::inverse | ( | ) | const |
Definition at line 227 of file dDiagMatrix.cc.
Referenced by Finv(), ComplexMatrix::pseudo_inverse(), and Matrix::pseudo_inverse().
DiagMatrix DiagMatrix::inverse | ( | octave_idx_type & | info | ) | const |
Definition at line 234 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), DiagArray2< T >::data(), Inf, len, r, DiagArray2< T >::rows(), and DiagArray2< T >::xelem().
bool DiagMatrix::operator!= | ( | const DiagMatrix & | a | ) | const |
Definition at line 50 of file dDiagMatrix.cc.
|
default |
bool DiagMatrix::operator== | ( | const DiagMatrix & | a | ) | const |
Definition at line 41 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), DiagArray2< T >::data(), DiagArray2< T >::length(), mx_inline_equal(), and DiagArray2< T >::rows().
DiagMatrix DiagMatrix::pseudo_inverse | ( | double | tol = 0.0 | ) | const |
Definition at line 279 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), len, DiagArray2< T >::length(), r, and DiagArray2< T >::rows().
Referenced by Fpinv().
double DiagMatrix::rcond | ( | ) | const |
Definition at line 345 of file dDiagMatrix.cc.
References extract_diag(), Array< T, Alloc >::map(), ColumnVector::max(), and ColumnVector::min().
RowVector DiagMatrix::row | ( | char * | s | ) | const |
Definition at line 182 of file dDiagMatrix.cc.
References current_liboctave_error_handler, row(), and DiagArray2< T >::rows().
RowVector DiagMatrix::row | ( | octave_idx_type | i | ) | const |
Definition at line 167 of file dDiagMatrix.cc.
References DiagArray2< T >::cols(), DiagArray2< T >::elem(), r, and DiagArray2< T >::rows().
Referenced by row().
|
inline |
Definition at line 80 of file dDiagMatrix.h.
References MDiagArray2< T >::transpose().
|
friend |
Definition at line 140 of file dDiagMatrix.cc.
|
friend |
Definition at line 353 of file dDiagMatrix.cc.
|
friend |
Definition at line 134 of file dDiagMatrix.cc.