<T>LAPACK 0.1.2
C++ Template Linear Algebra PACKage
|
Concept for a workspace. More...
#include <concepts.hpp>
Concept for a workspace.
A workspace is a type that can be reshaped. The reshape operation returns a std::pair
of two objects: a matrix (or vector) and an object that holds the remaining workspace. The type, layout and other properties of the returned matrix (or vector) are defined by the reshape operation and, therefore, each object type has should have its own implementation of that functionality. Since the remaining workspace is returned, the shape of the matrix (or vector) does not need to match the size of the original workspace. For instance, if an object work
has size 50, the call reshape(work, 10, 2)
returns a pair of a 10-by-2 matrix and a workspace of size 30. The matrix uses 20 entries of the original workspace, and the remaining 30 entries are stored in the remaining workspace. In a similar example, the call reshape(work, 35)
returns a pair of a vector of size 35 and a workspace of size 15. The operations reshape(T&, size_t)
and reshape(T&, size_t, size_t)
must be callable from the namespace tlapack
.
reshape(T&, size_t, size_t)
satisfies the concept tlapack::concepts::TransposableMatrix.work_t | Workspace type. |