17#if defined(NUMERICS_HAS_LAPACK)
20 std::vector<double> dl(a.
data(), a.
data() + (n - 1));
21 std::vector<double> diag(b.
data(), b.
data() + n);
22 std::vector<double> du(c.
data(), c.
data() + (n - 1));
24 int info = LAPACKE_dgtsv(LAPACK_ROW_MAJOR,
static_cast<lapack_int
>(n), 1,
25 dl.data(), diag.data(), du.data(), x.
data(),
28 throw std::runtime_error(
"thomas (lapack): dgtsv failed, info=" +
29 std::to_string(info));