Amit Kumar : Life Is Learning!

GSoC : This week in SymPy #8


Hi there! It’s been eight weeks into GSoC . Here is the Progress for this week.

  Progress of Week 8

This week, my PR for making invert_real more robust was Merged, along with these:

  • PR #9628 : Make invert_real more robust

  • PR #9668 : Support solving for Dummy symbols in linsolve

  • PR #9666 : Equate S.Complexes with ComplexPlane(S.Reals*S.Reals)

Note: We renamed S.Complex to S.Complexes, which is analogous with S.Reals as suggested by @jksuom.

I also opened PR #9671 for Simplifying ComplexPlane output when ProductSet of FiniteSets are given as input: ComplexPlane(FiniteSet(x)*FiniteSet(y)), It was earlier simplified to:

ComplexPlane(Lambda((x, y), x + I*y), {x} x {y})

It isn’t very useful to represent a point or discrete set of points in ComplexPlane with an expression like above. So in the above PR it is now simplified as FiniteSet of discrete points in ComplexPlane:

In [3]: ComplexPlane(FiniteSet(a, b, c)*FiniteSet(x, y, z))
Out[3]: {a + I*x, a + I*y, a + I*z, b + I*x, b + I*y, b + I*z, c + I*x, c + I*y, c + I*z}

It’s awaiting Merge, as of now.

Now, I have started replacing solve with solveset and linsolve.

from __future__ import plan Week #9:

This week I plan to Merge my pending PR’s & work on replacing old solve in the code base with solveset.

$ git log

  • PR #9710 : Replace solve with solveset in sympy.stats
  • PR #9708 : Use solveset instead of solve in sympy.geometry
  • PR #9671 : Simplify ComplexPlane({x}*{y}) to FiniteSet(x + I*y)
  • PR #9668 : Support solving for Dummy symbols in linsolve
  • PR #9666 : Equate S.Complexes with ComplexPlane(S.Reals*S.Reals)
  • PR #9628 : Make invert_real more robust
  • PR #9587 : Add Linsolve Docs
  • PR #9500 : Documenting solveset

That’s all for now, looking forward for week #9. :grinning: