# GSoC : This week in SymPy #2

Open Source · GSoC · SymPyHi there! It’s been two weeks into GSoC, & I have managed to flip some bits.

This week, I started working on `ComplexPlane`

Class, & also worked on improving `linsolve`

.

**Progress of Week 2**

The major portion of this week went into improving `linsolve`

function, which I wrote last week,
PR : **#9438**.

Jason suggested to let the Matrix code be the core source for all linear solve operations (i.e. remove all algorithmic solve code from everywhere else in sympy). Then for any linear solve stuff that can’t be handled by the Matrix code base, implement that here in `linsolve`

.

It was indeed a good idea, since solving linear system is more of Matrix stuff than that of solvers in CAS, So we introduced a new solver in `matrices.py`

named as:

`gauss_jordan_solve()`

: It solves`Ax = b`

using Gauss Jordan elimination.

There may be zero, one, or infinite solutions. If one solution exists, it will be returned. If infinite solutions exist, it will be returned parametrically in terms of Dummy parameters. If no solutions exist, It will throw ValueError.

Now `linsolve`

is a light wrapper around `gauss_jordan_solve()`

method, it basically converts all the input types into the standard A & b form & calls A.gauss_jordan_solve() and replaces the dummy parameters with the symbols input by the user.

### Plan for Week 3:

This week I plan to complete ComplexPlane class & get the following PR’s Merged:

That’s all for now, looking forward for week #3.