CMR  1.3.0
unimodularity.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cmr/config.h>
4 #include <cmr/export.h>
5 
6 #include "common.hpp"
7 
8 namespace tu
9 {
22  CMR_EXPORT
23  bool is_unimodular(const integer_matrix& matrix, size_t& rank, log_level level = LOG_QUIET);
24 
36  CMR_EXPORT
37  bool is_strongly_unimodular(const integer_matrix& matrix, size_t& rank, log_level level = LOG_QUIET);
38 
52  CMR_EXPORT
53  bool is_k_modular(const integer_matrix& matrix, size_t& rank, log_level level = LOG_QUIET);
54 
70  CMR_EXPORT
71  bool is_k_modular(const integer_matrix& matrix, size_t& rank, unsigned int& k, log_level level = LOG_QUIET);
72 
84  CMR_EXPORT
85  bool is_strongly_k_modular(const integer_matrix& matrix, size_t& rank, log_level level = LOG_QUIET);
86 
100  CMR_EXPORT
101  bool is_strongly_k_modular(const integer_matrix& matrix, size_t& rank, unsigned int& k, log_level level = LOG_QUIET);
102 
114  CMR_EXPORT
115  unsigned int get_k_modular_integrality(const integer_matrix& matrix, const integer_matrix& rhs);
116 
127  CMR_EXPORT
128  bool is_k_modular_integral(const integer_matrix& matrix, const integer_matrix& rhs);
129 
140  CMR_EXPORT
141  bool is_complement_total_unimodular(const integer_matrix& matrix, std::size_t& complementedRow, std::size_t& complementedColumn, log_level level = LOG_QUIET);
142 
143 } /* namespace tu */
Definition: algorithm.hpp:14
bool is_k_modular(const integer_matrix &matrix, size_t &rank, log_level level)
Definition: unimodularity.cpp:157
log_level
Definition: common.hpp:36
@ LOG_QUIET
Definition: common.hpp:37
bool is_strongly_k_modular(const integer_matrix &matrix, size_t &rank, log_level level)
Definition: unimodularity.cpp:216
unsigned int get_k_modular_integrality(const integer_matrix &matrix, const integer_matrix &rhs)
Definition: unimodularity.cpp:275
bool is_unimodular(const integer_matrix &matrix, size_t &rank, log_level level)
Definition: unimodularity.cpp:109
boost::numeric::ublas::matrix< long long > integer_matrix
Definition: common.hpp:27
bool is_complement_total_unimodular(const integer_matrix &matrix, std::size_t &complementedRow, std::size_t &complementedColumn, log_level level)
Definition: unimodularity.cpp:298
bool is_k_modular_integral(const integer_matrix &matrix, const integer_matrix &rhs)
Definition: unimodularity.cpp:293
bool is_strongly_unimodular(const integer_matrix &matrix, size_t &rank, log_level level)
Definition: unimodularity.cpp:127