#include "PermMatrix.h"
Static Public Member Functions | |
| static PermMatrix | eye (octave_idx_type n) |
Additional Inherited Members | |
Protected Types inherited from Array< octave_idx_type > | |
| typedef bool(* | compare_fcn_type) (typename ref_param< octave_idx_type >::type, typename ref_param< octave_idx_type >::type) |
| typedef ref_param< octave_idx_type >::type | crefT |
| typedef octave_idx_type | element_type |
| typedef octave_idx_type | size_type |
| Used for operator(), and returned by numel() and size() (beware: signed integer) More... | |
| typedef octave_idx_type | value_type |
Protected Member Functions inherited from Array< octave_idx_type > | |
| Array (const Array< octave_idx_type, 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< octave_idx_type, Alloc > &&a) | |
| Array (const Array< octave_idx_type, Alloc > &a) | |
| No type conversion case. More... | |
| Array (const Array< octave_idx_type, Alloc > &a, const dim_vector &dv) | |
| Reshape constructor. More... | |
| Array (const Array< U, A > &a) | |
| Type conversion case. More... | |
| Array (const Container< octave_idx_type > &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 octave_idx_type &val) | |
| nD initialized ctor. More... | |
| Array (octave_idx_type *ptr, const dim_vector &dv, const Alloc &xallocator=Alloc()) | |
| virtual | ~Array () |
| Array< octave_idx_type, Alloc > | as_column () const |
| Return the array as a column vector. More... | |
| Array< octave_idx_type, Alloc > | as_matrix () const |
| Return the array as a matrix. More... | |
| Array< octave_idx_type, 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 octave_idx_type &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< octave_idx_type, Alloc > & | operator= (Array< octave_idx_type, Alloc > &&a) |
| Array< octave_idx_type, Alloc > & | operator= (const Array< octave_idx_type, 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< octave_idx_type, 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... | |
| octave_idx_type & | xelem (octave_idx_type n) |
| Size of the specified dimension. More... | |
| crefT | xelem (octave_idx_type n) const |
| Size of the specified dimension. More... | |
| octave_idx_type & | 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... | |
| octave_idx_type & | 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... | |
| octave_idx_type & | 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... | |
| octave_idx_type & | checkelem (octave_idx_type n) |
| Size of the specified dimension. More... | |
| octave_idx_type & | checkelem (octave_idx_type i, octave_idx_type j) |
| Size of the specified dimension. More... | |
| octave_idx_type & | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
| Size of the specified dimension. More... | |
| octave_idx_type & | 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... | |
| octave_idx_type & | elem (octave_idx_type n) |
| Size of the specified dimension. More... | |
| octave_idx_type & | elem (octave_idx_type i, octave_idx_type j) |
| Size of the specified dimension. More... | |
| octave_idx_type & | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
| Size of the specified dimension. More... | |
| octave_idx_type & | 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... | |
| octave_idx_type & | operator() (octave_idx_type n) |
| Size of the specified dimension. More... | |
| octave_idx_type & | operator() (octave_idx_type i, octave_idx_type j) |
| Size of the specified dimension. More... | |
| octave_idx_type & | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
| Size of the specified dimension. More... | |
| octave_idx_type & | 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< octave_idx_type, Alloc > | column (octave_idx_type k) const |
| Extract column: A(:,k+1). More... | |
| Array< octave_idx_type, Alloc > | page (octave_idx_type k) const |
| Extract page: A(:,:,k+1). More... | |
| Array< octave_idx_type, 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< octave_idx_type, Alloc > | reshape (octave_idx_type nr, octave_idx_type nc) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | reshape (const dim_vector &new_dims) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | permute (const Array< octave_idx_type > &vec, bool inv=false) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, 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< octave_idx_type, Alloc > | transpose () const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | hermitian (octave_idx_type(*fcn)(const octave_idx_type &)=nullptr) const |
| Size of the specified dimension. More... | |
| const octave_idx_type * | data () const |
| Size of the specified dimension. More... | |
| octave_idx_type * | 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< octave_idx_type, Alloc > | index (const octave::idx_vector &i) const |
| Indexing without resizing. More... | |
| Array< octave_idx_type, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const Array< octave::idx_vector > &ia) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const octave::idx_vector &i, bool resize_ok, const octave_idx_type &rfv) const |
| Indexing with possible resizing and fill. More... | |
| Array< octave_idx_type, Alloc > | index (const octave::idx_vector &i, bool resize_ok) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok, const octave_idx_type &rfv) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const Array< octave::idx_vector > &ia, bool resize_ok, const octave_idx_type &rfv) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, Alloc > | index (const Array< octave::idx_vector > &ia, bool resize_ok) const |
| Size of the specified dimension. More... | |
| virtual octave_idx_type | resize_fill_value () const |
| Size of the specified dimension. More... | |
| void | resize2 (octave_idx_type nr, octave_idx_type nc, const octave_idx_type &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 octave_idx_type &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 octave_idx_type &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< octave_idx_type, Alloc > &rhs, const octave_idx_type &rfv) |
| Indexed assignment (always with resize & fill). More... | |
| void | assign (const octave::idx_vector &i, const Array< octave_idx_type, Alloc > &rhs) |
| Size of the specified dimension. More... | |
| void | assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< octave_idx_type, Alloc > &rhs, const octave_idx_type &rfv) |
| Size of the specified dimension. More... | |
| void | assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< octave_idx_type, Alloc > &rhs) |
| Size of the specified dimension. More... | |
| void | assign (const Array< octave::idx_vector > &ia, const Array< octave_idx_type, Alloc > &rhs, const octave_idx_type &rfv) |
| Size of the specified dimension. More... | |
| void | assign (const Array< octave::idx_vector > &ia, const Array< octave_idx_type, 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< octave_idx_type, Alloc > & | insert (const Array< octave_idx_type, Alloc > &a, const Array< octave_idx_type > &idx) |
| Insert an array into another at a specified position. More... | |
| Array< octave_idx_type, Alloc > & | insert (const Array< octave_idx_type, 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< octave_idx_type, Alloc > | sort (int dim=0, sortmode mode=ASCENDING) const |
| Size of the specified dimension. More... | |
| Array< octave_idx_type, 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 octave_idx_type &value, sortmode mode=UNSORTED) const |
| Do a binary lookup in a sorted array. More... | |
| Array< octave_idx_type > | lookup (const Array< octave_idx_type, 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< octave_idx_type, 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< octave_idx_type, Alloc > | diag (octave_idx_type k=0) const |
| Get the kth super or subdiagonal. More... | |
| Array< octave_idx_type, 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)(octave_idx_type)) const |
| Overloads for function references. More... | |
| Array< U, A > | map (U(&fcn)(const octave_idx_type &)) 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)(octave_idx_type)) const |
| Overloads for function references. More... | |
| bool | test_any (bool(&fcn)(const octave_idx_type &)) const |
| Size of the specified dimension. More... | |
| bool | test_all (F fcn) const |
| Size of the specified dimension. More... | |
| bool | test_all (bool(&fcn)(octave_idx_type)) const |
| Size of the specified dimension. More... | |
| bool | test_all (bool(&fcn)(const octave_idx_type &)) 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< octave_idx_type > | |
| static Array< octave_idx_type, Alloc > | cat (int dim, octave_idx_type n, const Array< octave_idx_type, Alloc > *array_list) |
| Concatenation along a specified (0-based) dimension, equivalent to cat(). More... | |
Protected Attributes inherited from Array< octave_idx_type > | |
| dim_vector | m_dimensions |
| Array< octave_idx_type, Alloc >::ArrayRep * | m_rep |
| octave_idx_type * | m_slice_data |
| octave_idx_type | m_slice_len |
Definition at line 37 of file PermMatrix.h.
|
default |
|
default |
| PermMatrix::PermMatrix | ( | octave_idx_type | n | ) |
Definition at line 83 of file PermMatrix.cc.
References n, and Array< octave_idx_type >::xelem().
| PermMatrix::PermMatrix | ( | const Array< octave_idx_type > & | p, |
| bool | colp, | ||
| bool | check = true |
||
| ) |
Definition at line 55 of file PermMatrix.cc.
| PermMatrix::PermMatrix | ( | const octave::idx_vector & | idx, |
| bool | colp, | ||
| octave_idx_type | n = 0 |
||
| ) |
Definition at line 77 of file PermMatrix.cc.
References n.
|
inline |
Definition at line 74 of file PermMatrix.h.
References Array< T, Alloc >::byte_size().
| octave_idx_type PermMatrix::checkelem | ( | octave_idx_type | i, |
| octave_idx_type | j | ||
| ) | const |
Definition at line 91 of file PermMatrix.cc.
References elem(), len, and Array< T, Alloc >::numel().
|
inline |
Definition at line 83 of file PermMatrix.h.
Referenced by FloatMatrix::FloatMatrix(), Matrix::Matrix(), Sparse< T, Alloc >::Sparse(), find_nonzero_elem_idx(), octinternal_do_mul_pm_sm(), octinternal_do_mul_sm_pm(), operator*(), octave_perm_matrix::save_ascii(), and octave_perm_matrix::save_binary().
|
inline |
Definition at line 63 of file PermMatrix.h.
Referenced by find_nonzero_elem_idx(), octinternal_do_mul_pm_sm(), and octinternal_do_mul_sm_pm().
|
inline |
Definition at line 64 of file PermMatrix.h.
Referenced by operator*(), and octave_perm_matrix::short_disp().
| octave_idx_type PermMatrix::determinant | ( | ) | const |
Definition at line 120 of file PermMatrix.cc.
References Array< octave_idx_type >::data(), len, OCTAVE_LOCAL_BUFFER, and perm_length().
Referenced by Fdet().
|
inline |
Definition at line 57 of file PermMatrix.h.
References Array< T, Alloc >::numel().
|
inline |
Definition at line 59 of file PermMatrix.h.
References Array< T, Alloc >::numel().
|
inline |
Definition at line 77 of file PermMatrix.h.
|
inline |
Definition at line 87 of file PermMatrix.h.
Referenced by checkelem(), and octave_perm_matrix::fast_elem_extract().
|
static |
Definition at line 205 of file PermMatrix.cc.
References PermMatrix(), and n.
| PermMatrix PermMatrix::inverse | ( | ) | const |
Definition at line 114 of file PermMatrix.cc.
References transpose().
|
inline |
Definition at line 111 of file PermMatrix.h.
|
inline |
Definition at line 112 of file PermMatrix.h.
|
inline |
Definition at line 79 of file PermMatrix.h.
References numel().
Referenced by octave_perm_matrix::short_disp().
|
inline |
Definition at line 69 of file PermMatrix.h.
|
inline |
Definition at line 81 of file PermMatrix.h.
Referenced by octave_perm_matrix::short_disp().
|
inline |
Definition at line 72 of file PermMatrix.h.
Referenced by octave_perm_matrix::fast_elem_extract(), octave_perm_matrix::short_disp(), and octave_perm_matrix::try_narrowing_conversion().
|
inline |
Definition at line 96 of file PermMatrix.h.
|
default |
|
inline |
Definition at line 66 of file PermMatrix.h.
References Array< T, Alloc >::numel().
Referenced by determinant().
| PermMatrix PermMatrix::power | ( | octave_idx_type | n | ) | const |
Definition at line 155 of file PermMatrix.cc.
References PermMatrix(), inverse(), m, and rows().
|
inline |
Definition at line 114 of file PermMatrix.h.
References Array< T, Alloc >::print_info().
Referenced by octave_perm_matrix::print_info().
|
inline |
Definition at line 62 of file PermMatrix.h.
Referenced by FloatMatrix::FloatMatrix(), Matrix::Matrix(), Sparse< T, Alloc >::Sparse(), octave_perm_matrix::fast_elem_extract(), find_nonzero_elem_idx(), octinternal_do_mul_pm_sm(), octinternal_do_mul_sm_pm(), operator*(), power(), octave_perm_matrix::save_ascii(), octave_perm_matrix::save_binary(), and octave_perm_matrix::short_disp().
| PermMatrix PermMatrix::transpose | ( | ) | const |
Definition at line 101 of file PermMatrix.cc.
References len, Array< T, Alloc >::numel(), Array< octave_idx_type >::xelem(), and Array< T, Alloc >::xelem().