Program the following algorithms that we covered in the


Design and Analysis of Algorithms Project #1

Program the following algorithms that we covered in the class:

a. Classical matrix multiplication

b. Divide-and-conquer matrix multiplication

c. Strassen's matrix multiplication

In order to obtain more accurate results, the algorithms should be tested with the same matrices of different sizes many times. The total time spent is then divided by the number of times the algorithm is performed to obtain the time taken to solve the given instance. Let the matrix size be n x n. Carry out a complete test of your algorithms with n = 2, 4, 8, 16, 32, 64, 128, 256, ... (up to the largest size of n that your computer can handle)

Write a detailed report together with graphs explaining the data sets, test strategies and explanation of the results. What are the theoretical complexity comparisons of the three algorithms? Is the classical matrix multiplication always faster than the divide-and-conquer matrix multiplication? Conclude your report with the strength and constraints of your work.

Turn in your report and a hard copy of your program. Project is due at the beginning of class on the due date. Late submission will be accepted with a penalty of 10% per calendar day. I encourage discussion among students, but I expect each student to hand in original work. You are responsible for doing your own work and for insuring that your work is protected from copying. The University's policy on Academic

Integrity, as stated in the catalog, will be enforced.

Solution Preview :

Prepared by a verified Expert
Marketing Management: Program the following algorithms that we covered in the
Reference No:- TGS01237802

Now Priced at $75 (50% Discount)

Recommended (90%)

Rated (4.3/5)

A

Anonymous user

2/5/2016 6:23:54 AM

The programming questions below are designed to allow students to show their theoretical understanding and programming application of algorithms. Program the given algorithms: a) Classical matrix multiplication b) Divide-and-conquer matrix multiplication c) Strassen's matrix multiplication Write down a detailed report altogether with graphs describing the data sets, test strategies and description of the results. Write the theoretical complexity comparisons of the three algorithms? Is the classical matrix multiplication for all time faster than the divide-and-conquer matrix multiplication? Wrap up your report with the strength and limitations of your work.