CMR  1.3.0
Classes | Namespaces | Functions
enumeration.hpp File Reference
#include <vector>
#include "separation.hpp"
#include "permutations.hpp"
#include "comparators.hpp"
#include "partition.hpp"
#include "binary_linear_space.hpp"
#include "bipartite_graph_bfs.hpp"
#include "matrix_modified.hpp"
#include "logger.hpp"

Go to the source code of this file.

Classes

struct  tu::detail::empty_bottom_left_modifier
 

Namespaces

 tu
 
 tu::detail
 

Functions

template<typename MatroidType , typename MatrixType >
void tu::detail::find_column_witnesses (MatroidType &matroid, MatrixType &matrix, size_pair_t split, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
void tu::detail::find_row_witnesses (MatroidType &matroid, MatrixType &matrix, size_pair_t split, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
separation tu::detail::find_witnesses (MatroidType &matroid, MatrixType &matrix, size_pair_t split, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
void tu::detail::pivot_top_right (MatroidType &matroid, MatrixType &matrix, size_pair_t &split, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
void tu::detail::pivot_bottom_left (MatroidType &matroid, MatrixType &matrix, size_pair_t &split, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
void tu::detail::normalize_3_4_separation (MatroidType &matroid, MatrixType &matrix, size_pair_t &split, rank_distribution ranks, matroid_element_set &extra_elements)
 
template<typename MatroidType , typename MatrixType >
bool tu::detail::extend_to_3_4_separation (MatroidType &matroid, MatrixType &matrix, matrix_permuted< const integer_matrix > &worker_matrix, size_pair_t top_left_size, size_pair_t bottom_right_size, separation &separation, matroid_element_set &extra_elements)
 
template<typename MappingValue >
size_pair_t tu::detail::apply_mapping (permutation &permutation, std::vector< MappingValue > &mapping)
 
template<typename NestedMinorSequence >
size_t tu::detail::find_first_7_element_minor (const NestedMinorSequence &nested_minors, size_pair_t &minor_size)
 
template<typename MatroidType , typename MatrixType , typename MappingValue >
bool tu::detail::enumerate_extension (MatroidType &matroid, MatrixType &matrix, matrix_permuted< const integer_matrix > &worker_matrix, std::vector< MappingValue > &row_mapping, std::vector< MappingValue > &column_mapping, size_pair_t minor_size, size_t ext_height, size_t ext_width, separation &separation, matroid_element_set &extra_elements, unsigned long long &enumeration, unsigned long long &next_enumeration, unsigned long long max_enumerations, unsigned int &next_percent, logger &log, size_t cut)
 
template<typename MatroidType , typename MatrixType , typename NestedMinorSequence >
separation tu::enumerate_separations (MatroidType &matroid, MatrixType &matrix, const NestedMinorSequence &nested_minors, matroid_element_set &extra_elements, logger &log)