Функция умножения матриц комплексных чисел 4096 х 4096

Задали лабу. Т.к. в плюсах не силен, решил использовать вектора.

vector<vector<complex<double>>>firstMethod(vector<vector<complex<double>>> A,vector<vector<complex<double>>> B)
{
    vector< vector <complex <double>> > Arr(size_, vector<complex<double>>(size_));
    for (unsigned int i = 0; i < size_; i++)
    {
        for (unsigned int j = 0; j < size_; j++)
        {
            for (unsigned int k = 0; k < size_; k++)
            {
                Arr[i][j] += A[i][k] * B[k][j];
            }
        }
    }
    return Arr;
}

Где вектор A - первая матрица комплексных double чисел, вектор B - вторая соответственно. Есть ли способ нормального перемножения двух таких матриц 4096*4096, или матрицы с 17млн комплексных дабл чисел невозможно умножить быстро? (п1. По формуле из линейной алгебры). size_ = 4096;


Ответы (0 шт):