Preconditionmat_c is not distributed,
-mat_v is not distributed.
+mat_v is not distributed,
+
+mat_c has equal tile and block sizes,
+
+mat_v has equal tile and block sizes.
diff --git a/master/bt__reduction__to__band_8h_source.html b/master/bt__reduction__to__band_8h_source.html
index b5bca2d98a..23e2b5e049 100644
--- a/master/bt__reduction__to__band_8h_source.html
+++ b/master/bt__reduction__to__band_8h_source.html
@@ -92,52 +92,56 @@
- 38 template <Backend backend, Device device,
class T>
-
- 40 Matrix<const T, device>& mat_v,
- 41 Matrix<const T, Device::CPU>& mat_taus) {
- 42 DLAF_ASSERT(matrix::local_matrix(mat_c), mat_c);
- 43 DLAF_ASSERT(matrix::local_matrix(mat_v), mat_v);
- 44 DLAF_ASSERT(square_size(mat_v), mat_v);
- 45 DLAF_ASSERT(square_blocksize(mat_v), mat_v);
- 46 DLAF_ASSERT(mat_c.size().rows() == mat_v.size().rows(), mat_c, mat_v);
- 47 DLAF_ASSERT(mat_c.blockSize().rows() == mat_v.blockSize().rows(), mat_c, mat_v);
-
- 49 [[maybe_unused]]
auto nr_reflectors_blocks = [&b, &mat_v]() {
- 50 const SizeType m = mat_v.size().rows();
- 51 const SizeType mb = mat_v.blockSize().rows();
- 52 return std::max<SizeType>(0, util::ceilDiv(m - b - 1, mb));
-
- 54 DLAF_ASSERT(mat_taus.nrTiles().rows() == nr_reflectors_blocks(), mat_taus.size().rows(), mat_v, b);
-
-
-
-
- 72 template <Backend backend, Device device,
class T>
-
- 74 Matrix<T, device>& mat_c, Matrix<const T, device>& mat_v,
- 75 Matrix<const T, Device::CPU>& mat_taus) {
- 76 DLAF_ASSERT(matrix::equal_process_grid(mat_c, grid), mat_c, grid);
- 77 DLAF_ASSERT(matrix::equal_process_grid(mat_v, grid), mat_v, grid);
- 78 DLAF_ASSERT(square_size(mat_v), mat_v);
- 79 DLAF_ASSERT(square_blocksize(mat_v), mat_v);
- 80 DLAF_ASSERT(mat_c.size().rows() == mat_v.size().rows(), mat_c, mat_v);
- 81 DLAF_ASSERT(mat_c.blockSize().rows() == mat_v.blockSize().rows(), mat_c, mat_v);
-
- 83 [[maybe_unused]]
auto nr_reflectors_blocks = [&b, &mat_v]() {
- 84 const SizeType m = mat_v.size().rows();
- 85 const SizeType mb = mat_v.blockSize().rows();
- 86 return mat_v.distribution().template nextLocalTileFromGlobalTile<Coord::Col>(
- 87 std::max<SizeType>(0, util::ceilDiv(m - b - 1, mb)));
-
- 89 DLAF_ASSERT(mat_taus.distribution().localNrTiles().rows() == nr_reflectors_blocks(), mat_taus, mat_v,
-
-
-
-
-
-
-void backTransformationReductionToBand(const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)
Definition: bt_reduction_to_band.h:39
+ 40 template <Backend backend, Device device,
class T>
+
+ 42 Matrix<const T, device>& mat_v,
+ 43 Matrix<const T, Device::CPU>& mat_taus) {
+ 44 DLAF_ASSERT(matrix::local_matrix(mat_c), mat_c);
+ 45 DLAF_ASSERT(matrix::local_matrix(mat_v), mat_v);
+ 46 DLAF_ASSERT(square_size(mat_v), mat_v);
+ 47 DLAF_ASSERT(square_blocksize(mat_v), mat_v);
+ 48 DLAF_ASSERT(mat_c.size().rows() == mat_v.size().rows(), mat_c, mat_v);
+ 49 DLAF_ASSERT(mat_c.blockSize().rows() == mat_v.blockSize().rows(), mat_c, mat_v);
+ 50 DLAF_ASSERT(single_tile_per_block(mat_c), mat_c);
+ 51 DLAF_ASSERT(single_tile_per_block(mat_v), mat_v);
+
+ 53 [[maybe_unused]]
auto nr_reflectors_blocks = [&b, &mat_v]() {
+ 54 const SizeType m = mat_v.size().rows();
+ 55 const SizeType mb = mat_v.blockSize().rows();
+ 56 return std::max<SizeType>(0, util::ceilDiv(m - b - 1, mb));
+
+ 58 DLAF_ASSERT(mat_taus.nrTiles().rows() == nr_reflectors_blocks(), mat_taus.size().rows(), mat_v, b);
+
+
+
+
+ 78 template <Backend backend, Device device,
class T>
+
+ 80 Matrix<T, device>& mat_c, Matrix<const T, device>& mat_v,
+ 81 Matrix<const T, Device::CPU>& mat_taus) {
+ 82 DLAF_ASSERT(matrix::equal_process_grid(mat_c, grid), mat_c, grid);
+ 83 DLAF_ASSERT(matrix::equal_process_grid(mat_v, grid), mat_v, grid);
+ 84 DLAF_ASSERT(square_size(mat_v), mat_v);
+ 85 DLAF_ASSERT(square_blocksize(mat_v), mat_v);
+ 86 DLAF_ASSERT(mat_c.size().rows() == mat_v.size().rows(), mat_c, mat_v);
+ 87 DLAF_ASSERT(mat_c.blockSize().rows() == mat_v.blockSize().rows(), mat_c, mat_v);
+ 88 DLAF_ASSERT(single_tile_per_block(mat_c), mat_c);
+ 89 DLAF_ASSERT(single_tile_per_block(mat_v), mat_v);
+
+ 91 [[maybe_unused]]
auto nr_reflectors_blocks = [&b, &mat_v]() {
+ 92 const SizeType m = mat_v.size().rows();
+ 93 const SizeType mb = mat_v.blockSize().rows();
+ 94 return mat_v.distribution().template nextLocalTileFromGlobalTile<Coord::Col>(
+ 95 std::max<SizeType>(0, util::ceilDiv(m - b - 1, mb)));
+
+ 97 DLAF_ASSERT(mat_taus.distribution().localNrTiles().rows() == nr_reflectors_blocks(), mat_taus, mat_v,
+
+
+
+
+
+
+void backTransformationReductionToBand(const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)
Definition: bt_reduction_to_band.h:41
Definition: communicator_grid.h:42
void eigensolver(blas::Uplo uplo, Matrix< T, D > &mat, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)
Definition: eigensolver.h:39
diff --git a/master/cholesky_8h.html b/master/cholesky_8h.html
index 95ccbbe5aa..762c1b99b7 100644
--- a/master/cholesky_8h.html
+++ b/master/cholesky_8h.html
@@ -129,6 +129,8 @@