Enhance gaussian elimination solve and gauss jordan solve

Now both `gaussian_elimination_solve` and `gauss_jordan_solve` can take
a column matrix instead of a single column vector. Previously to solve two
systems, Ax = b_{1} and Ax = b_{2} (b_{1} and b_{2} are column vectors), one
had to call either of the above functions two times. This is inefficient as
for each call, gauss jordan form or row echelon form of A has to be
calculated. Now one can call either of the functions with B = [b_{1}, b_{2}],
saving extra calculations.
Implement matrix inverse using gauss jordan elimination