/thread_matrix_product

Function C that asynchronously calculates the product of two matrices

Primary LanguageC

thread_matrix_product Function C that asynchronously calculates the product of two matrices

In linear algebra, the multiplication of matrices is the operation that produces a new matrix C by making the product rows for columns of two given matrices A and B. More in detail, if A has size [r, x] and B has size [x, c], then C will have size [r, c], and each of its own position elements (i, j) will be computed as:

C[i][j] = \sum_{k=0}^{x-1} A[i][k] x B[k][j]

Write a multithreaded function

void mat_mul (int **A, int **B, int r, int x, int c, int **C);

able to generate the matrix C, running a thread to compute each one of its elements. Each thread will calculate the value of the element, making the product rows by columns previously specified. Properly define the data structure required to run the threads.