|
class | AccurateFloat |
| minimalistic wrapper for MPFR numbers More...
|
|
struct | AnyString |
|
class | Array |
| Container class with constant time random access. More...
|
|
struct | attrib |
|
class | Bitset |
| Container class for dense sets of integers. More...
|
|
class | chunk_allocator |
| Maintains a list of private memory chunks of fixed size. More...
|
|
class | color_error |
| An exception of this type is thrown by an attempt to assign a wrong value to some color component. More...
|
|
class | Complement |
| Complement as GenericSet. More...
|
|
class | conv |
| Explicit type converter. More...
|
|
struct | Div |
| result of integer division of two numbers (a,b) More...
|
|
class | EquivalenceRelation |
| An equivalence relation on the integers 0,..,n-1 for a given size n . More...
|
|
struct | ExtGCD |
| result of the extended gcd calculation for two numbers (a, b) More...
|
|
class | FaceMap |
|
class | FacetList |
|
struct | first_of_equal |
| special tags for find_nearest denoting the first and last occurrence of a given key in a multi-set More...
|
|
struct | function_argument |
|
class | GenericGraph |
| Generic type for all graph classes. More...
|
|
class | GenericMatrix |
| Generic type for matrices More...
|
|
class | GenericMutableSet |
| Generic type for ordered mutable sets More...
|
|
class | GenericSet |
| Generic type for ordered sets More...
|
|
class | GenericVector |
| Generic type for vectors More...
|
|
class | Heap |
|
class | HSV |
| Color description in HSV space. More...
|
|
class | IncidenceMatrix |
| 0/1 incidence matrix. More...
|
|
class | input_truncator |
|
class | Integer |
| Integral number of unlimited precision. More...
|
|
struct | is_derived_from_instance_of |
|
struct | is_instance_of |
| Check whether a type is an instance of a given class template. More...
|
|
struct | is_ordered |
| check whether the default comparator operations::cmp can be used with the given type More...
|
|
struct | is_unordered_comparable |
| check whether the comparator operations::cmp_unordered can be used with the given type More...
|
|
class | iterator_product |
|
struct | list_search |
|
struct | list_search_all |
|
class | ListMatrix |
| List of row vectors. More...
|
|
class | Map |
| Associative array based on AVL::tree. More...
|
|
class | Matrix |
| Matrix type class which holds the elements in a contiguous array
Additional arithmetic operations for matrices and useful constructions (unit_matrix, diag, ... ) are listed at operations. More...
|
|
struct | mbind1st |
| Reduce a binary meta-function to a unary one by fixing the first argument to a given value. More...
|
|
struct | mbind2nd |
| Reduce a binary meta-function to a unary one by fixing the second argument to a given value. More...
|
|
struct | mbind_const |
| Wrappers for arbitrary meta-functions. More...
|
|
struct | merge_list |
|
struct | mget_template_parameter |
|
struct | mlist |
| container for arbitrary many types More...
|
|
struct | mlist_and_nonempty |
| like mlist_and, but delivers false_type on empty input More...
|
|
struct | mlist_at |
|
struct | mlist_difference |
|
struct | mlist_even_subset |
| Extract elements at even positions. More...
|
|
struct | mlist_filter_binary |
|
struct | mlist_filter_unary |
|
struct | mlist_find_if |
|
struct | mlist_fold |
|
struct | mlist_fold_transform |
|
struct | mlist_head |
|
struct | mlist_insert |
|
struct | mlist_insert_unique |
|
struct | mlist_intersection |
|
struct | mlist_length |
| compute the length of a meta-list More...
|
|
struct | mlist_match_all |
|
struct | mlist_odd_subset |
| Extract elements at odd positions. More...
|
|
struct | mlist_prepend_if |
|
struct | mlist_reverse |
| Reverse the elements in a meta-list. More...
|
|
struct | mlist_slice |
|
struct | mlist_sort |
| Sort a meta-list according to the given element comparator. More...
|
|
struct | mlist_tail |
|
struct | mlist_transform_binary |
| Apply a binary meta-function pairwise to the elements of two meta-lists. More...
|
|
struct | mlist_transform_unary |
| Apply a unary meta-function to the elements of a meta-list. More...
|
|
struct | mlist_unwrap |
| extract the single element from a meta-list, preserve the list if it contains more than one element More...
|
|
struct | mlist_wrap |
| construct a meta-list with given elements unless it's already a meta-list itself More...
|
|
struct | mnegate_binary |
| Negate the result of a binary boolean meta-function. More...
|
|
struct | mnegate_unary |
| Negate the result of a unary boolean meta-function. More...
|
|
struct | mprefer1st |
| Operation on a pair of types: selects the first one unless it is void. More...
|
|
struct | mprefer2nd |
| Operation on a pair of types: selects the second one unless it is void. More...
|
|
struct | mproject1st |
| Operation on a pair of types: selects the first one. More...
|
|
struct | mproject2nd |
| Operation on a pair of types: selects the second one. More...
|
|
struct | mrepeat |
|
struct | mreplace_template_parameter |
|
struct | mreplicate |
| Construct a meta-list consisting of N copies of the same element. More...
|
|
struct | msafely_eval |
|
struct | mselect |
|
struct | mswap_args |
| Swap arguments passed to a binary meta-function. More...
|
|
struct | mtagged_list_add_default |
| Append elements to a tagged meta-list unless another elements with identical tags are already there. More...
|
|
struct | mtagged_list_extract |
|
struct | mtagged_list_remove |
|
struct | mtagged_list_replace |
|
class | no_match |
|
class | NormalRandom |
|
struct | nothing |
| Structure denoting the absence of data. More...
|
|
class | output_predicate_selector |
|
class | pair |
| STL class. More...
|
|
class | permutation_iterator< permutations_heap > |
| Implementation of the Heap's algorithm by R. Sedgewick. More...
|
|
class | ptr_wrapper |
| Wrapper for a pointer used as an iterator. More...
|
|
class | QuadraticExtension |
| Realizes quadratic extensions of fields. More...
|
|
class | RandomPoints |
| Generator of uniformly distributed random points on the unit sphere in R^d. More...
|
|
class | range_contractor |
|
class | Rational |
| Rational number with unlimited precision. More...
|
|
class | RGB |
| Color description in RGB space: Red-Green-Blue additive color model. More...
|
|
class | Set |
| An associative container based on a balanced binary search (AVL) tree. Comparator is a functor defining a total ordering on the element value domain. In most cases, the default choice (lexicographical order) will suffice for your needs. More...
|
|
class | Set_with_dim |
| Set_with_dim as GenericSet. More...
|
|
class | shared_array |
|
class | shared_object |
|
class | SingleElementSetCmp |
| A set consisting of exactly one element. More...
|
|
class | SmithNormalForm |
| Complete result of computation of Smith normal form. More...
|
|
class | SparseMatrix |
| A two-dimensional associative array with row and column indices as keys. More...
|
|
class | SparseMatrixStatistics |
| sparse matrix statistics collection More...
|
|
class | SparseVector |
|
struct | spec_object_traits< TropicalNumber< Addition, Scalar > > |
|
class | TropicalNumber |
|
class | unary_predicate_selector |
|
class | UniformlyRandom< AccurateFloat > |
| Generator of random AccurateFloat numbers from [0, 1) More...
|
|
class | UniformlyRandom< Bitset > |
| Generator of random Bitset of a given maximal cardinality. More...
|
|
class | UniformlyRandom< Rational > |
|
struct | unlimited |
|
class | Vector |
| Vector type class which holds the elements in a contiguous array More...
|
|
|
Int | incl (const Bitset &s1, const Bitset &s2) noexcept |
| See incl(GenericSet,GenericSet)
|
|
template<typename Matrix1, typename Matrix2> |
auto | diag (const GenericIncidenceMatrix< Matrix1 > &m1, const GenericIncidenceMatrix< Matrix2 > &m2) -> decltype(make_block_diag< false >(m1.top(), m2.top())) |
| create a block-diagonal incidence matrix
|
|
template<typename Matrix1, typename Matrix2> |
auto | diag_1 (const GenericIncidenceMatrix< Matrix1 > &m1, const GenericIncidenceMatrix< Matrix2 > &m2) -> decltype(make_block_diag< true >(m1.top(), m2.top())) |
| create a block-diagonal incidence matrix, fill the corner blocks with 1's
|
|
template<typename TargetType, typename TMatrix> |
const TMatrix & | convert_to (const GenericMatrix< TMatrix, TargetType > &m) |
| explicit conversion of matrix elements to another type
|
|
template<typename TVector, typename = std::enable_if_t<is_generic_vector<TVector>::value>> |
auto | repeat_row (TVector &&v, Int n=0) -> RepeatedRow< diligent_ref_t< unwary_t< TVector > > > |
| Create a matrix with n rows, each equal to v.
|
|
template<typename TVector, typename = std::enable_if_t<is_generic_vector<TVector>::value>> |
auto | repeat_col (TVector &&v, Int n=0) -> RepeatedCol< diligent_ref_t< unwary_t< TVector > > > |
| Create a matrix with n columns, each equal to v.
|
|
template<typename E> |
auto | same_element_matrix (E &&x, Int m, Int n) |
|
template<typename E> |
auto | ones_matrix (Int m, Int n) |
|
template<typename E> |
auto | zero_matrix (Int m, Int n) |
|
template<typename TVector> |
auto | vector2row (GenericVector< TVector > &v) |
| disguise a GenericVector as a matrix with 1 row
|
|
template<typename TVector> |
auto | vector2col (GenericVector< TVector > &v) |
| disguise a GenericVector as a matrix with 1 column
|
|
template<typename TVector> |
auto | diag (const GenericVector< TVector > &v) |
| Create a square diagonal matrix from a GenericVector.
|
|
template<typename TVector> |
auto | anti_diag (const GenericVector< TVector > &v) |
| Create a anti-diagonal matrix.
|
|
template<typename E> |
auto | unit_matrix (Int dim) |
| Create a unit_matrix of dimension dim.
|
|
template<typename E, typename Matrix1, typename Matrix2> |
auto | diag (const GenericMatrix< Matrix1, E > &m1, const GenericMatrix< Matrix2, E > &m2) |
| Create a block-diagonal matrix.
|
|
template<typename E, typename Vector1, typename Matrix2> |
auto | diag (const GenericVector< Vector1, E > &v1, const GenericMatrix< Matrix2, E > &m2) |
|
template<typename E, typename Matrix1, typename Vector2> |
auto | diag (const GenericMatrix< Matrix1, E > &m1, const GenericVector< Vector2, E > &v2) |
|
template<typename E, typename Matrix1, typename Matrix2> |
auto | anti_diag (const GenericMatrix< Matrix1, E > &m1, const GenericMatrix< Matrix2, E > &m2) |
| Create a block-anti-diagonal matrix.
|
|
template<typename E, typename Vector1, typename Matrix2> |
auto | anti_diag (const GenericVector< Vector1, E > &v1, const GenericMatrix< Matrix2, E > &m2) |
|
template<typename E, typename Matrix1, typename Vector2> |
auto | anti_diag (const GenericMatrix< Matrix1, E > &m1, const GenericVector< Vector2, E > &v2) |
|
template<typename Comparator, typename E> |
auto | scalar2set (E &&x) |
| construct an one-element set with explicitly specified comparator type
|
|
template<typename E> |
auto | scalar2set (E &&x) |
| construct an one-element set with standard (lexicographical) comparator type
|
|
template<typename Set1, typename Set2, typename E1, typename E2, class Comparator> |
Int | incl (const GenericSet< Set1, E1, Comparator > &s1, const GenericSet< Set2, E2, Comparator > &s2) |
|
template<typename TargetType, typename TVector> |
const TVector & | convert_to (const GenericVector< TVector, TargetType > &v) |
| explicit conversion of vector elements to another type
|
|
template<typename E> |
auto | same_element_vector (E &&x, Int dim=0) |
| Create a vector with all entries equal to the given element x.
|
|
template<typename E> |
auto | ones_vector (Int dim=0) |
| Create a vector with all entries equal to 1.
|
|
template<typename E> |
auto | zero_vector (Int dim=0) |
| Create a vector with all entries equal to 0.
|
|
graph::Graph | complete_graph (Int n_nodes) |
| create complete graph on given number of nodes
|
|
template<typename Matrix1, typename Matrix2> |
IncidenceMatrix | convolute (const GenericIncidenceMatrix< Matrix1 > &m1, const GenericIncidenceMatrix< Matrix2 > &m2) |
| Convolution of two incidence relations.
|
|
constexpr bool | isfinite (const __mpz_struct &) |
| data from third parties can't have infinite values
|
|
Int | isinf (double x) noexcept |
|
template<typename Target, typename Source> |
inherit_reference_t< Target, Source && > | convert_to (Source &&x, std::enable_if_t< is_derived_from< pure_type_t< Source >, Target >::value||std::is_same< pure_type_t< Source >, Target >::value, void ** >=nullptr) |
| trivial conversion of an object to itself (mutable access)
|
|
template<typename Target, typename Source> |
Target | convert_to (const Source &x, std::enable_if_t< can_initialize< Source, Target >::value &&(!std::is_arithmetic< Source >::value||!std::is_arithmetic< Target >::value) &&!is_derived_from< Source, Target >::value, void ** >=nullptr) |
| conversion via functor
|
|
template<typename E> |
std::enable_if_t< is_field< E >::value, E > | det (Matrix< E > M) |
| determinant of a matrix
|
|
template<typename E> |
std::enable_if_t< is_field< E >::value, Matrix< E > > | inv (Matrix< E > M) |
| matrix inversion
|
|
template<typename E> |
std::enable_if_t< is_field< E >::value, Vector< E > > | lin_solve (Matrix< E > A, Vector< E > b) |
| solving systems of linear equations
|
|
template<typename Iterator, typename Predicate> |
auto | make_unary_predicate_selector (Iterator &&it, const Predicate &pred) |
| Convenience function creating an iterator with element selection.
|
|
template<typename T, typename... Args> |
T * | construct_at (T *place, Args &&... args) |
|
template<typename Iterator> |
void | normalize (Iterator dst) |
| Divide each vector in a sequence thru its length (L2-norm)
|
|
template<typename TMatrix, typename E> |
Vector< E > | barycenter (const GenericMatrix< TMatrix, E > &V) |
| Compute the average over the rows of a matrix.
|
|
template<typename TMatrix, typename E> |
std::enable_if_t< is_field< E >::value, E > | det (const GenericMatrix< TMatrix, E > &m) |
| Compute the determinant of a matrix using the Gauss elimination method.
|
|
template<typename TMatrix, typename E> |
E | trace (const GenericMatrix< TMatrix, E > &m) |
| Compute the trace of a matrix.
|
|
template<typename TMatrix, typename TVector, typename E> |
std::enable_if_t< is_field< E >::value, typename TVector::persistent_type > | reduce (const GenericMatrix< TMatrix, E > &A, const GenericVector< TVector, E > &V) |
| Reduce a vector with a given matrix using the Gauss elimination method.
|
|
template<typename TMatrix, typename E> |
std::enable_if_t< is_field< E >::value, typename TMatrix::persistent_nonsymmetric_type > | inv (const GenericMatrix< TMatrix, E > &m) |
|
template<typename TMatrix, typename TVector, typename E> |
std::enable_if_t< is_field< E >::value, Vector< E > > | lin_solve (const GenericMatrix< TMatrix, E > &A, const GenericVector< TVector, E > &b) |
|
template<typename AHRowIterator, typename VectorType, typename RowBasisOutputIterator, typename ColBasisOutputIterator> |
bool | project_rest_along_row (AHRowIterator &h, const VectorType &v, RowBasisOutputIterator row_basis_consumer, ColBasisOutputIterator col_basis_consumer, Int i=0) |
|
template<typename VectorType, typename RowBasisOutputIterator, typename ColBasisOutputIterator, typename E> |
bool | basis_of_rowspan_intersect_orthogonal_complement (ListMatrix< SparseVector< E > > &H, const VectorType &v, RowBasisOutputIterator row_basis_consumer, ColBasisOutputIterator col_basis_consumer, Int i=0) |
|
template<typename T, typename R> |
bool | add_row_if_rowspace_increases (ListMatrix< SparseVector< T > > &M, const SparseVector< T > &v, ListMatrix< SparseVector< R > > &kernel_so_far) |
|
template<typename VectorIterator, typename RowBasisOutputIterator, typename ColBasisOutputIterator, typename AH_matrix> |
void | null_space (VectorIterator v, RowBasisOutputIterator row_basis_consumer, ColBasisOutputIterator col_basis_consumer, AH_matrix &H, bool simplify=false) |
|
template<typename TVector, typename E> |
ListMatrix< SparseVector< E > > | null_space_oriented (const GenericVector< TVector, E > &V, Int req_sign) |
|
template<typename TMatrix, typename E> |
std::pair< Set< Int >, Set< Int > > | basis_affine (const GenericMatrix< TMatrix, E > &M) |
| The same as basis(), but ignoring the first column of the matrix.
|
|
template<typename E, typename Vector1, typename Vector2> |
Vector2::persistent_type | proj (const GenericVector< Vector1, E > &u, const GenericVector< Vector2, E > &v) |
| Project u to v.
|
|
template<typename Matrix1, typename Matrix2> |
void | project_to_orthogonal_complement (Matrix1 &M, const Matrix2 &N) |
|
template<typename TVector> |
Set< Int > | support (const GenericVector< TVector > &v) |
| the indices of nonzero entries
|
|
template<typename Vector1, typename Vector2> |
Vector1::persistent_type | reflect (const GenericVector< Vector1 > &u, const GenericVector< Vector2 > &nv) |
| reflect u in the plane normal to nv
|
|
template<typename TVector> |
TVector::persistent_type | dehomogenize (const GenericVector< TVector > &V) |
|
template<typename TMatrix> |
TMatrix::persistent_nonsymmetric_type | dehomogenize (const GenericMatrix< TMatrix > &M) |
|
template<typename TVector> |
TVector::persistent_type | dehomogenize_trop (const GenericVector< TVector > &V) |
|
template<typename TMatrix> |
TMatrix::persistent_nonsymmetric_type | dehomogenize_trop (const GenericMatrix< TMatrix > &M) |
|
template<typename TMatrix> |
TMatrix::persistent_nonsymmetric_type | remove_zero_rows (const GenericMatrix< TMatrix > &m) |
| Remove all matrix rows that contain only zeros.
|
|
template<typename VectorIterator> |
void | orthogonalize (VectorIterator v) |
| Apply the Gram-Schmidt orthogonalization to the vector sequence.
|
|
template<typename VectorIterator> |
void | orthogonalize_affine (VectorIterator v) |
|
template<typename TMatrix> |
std::enable_if_t<!TMatrix::is_sparse, Set< Int > > | far_points (const GenericMatrix< TMatrix > &M) |
| Find row indices of all far points (that is, having zero in the first column). For dense matrices.
|
|
template<typename TMatrix> |
std::enable_if_t< TMatrix::is_sparse, Set< Int > > | far_points (const GenericMatrix< TMatrix > &M) |
| Find row indices of all far points (that is, having zero in the first column). For sparse matrices.
|
|
template<typename E, typename TMatrix, typename TVector> |
Set< Int > | orthogonal_rows (const GenericMatrix< TMatrix, E > &M, const GenericVector< TVector, E > &v) |
| Find indices of rows orthogonal to the given vector.
|
|
template<typename Coefficient, typename Exponent> |
UniPolynomial< Coefficient, Exponent > | div_exact (const UniPolynomial< Coefficient, Exponent > &a, const UniPolynomial< Coefficient, Exponent > &b) |
|
template<typename TargetType, typename Exponent> |
const Polynomial< TargetType, Exponent > & | convert_to (const Polynomial< TargetType, Exponent > &p) |
| explicit conversion of polynomial coefficients to another type
|
|
template<typename Top, typename ElementSet, typename = std::enable_if_t<is_generic_set<ElementSet>::value>> |
PowerSet< typename ElementSet::element_type, typename ElementSet::element_comparator > | ridges (const GenericSet< Top, ElementSet > &power_set) |
| Gather all independent intersections of subsets from the given PowerSet.
|
|
constexpr bool | isfinite (const __mpq_struct &) |
| data from third parties can't have infinite values
|
|
template<typename E> |
Int | smith_normal_form_only (SparseMatrix< E > &M, std::list< std::pair< E, Int > > &torsion) |
|
template<typename Matrix, typename E> |
SmithNormalForm< E > | smith_normal_form (const GenericMatrix< Matrix, E > &M, std::enable_if_t< std::numeric_limits< E >::is_integer, bool > inverse_companions=false) |
|
std::string | legible_typename (const std::type_info &ti) |
|
template<typename T> |
private_mutable_t< T > | ensure_private_mutable (T &&x) |
| enforce a local copy of an object unless it's already a prvalue
|
|
template<typename Source, typename Member, typename Owner> |
auto | reverse_cast (Source *data_member, Member Owner::*member_ptr) |
| Calculate a pointer to an enclosing class object from a given pointer to a data member.
|
|