TransWikia.com

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

Stack Overflow на русском Asked by ivanuchka 007dunduk on February 20, 2021

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

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;

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP