|
|
@ -33,12 +33,12 @@ void define_sparse_matrix(py::module& m) { |
|
|
|
|
|
|
|
// SparseMatrixBuilder
|
|
|
|
py::class_<SparseMatrixBuilder<double>>(m, "SparseMatrixBuilder", "Builder of sparse matrix") |
|
|
|
.def(py::init<double , double , double , bool , bool , double>(), "rows"_a = 0, "columns"_a = 0, "entries"_a = 0, "force_dimensions"_a = true, "has_custom_row_grouping"_a = false, "row_groups"_a = 0) |
|
|
|
.def(py::init<double, double, double, bool, bool, double>(), "rows"_a = 0, "columns"_a = 0, "entries"_a = 0, "force_dimensions"_a = true, "has_custom_row_grouping"_a = false, "row_groups"_a = 0) |
|
|
|
|
|
|
|
.def("add_next_value", &SparseMatrixBuilder<double>::addNextValue, R"dox( |
|
|
|
|
|
|
|
Sets the matrix entry at the given row and column to the given value. After all entries have been added, |
|
|
|
a call to finalize(false) is mandatory. |
|
|
|
calling function build() is mandatory. |
|
|
|
|
|
|
|
Note: this is a linear setter. That is, it must be called consecutively for each entry, row by row and |
|
|
|
column by column. As multiple entries per column are admitted, consecutive calls to this method are |
|
|
@ -47,7 +47,7 @@ void define_sparse_matrix(py::module& m) { |
|
|
|
|
|
|
|
:param double row: The row in which the matrix entry is to be set |
|
|
|
:param double column: The column in which the matrix entry is to be set |
|
|
|
:param double const& value: The value that is to be set at the specified row and column |
|
|
|
:param double value: The value that is to be set at the specified row and column |
|
|
|
)dox", py::arg("row"), py::arg("column"), py::arg("value")) |
|
|
|
|
|
|
|
.def("new_row_group", &SparseMatrixBuilder<double>::newRowGroup, py::arg("starting_row"), "Start a new row group in the matrix") |
|
|
@ -58,20 +58,20 @@ void define_sparse_matrix(py::module& m) { |
|
|
|
.def("replace_columns", &SparseMatrixBuilder<double>::replaceColumns, R"dox( |
|
|
|
|
|
|
|
Replaces all columns with id >= offset according to replacements. |
|
|
|
Every state with id offset+i is replaced by the id in replacements[i]. Afterwards the columns are sorted. |
|
|
|
Every state with id offset+i is replaced by the id in replacements[i]. Afterwards the columns are sorted. |
|
|
|
|
|
|
|
:param std::vector<double> const& replacements: replacements Mapping indicating the replacements from offset+i -> value of i |
|
|
|
:param double offset: Offset to add to each id in vector index. |
|
|
|
:param int offset: Offset to add to each id in vector index. |
|
|
|
)dox", py::arg("replacements"), py::arg("offset")) |
|
|
|
; |
|
|
|
|
|
|
|
py::class_<SparseMatrixBuilder<RationalFunction>>(m, "ParametricSparseMatrixBuilder", "Builder of parametric sparse matrix") |
|
|
|
.def(py::init<double , double , double , bool , bool , double>(), "rows"_a = 0, "columns"_a = 0, "entries"_a = 0, "force_dimensions"_a = true, "has_custom_row_grouping"_a = false, "row_groups"_a = 0) |
|
|
|
.def(py::init<double, double, double, bool, bool, double>(), "rows"_a = 0, "columns"_a = 0, "entries"_a = 0, "force_dimensions"_a = true, "has_custom_row_grouping"_a = false, "row_groups"_a = 0) |
|
|
|
|
|
|
|
.def("add_next_value", &SparseMatrixBuilder<RationalFunction>::addNextValue, R"dox( |
|
|
|
|
|
|
|
Sets the matrix entry at the given row and column to the given value. After all entries have been added, |
|
|
|
a call to finalize(false) is mandatory. |
|
|
|
calling function build() is mandatory. |
|
|
|
|
|
|
|
Note: this is a linear setter. That is, it must be called consecutively for each entry, row by row and |
|
|
|
column by column. As multiple entries per column are admitted, consecutive calls to this method are |
|
|
@ -80,7 +80,7 @@ void define_sparse_matrix(py::module& m) { |
|
|
|
|
|
|
|
:param double row: The row in which the matrix entry is to be set |
|
|
|
:param double column: The column in which the matrix entry is to be set |
|
|
|
:param RationalFunction const& value: The value that is to be set at the specified row and column |
|
|
|
:param RationalFunction value: The value that is to be set at the specified row and column |
|
|
|
)dox", py::arg("row"), py::arg("column"), py::arg("value")) |
|
|
|
|
|
|
|
.def("new_row_group", &SparseMatrixBuilder<RationalFunction>::newRowGroup, py::arg("starting_row"), "Start a new row group in the matrix") |
|
|
@ -91,10 +91,10 @@ void define_sparse_matrix(py::module& m) { |
|
|
|
.def("replace_columns", &SparseMatrixBuilder<RationalFunction>::replaceColumns, R"dox( |
|
|
|
|
|
|
|
Replaces all columns with id >= offset according to replacements. |
|
|
|
Every state with id offset+i is replaced by the id in replacements[i]. Afterwards the columns are sorted. |
|
|
|
Every state with id offset+i is replaced by the id in replacements[i]. Afterwards the columns are sorted. |
|
|
|
|
|
|
|
:param std::vector<double> const& replacements: replacements Mapping indicating the replacements from offset+i -> value of i |
|
|
|
:param double offset: Offset to add to each id in vector index. |
|
|
|
:param int offset: Offset to add to each id in vector index. |
|
|
|
)dox", py::arg("replacements"), py::arg("offset")) |
|
|
|
; |
|
|
|
|
|
|
|