Question: Perform matrix multiplication using numerical data types. Implement the three specified algorithms in C + + , aiming for the highest efficiency possible. Test your

Perform matrix multiplication using numerical data types. Implement the three specified algorithms in C++, aiming for the highest efficiency possible.
Test your algorithms thoroughly with matrix sizes n x n, where n is a power of 2(e.g.,2,4,8,16,32,64,128,256,512,1024,... up to the largest size your computer can handle). The input sizes will be powers of 2, up to 2^k where 2^k is the maximum size your computer can manage without running out of memory.
Task 1: Complexity Analysis
Analyze the theoretical worst-case complexity for each algorithm.
Describe the worst-case input for each algorithm.
Task 2: Design
Provide pseudocode or flowcharts for each algorithm.
Task 3: Testing Cases
Design at least 10 testing cases to verify the correctness of each algorithm.
Provide the expected output for each testing case.
Task 4: Design testing strategy for the programs.
Hint: Keep in mind that running the same data set for the Matrix Multiplication program multiple times can yield varying run times due to different computer workloads at different moments. Therefore, it's beneficial to execute each data set multiple times and compute the average run time for an accurate performance assessment. Calculate the average run time of each input data set after conducting the experiment over m trials, excluding the best and worst run times from the results
Answer these two questions:
1. How do you generate and structure the randomly generated inputs?
2. Determine the number of trials (m) needed for performance evaluation, and exclude the best and worst run times to calculate the average runtime.
Task 5: Implementation (IMPORTANT!!)
Based on the designs provided in Task 2, implement the following in C++:
Classical matrix multiplication
Divide-and-conquer matrix multiplication
Strassens matrix multiplication

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!