Polymake Template Library (PTL): pm::GenericVector Class Reference
Polymake Template Library (PTL)  4.2

Generic type for vectors More...

Public Types

using element_type = E
 element type
 
using persistent_type = std::conditional_t< is_sparse, SparseVector< E >, Vector< E > >
 persistent type
 
using generic_type = GenericVector
 generic type
 

Public Member Functions

top_type & negate ()
 negate elements in place
 
top_type & dehomogenize ()
 divide by the first element
 
top_type & dehomogenize_trop ()
 subtracts first element
 
void remove0s ()
 remove all zero elements which might have been overseen in some previous operation
 
template<typename IndexSetRef >
IndexedSlice< const typename Unwary< TVector >::type &, typename final_index_set< IndexSetRef >::type > slice (IndexSetRef &&indices, std::enable_if_t< isomorphic_to_container_of< pure_type_t< IndexSetRef >, Int >::value, std::nullptr_t >=nullptr) const &
 

Static Public Attributes

static constexpr bool is_sparse = check_container_feature<TVector, sparse>::value
 determine if the persistent type is sparse
 

Detailed Description

Member Function Documentation

◆ slice()

template<typename IndexSetRef >
IndexedSlice<const typename Unwary<TVector>::type&, typename final_index_set<IndexSetRef>::type> pm::GenericVector::slice ( IndexSetRef &&  indices,
std::enable_if_t< isomorphic_to_container_of< pure_type_t< IndexSetRef >, Int >::value, std::nullptr_t >  = nullptr 
) const &
inline

Select a vector slice consisting of elements with given indices. The last variant selects a contiguous range of indices beginning with start. size==-1 means up to the end of the vector. The const variants of these methods create immutable slice objects. The indices must lie in the valid range.


The documentation for this class was generated from the following file: