- May 25, 2023
-
-
-
Oliver Sander authored
CHOLMOD supports this, it just wasn't exposed in the interface. It is needed for large problems.
-
- Apr 11, 2023
-
-
Carsten Gräser authored
-
Carsten Gräser authored
Using `std::uint_least32_t` instead of `std::size_t` halves the required memory and thus also improves performance. Notice that `std::uint32_t` is optional and `std::uint_fast32_t` is intended to be fast in terms of computations and may have 64 bits. Here we're interested in reducing memory and thus bandwith. Hence `std::uint_least32_t`, which is the smallest sufficient type is most appropriate.
-
Carsten Gräser authored
This replaces the `std::set` used to store the column indices for each rows by a `std::vector` based implementation. The `std::vector` is kept sorted when inserting such that we can avoid duplicates. This can improve assembly time of matrices significantly (if `MatrixIndexSet` is used). In the worst case (insertion in reverse) this may lead to O(n^2) complexity when inserting n entries in a row compared to O(n log(n)) for `std::set`. However, the sorted `std::vector` implementation still wins for relatively large n. To avoid the worst case complexity when using very dense rows, the implementation is switched to `std::set` if the size exceeds the threshold value `maxVectorSize`. The default `maxVectorSize=2048` was selected based on benchmark results.
-
- Apr 04, 2023
-
-
Christoph Grüninger authored
The CMAKE_GUARD for multiple guarding variables requires a porper boolean statement.
-
- Mar 16, 2023
-
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
- Mar 07, 2023
-
-
Simon Praetorius authored
-
Simon Praetorius authored
-
- Feb 06, 2023
-
-
use using and SizeType to size_type to adhere to istl conventions
-
- Jan 16, 2023
-
-
Carsten Gräser authored
Notice that this also fixes an incorrect `MultiTypeBlockMatrix::field_type` in a special setting: If you have a nested matrix `MultiTypeBlockMatrix< MultiTypeBlockVector<MultiTypeBlockMatrix<...>>>`, the outer `MultiTypeBlockMatrix::field_type` forwards to the `MultiTypeBlockVector::field_type` which forwards to the inner `FieldTraits<MultiTypeBlockMatrix>::field_type`.
-
- Jan 08, 2023
-
-
Oliver Sander authored
And fix all spelling errors that codespell currently finds.
-
- Jan 07, 2023
-
-
Ansgar Burchardt authored
-
- Dec 12, 2022
-
-
Carsten Gräser authored
... because we also specialize `std::tuple_element` and it derives from `std::tuple` after all.
-
- Dec 08, 2022
-
-
Markus Blatt authored
Corner case that sometimes happens and produced a segmentation fault.
-
Markus Blatt authored
-
- Dec 02, 2022
-
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
- Nov 18, 2022
-
-
Christoph Grüninger authored
Unused variable warning indicated this oversight
-
- Oct 06, 2022
-
-
Simon Praetorius authored
-
- Sep 30, 2022
-
-
Ansgar Burchardt authored
See https://reuse.software/ for a description.
-
- Sep 29, 2022
-
-
José Eduardo Chiarelli Bueno Filho authored
-
- Jun 22, 2022
-
-
Santiago Ospina De Los Ríos authored
Nested sparse matrices were not allowed to have empty rows/cols. By choosing the minimum offset of other blocks, we get an educated guess for these cases.
-
- Jun 11, 2022
-
-
Timo Koch authored
-
- May 02, 2022
-
-
Santiago Ospina De Los Ríos authored
Before this commit, the pattern was deallocated with the wrong size that created a huge memory leak.
-
- Apr 12, 2022
-
-
Markus Blatt authored
The current behavior (allocating each row separately ) is rather surprising and unnecessary as the matrix market file stores the number of nonzeros anyway. Hence we now pass this number to BCRSMatrix::SetSize to get the most efficient behavior
-
- Feb 28, 2022
-
-
Nils-Arne Dreier authored
-
- Feb 22, 2022
-
-
Simon Praetorius authored
-
- Feb 16, 2022
-
-
Simon Praetorius authored
-
- Feb 09, 2022
-
-
Simon Praetorius authored
-
Nils-Arne Dreier authored
-
- Feb 08, 2022
-
-
-
Nils-Arne Dreier authored
-
- Jan 25, 2022
-
-
Nils-Arne Dreier authored
-
- Jan 20, 2022
-
-
Nils-Arne Dreier authored
-