42 #ifndef SLAP_PERMUTATION_SERIAL_H
43 #define SLAP_PERMUTATION_SERIAL_H
45 #include "AbstractLinAlgPack_VectorSpaceSerial.hpp"
46 #include "AbstractLinAlgPack_Permutation.hpp"
48 namespace AbstractLinAlgPack {
59 class PermutationSerial
82 const i_vector_ptr_t &perm
83 ,
const i_vector_ptr_t &inv_perm
84 ,
bool allocate_missing_perm =
true
85 ,
bool check_inv_perm =
false
97 void initialize_identity(
size_type dim );
160 const i_vector_ptr_t &perm
161 ,
const i_vector_ptr_t &inv_perm
162 ,
bool allocate_missing_perm =
true
163 ,
bool check_inv_perm =
false
176 const i_vector_ptr_t& perm()
const;
182 const i_vector_ptr_t& inv_perm()
const;
190 const VectorSpace& space()
const;
194 bool is_identity()
const;
196 std::ostream& output(std::ostream& out)
const;
213 #ifdef DOXYGEN_COMPILE
214 VectorSpaceSerial space;
218 VectorSpaceSerial space_;
219 i_vector_ptr_t perm_;
220 i_vector_ptr_t inv_perm_;
229 const PermutationSerial::i_vector_ptr_t&
230 PermutationSerial::perm()
const
236 const PermutationSerial::i_vector_ptr_t&
237 PermutationSerial::inv_perm()
const
244 #endif // SLAP_PERMUTATION_SERIAL_H
Abstract interface to permutation matrices.