Question: So I need to write a function for matrix inversion in C language. But before doing so, I need to check if it is invertible

So I need to write a function for matrix inversion in C language. But before doing so, I need to check if it is invertible to begin with.
Write a high performance program! In fact, write two programs! Program 1 calls program 2 several times. Program 1 should share the work with its copies over shared memory. The syntax will be: ./mympi invertMatrix dimension n With n being a number between 1 and 16 in binary terms (1,2,4,8,16). Your program must work with all of these inputs. Program 1: Program 1, named mympi will start program 2, named invertMatrix, n times. The second program should divide the task of finding the inverse of a matrix with a certain dimension. l.e. program 1 should spawn the program 2 n times using execv terminate clean without zombies. Program 2: This program that finds the inverse of square matrices (float datatype). The size of the matrix will can is specified over the command line. Keep in mind if you have a 2x2 matrix, its dimension is 4. Have the following matrices: A, Ainv and I, 11, 12. A is the square matrix populated with random numbers that you will find it's inverse Ainy from. Make sure that's the case by writing a function for doing this, like randommatrix(A). I is the identity matrix and can be used to control if A*Ainy = 1. Please do so! A, Ainv and 1,12,13 should be shared over the other processes and cleaned up accordingly at the end. The program should calculate: 11 = A*Ainv; 12 = Ainv*A; //check that 11 == 12 == In that order. Have synch() functions between the calculation, before it and after it. Print the result of the calculation. And: Print the time taken from before the first calculation starts until the last one ends. Needless to say, print only with one process. . Write a function for the matrix inversion! Keep in mind, that you have to figure out if the matrix is to invertible to begin with! You can use sleep() for catching problems with creating the shared mem, but not when starting the calculations until they end. In short, no sleep() inside measuring the time! Write a high performance program! In fact, write two programs! Program 1 calls program 2 several times. Program 1 should share the work with its copies over shared memory. The syntax will be: ./mympi invertMatrix dimension n With n being a number between 1 and 16 in binary terms (1,2,4,8,16). Your program must work with all of these inputs. Program 1: Program 1, named mympi will start program 2, named invertMatrix, n times. The second program should divide the task of finding the inverse of a matrix with a certain dimension. l.e. program 1 should spawn the program 2 n times using execv terminate clean without zombies. Program 2: This program that finds the inverse of square matrices (float datatype). The size of the matrix will can is specified over the command line. Keep in mind if you have a 2x2 matrix, its dimension is 4. Have the following matrices: A, Ainv and I, 11, 12. A is the square matrix populated with random numbers that you will find it's inverse Ainy from. Make sure that's the case by writing a function for doing this, like randommatrix(A). I is the identity matrix and can be used to control if A*Ainy = 1. Please do so! A, Ainv and 1,12,13 should be shared over the other processes and cleaned up accordingly at the end. The program should calculate: 11 = A*Ainv; 12 = Ainv*A; //check that 11 == 12 == In that order. Have synch() functions between the calculation, before it and after it. Print the result of the calculation. And: Print the time taken from before the first calculation starts until the last one ends. Needless to say, print only with one process. . Write a function for the matrix inversion! Keep in mind, that you have to figure out if the matrix is to invertible to begin with! You can use sleep() for catching problems with creating the shared mem, but not when starting the calculations until they end. In short, no sleep() inside measuring the time
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
