Тип проблемы, о которой вы говорите, сильно отличается, и я сомневаюсь, что есть одна библиотека, которая бы все делала эффективно. Некоторые библиотеки могут также подходить более конкретно для задач линейной алгебры, возникающих из конкретных приложений (например, проблем конечных элементов).
Что касается библиотек, я никогда не использовал Scalapack, но помните, что в этой области старое не обязательно означает плохое. Вот несколько других выборов, которые вы можете выбрать:
Конечно, ... взгляните на репозиторий netlib , вы можете найти интересные вещи, в том числе некоторые библиотеки, на которые опираются вышеуказанные ссылки.
Наконец, что касается языка, помните, что эффективность также будет зависеть от использования соответствующих библиотек: Blas, Atlas, Lapack, ... которые, скорее всего, написаны на "неком языке, отличном от C ++", и вы просто должны вызывать их с соответствующей оберткой.