Стоит взглянуть на интерфейсы LAPACK и BLAS, из которых есть несколько библиотек реализации. Первоначально netlib с открытым исходным кодом, а затем другие, такие как MKL, за которые вы должны заплатить. Функция dgtsv делает то, что вы ищете. Версии netlib с открытым исходным кодом не выполняют никаких явных инструкций SIMD, но MKL работает и будет работать лучше всего на чипах Intel.