Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learning MySQL Get A Handle On Your Data

Authors: Seyed M M Tahaghoghi

1st Edition

0596529465, 9780596529468

More Books

Students also viewed these Databases questions

Question

What are the purposes of strategic planning?

Answered: 1 week ago

Question

6. What qualifications are needed to perform the job?

Answered: 1 week ago