Я пишу программу для выполнения некоторых вычислительных вычислений с использованием библиотеки линейной алгебры Эйгена. По сути, я хотел бы диагонализировать большое количество довольно больших (около 300 x 300) матриц в цикле. Итак, я пытаюсь сделать следующее: перед запуском цикла я выделяю контейнер STL из нескольких собственных матриц, которые я хотел бы использовать повторно на каждой итерации. Следующий код работает:
Код: Выделить всё
std::vector A;
for (int i = 0; i < Imax; i++){
// some calculation using A
}
Однако я знаю размерность A и размер вектора STL во время компиляции. Можно ли динамически распределить вектор матриц перед запуском цикла так, чтобы они имели фиксированный ненулевой размер? По сути, у меня есть 4 элемента в векторе, каждый из которых представляет собой собственную матрицу размером 300 x 300.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... e-known-at