У меня есть программа на С++ для расчетов методом конечных элементов.
В силу того, что написана была не очень удачно (имеется плохие структуры данных и некоторые недостатки в алгоритме всей программы),
нужно ее переписать с использованием правильных алгоритмов и технологий.
В программе нужно перейти на использование blas для увеличения скорости работы с матрицами.
Возможно в будущем придется добавить возможность использования MPI или Cuda/OpenCL.
Также ее нужно сделать более универсальной.
Поэтому возникли следующие вопросы:
1. Какие технологии и библиотеки использовать для программы?
2. Какую реализацию работы с матрицами выбрать?
3. Какой язык программирования (c++, fortran, python) выбрать и какая библиотека blas лучше подойдет?
4. Использовать ли boost и итераторы?