Contributions SymPy - gxyd/sympy GitHub Wiki
Name: Gaurav Dhingra
University: Indian Institute of Technology, Roorkee
Major: Applied Mathematics
email: [email protected]
IRC Handle: gxyd at freenode.net
github username: gxyd
Hello, I am Gaurav Dhingra a third year undergraduate student at IIT Roorkee, India. I am pursuing a degree in Applied Mathematics. I work on Elementary OS Freya 0.3 (based on Ubuntu 14.04 LTS) with vim as my primary text editor. I do my work with vim since it allows me work quickly with the code. I am proficient in Python, C++. I love Python since i am a math major and Python allows me to convert mathematical ideas into code without much langauge barriers.
I first started contributing to SymPy in January 2015 on issue #8746 but stalled since of the lack of motivation and confidence.
Then i started contributing to SymPy again in June 2015 and here is list of all of my Contributions in chronological order:
- (Merged)
M.row_del(index) and M.col_del(index) now raise IndexError for out of bound Index#9468 - (Unmerged)
M.row_insert() and M.col_insert() now act in-place for all indices#9477 - (Merged)
y*(x*M) != x*(y*M) for non-commutative symbols x and y#9520 - (Unmerged)
transpose(MatMul(<Symbol>, Matrix)) now works properly#9507 - (Merged)
Mod(zoo, 0) now returns nan and fixed one typo#9528 - (Merged)
splitting simplify.py#9553 - (Merged)
solveset(Abs(x) + 1, x) now returns EmptySet() typo fixed#9570 - (Merged)
redudant declaration removed fixes issue #9573#9574 - (Unmerged)
Union of set containing UniversalSet with non-intersecting Interval#9578 - (Closed)
Complement of UniversalSet with Union of Sets works#9579 - (Merged)
Limit(x, x, a).free_symbols now returns set([a])#9581 - (Merged)
invert_real for sin and cos now operates correctly#9591 - (Unmerged)
invert_complex added for trigonometric func.#9604 - (Merged)
Interval - FiniteSet(x) is now returned unevaluated#9682 - (Closed)
Intersection(Interval, FiniteSet(m, n), FiniteSet(n)) now works correct#9683 - (Merged)
solveset_real(Eq(x, 1), x) fixed#9688 - (Merged)
combsimp for work on factorials#9711 - (Merged)
Range Function for rational functions#9719 - (Merged)
imageset for Piecewise under Interval added#9763 - (Closed)
solveset_real(abs(f1/f2), x) for f1,f2 polynomials in x#9772 - (Merged)
not_empty_in added to codomain.py#9779 - (Merged)
soleveset title_doc changed#9781 - (Closed)
ImageSet(Lambda(n, nan), any_set) now returns EmptySet#9734 - (Merged)
reference to sphinx docs for normalize_theta_set#9735 - (Merged)
solveset(1/exp(x), x) returns S.EmptySet#9735 - (Closed)
singularities((x**2 - 1)/(x**3 - 1), x) returns (1,)#9741 - (Closed)
solveset_complex(sinh(x), x) returns ImageSet(Lambda(n, n*I*pi), Integers)#9750 - (Merged)
soleveset title_doc changed#9781 - (Closed)
[WIP] matrix.rank() with unkown .is_zero raise NotImplementedError#9793 - (Merged)
solveset_real(x**3+1, x) returns FiniteSet(-1)#9804 - (Merged)
Complements of FiniteSet with Symbols returned unevaluated#9814 - (Merged)
test for solveset(Piecewise(((x - 2)**2, x >= 0), (0, True)), x, S.Reals)#9851 - (Unmerged)
[WIP] Implementation of arbitrarily indexed Unions and Intersecions#9853 - (Merged)
solveset(Abs(sin(x)) + 1, x, S.Reals) returns EmptySet#9857 - (Merged)
ConditionSet API changed#9864 - (Merged) `symbols -> Dummy_symbols in ComplexPlane` #9867
- (Merged)
ComplexPlane->ComplexRegion name changed#9873 - (Closed)
Parenthesize printing of Unions having Complement#9878 - (Closed)
[WIP] fuzzy_set implementation#9897 - (Merged)
is_convergent method implementation for Sum#9906 - (Closed)
real_bound added to Function class#9911 - (Merged) `solveset(2*x + 1/(x - 10)**2, x, S.Reals) works` #9930
- (Merged) `Docstring Python escaping backslash in latex strings added` #9938
- (Merged)
is_increasing(), is_decreasing() signature changed#9951 - (Merged)
Union(Interval(-oo, oo), FiniteSet(1)) returns Interval(-oo, oo)#9958 - (Closed)
solve_univariate_inequality(x**2>=0, x) returns (-oo, oo)#9960 - (Merged)
is_convergent() for Product#9982 - (Merged)
Probability for empty set returns S.Zero#10004 - (Merged)
oo**e for non-real complex e handling#10029 - (Merged)
docs changes in rv.py#10039 - (Merged)
Implementation of Limits (different from Limit) in SymPy#10051 - (Merged)
P(X < oo) and P(X > oo) for True, False probability#10053 - (Merged)
Intersection of sets containing common symbols handled#10079 - (Merged)
X.pdf(x) for invalid x in DieDistribution raises ValueError#10083 - (Merged)
imageset of first interval of singularities included#10115 - (Merged)
pretty printing of Cycle works#10183 - (Merged)
docs and code fixes for Combinatorics module#10229 - (Merged)
.is_group for PermutationGroup now returns True#10230 - (Merged)
latex printing of Cycle, Permutation#10261 - (Closed)
[WIP] FiniteGroup in SymPy#10263 - (Unmerged)
[WIP] FreeGroup implementation in SymPy#10350 - (Unmerged)
[WIP] SymmetricGroup is now a class not function#10363 - (Merged)
Simplification of an expression with exponent containing assumption symbol#10378 - (Merged)
normalizing an open Interval now works#10421 - (Merged)
ComplexRegion satisfies the Key Invariant property#10470 - (Closed)
zeta(x) for (Re(x) - 1) nonzero is Finite#10479 - (Unmerged)
[WIP] singularities functions returns exp, log singularities#10495
In the previous semester i had a basic course on Abstract Algebra, in which we were taught beginning with generalized groups and then introduced to Permutation Groups from Topics in Algebra by I. N. Herstien. I somehow came across FreeGroups and started reading about it and i could relate it to some of the topics in Automata Theory. Looking at the FreeGroups led me to FpGroups. I looked at the GAP software (which is open source) but i didn't like it since it is not as fast as it can be (may be since it was written a while back in 1990's, when memory was less available). I realised the computations in even the "small" (i.e small order) FpGroup is difficult to do manually. Also i have been using SymPy for almost 1 year now, so i think adding its functionality to it would be good to SymPy and Python world in general. On the way i came across Magma software, i enjoyed its documentation (i haven't used it). Alas! it's proprietary software.