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.