Возврат разреженной матрицы в Eigen 3.1.0-alpha1

Я использую eigen 3.1.0-alpha1 в качестве решателя для своего первого небольшого программного обеспечения. Мне нужно вернуть разреженную матрицу из метода класса:

SparseMatrix KMDMatrix::Assembly(double ***p_objs){
SparseMatrix <double> Kglobal(15,15); 
        for (int i = 0; i < N_POINTS; ++i){
            for (int j = 0; j < 10; ++j){
                for (int h = 0; h < 10; ++h){
                    Kglobal.coeffRef(i*5+j,i*5+h)+=p_objs[i][j][h];
                }
            }
        }

return Kglobal;

но это не работает. Одна из ошибок: ошибка C2955: «Eigen::SparseMatrix»: для использования шаблона класса требуется список аргументов шаблона.

Я объявил это:

SparseMatrix Assembly(double ***p_objs);

У меня есть некоторые трудности с использованием Eigen, ссылка не понятна для меня. Спасибо за помощь мне


person Ale    schedule 19.12.2011    source источник


Ответы (1)


В соответствии с вашим кодом вы должны использовать

SparseMatrix<double> KMDMatrix::Assembly(double ***p_objs){

в спецификаторе возвращаемого типа

person stativ    schedule 19.12.2011