30namespace nda::lapack {
60 template <MemoryVector DL, MemoryVector D, MemoryVector DU, MemoryArray B>
62 int gtsv(DL &&dl, D &&d, DU &&du, B &&b) {
63 static_assert((
get_rank<B> == 1 or
get_rank<B> == 2),
"Error in nda::lapack::gtsv: B must be an matrix/array/view of rank 1 or 2");
66 EXPECTS(dl.extent(0) == d.extent(0) - 1);
67 EXPECTS(du.extent(0) == d.extent(0) - 1);
68 EXPECTS(b.extent(0) == d.extent(0));
74 f77::gtsv(N, NRHS, dl.data(), d.data(), du.data(), b.data(), N, info);
Provides definitions and type traits involving the different memory address spaces supported by nda.
Provides concepts for the nda library.
constexpr bool have_same_value_type_v
Constexpr variable that is true if all types in As have the same value type as A0.
constexpr int get_rank
Constexpr variable that specifies the rank of an nda::Array or of a contiguous 1-dimensional range.
int gtsv(DL &&dl, D &&d, DU &&du, B &&b)
Interface to the LAPACK gtsv routine.
static constexpr bool on_host
Constexpr variable that is true if all given types have a Host address space.
constexpr bool is_blas_lapack_v
Alias for nda::is_double_or_complex_v.
Provides a C++ interface for various LAPACK routines.
Macros used in the nda library.
Provides type traits for the nda library.