Question: In mathematics, a matrix (plural matrices) is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns. In this exercise, you are

In mathematics, a matrix (plural matrices) is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns. In this exercise, you are supposed to write a C program for matrix operations, and your task is to implement the following functions as requested (in modules) and the main source code to produce the following outputs with respect to given input files. Write a C program in modules (each function declaration and definition should be in separate header file and source file, respectively, e.g., you should have func1.h, func1.c to implement a function in modules.) Monolithic programming is not accepted.

Standard Output: Most command line programs that display their results by sending their results to a facility called standard output. By default, standard output directs its contents to the display. To redirect standard output to a file, use > as such: ls > file list.txt This will overwrite to the file. If you want to append to the file, instead use >>.

Standard Input: Many commands can accept input from a facility called standard input. By default, standard input gets its contents from the keyboard, but like standard output, it can be redirected. To redirect standard input from a file instead of the keyboard, use

(a) [2 points] Write a function which reads an integer matrix given in a .txt file using I/O redirection. You should be running your program as follows: ./pe6

(b) [2 points] Write a C function to print a given input matrix.

(c) [2 points] Write a C function to compute the transpose of a matrix. The transpose of a matrix is an operator which flips a matrix over its diagonal, i.e., AT i,j = Aj,i

(d) [2 points] Write a C function to compute the matrix multiplication of two input matrices and store the result in a new matrix. Note that the matrix product C = AB, where A is an m n and B is an n p matrices, can be computed element-wise as Ci,j = Pn k=1 Ai,kBk,j for i = 1, , m and j = 1, , p.

(e) [2 points] Write a C function to compute and return the trace of a Matrix. Note that the trace of a square matrix A is defined to be the sum of elements on the main diagonal. For a real matrix A, the Frobenius norm is equal to the square root of the matrix trace of AAT .

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 Programming Questions!