Write C function to compute inverse matrix of square matrix, such that
if Y = M^-1 then M * Y = E.
Function must have following interface:
double* inv_matrix(const double* M, const size_t N);
Inputs:
N - size of matrix side
M - matrix data (standard C array of N * N)
Outputs:
Function must allocate memory with malloc(), compute inverse matrix,
store it in the newly allocated area and return it. If inverse matrix does not exist,
function must deallocate that memory and return NULL.
Function must also return NULL if memory allocation failed, or if n is zero.
In the latter case, memory should not be allocated at all.
Function is NOT allowed to modify its input.
Special conditions:
- You are not allowed to use any third-party libraries. Maximum you can use
is functions available in the standard header file math.h
- Function must use most effective algorithm that will work well for matrix sizes N up to 10000.
- Function must be failsafe and memory leak free.
- Function must be written in the plain C language (STRICTLY NO C++!!!) and comply to C99 language standard.
- Function must compile without any warnings or errors on GCC 4.8.5 using following set of compiler options:
-std=c99 -Wall -Wextra -pedantic -Werror
- All code must be formatted according to Linux Kernel coding standard
(see here for more details: [login to view URL])
- You must provide small test program that execute at least 10 test cases to prove correctness
(we strongly recommend you to use Matlab or Octave to precompute your test data).
Hello Sir/Mam
NovaSofts Inc. is the leading IT Company of Islamabad Pakistan. We have 9+ years of experience and strong knowledge about programming languages
Java
C++
C
C#
Android
So you don't worry about third party client. We are very much experienced and assure you that we’ll provide quality work. The project bid is negotiable and P.M for sample work. Thanks
Hi there!
My name is Yaicel and I am very interested in your problem. I have advanced skills in numeric math and this is what you need, as your matrix could be very big, as long as 10000 x 10000, the traditional analytic algorithm of adjunt/determinat will not work or will be to slow. Thus it is better to use the Gaussian Jordan method. I have done this before in other languages and I am able to do this for you in 4 hours from now. I am highly qualified for this project and I would love to help you.
If you would like to review my previous work, please, feel free to look at my Freelancer portfolio and feedbacks. Thanks for considering my bid.
I hope to hear from you soon.
Yaicel.
Hi! My name is Fernando Téllez. I am a senior year student of electrical engineering at Universidad Simón Bolívar (USB), one of the most prestigious universities in my country (Ranked 34° at the QS University Rankings: Latin America 2015).
I code using matlab ON A DAILY BASIS to solve any kind of engineering, logical, statistical and mathematical problem.
I am professional C++ / C# developer for past 2 years now. I started learning C++ 8 years back so i am thorough with it and also have the confidence to do anything that comes up. My last two projects on freelancer was also C++ based and i finished them well before time. I love developing new software as it is my passion and i also have the quality to finish the project well within time frame