26 #if defined (HAVE_CONFIG_H)
35 OCTAVE_NORETURN
static
39 (*current_liboctave_error_handler) (
"PermMatrix: invalid permutation vector");
58 setup (p, colp, check);
94 if (i < 0 || j < 0 || i >
len || j >
len)
95 (*current_liboctave_error_handler) (
"index out of range");
181 for (j = 1, ic = p[ics]; j !=
m && ic != ics; j++, ic = p[ic]) ;
187 for (j = 0, ic = ics; j != mm; j++, ic = p[ic]) ;
195 jcs = p[jcs]; ic = p[ic];
static OCTAVE_NORETURN void err_invalid_permutation(void)
PermMatrix operator*(const PermMatrix &a, const PermMatrix &b)
octave_idx_type & xelem(octave_idx_type n)
octave_idx_type numel(void) const
Number of elements in the array.
Array< T > & operator=(const Array< T > &a)
const octave_idx_type * data(void) const
Array< T > index(const idx_vector &i) const
Indexing without resizing.
const T * fortran_vec(void) const
Size of the specified dimension.
octave_idx_type perm_length(void) const
const Array< octave_idx_type > & col_perm_vec(void) const
octave_idx_type columns(void) const
PermMatrix inverse(void) const
octave_idx_type elem(octave_idx_type i, octave_idx_type j) const
PermMatrix pos_power(octave_idx_type m) const
octave_idx_type rows(void) const
octave_idx_type determinant(void) const
void setup(const Array< octave_idx_type > &p, bool colp, bool check)
octave_idx_type checkelem(octave_idx_type i, octave_idx_type j) const
static PermMatrix eye(octave_idx_type n)
PermMatrix power(octave_idx_type n) const
PermMatrix transpose(void) const
Vector representing the dimensions (size) of an Array.
octave_idx_type length(octave_idx_type n=0) const
bool is_permutation(octave_idx_type n) const
void err_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
octave_value::octave_value(const Array< char > &chm, char type) return retval