SymPy Development Team

SymPy is a team project and it was developed by a lot of people.

Here is a list of contributors together with what they do, (and in some cases links to their wiki pages), where they describe in more details what they do and what they are interested in (some people didn’t want to be mentioned here, so see our repository history for a full list).

  1. Ondřej Čertík: started the project in 2006, on Jan 4, 2011 passed the project leadership to Aaron Meurer
  2. Fabian Pedregosa: everything, reviewing patches, releases, general advice (issues and mailinglist), GSoC 2009
  3. Jurjen N.E. Bos: pretty printing and other patches
  4. Mateusz Paprocki: GSoC 2007, concrete math module, integration module, new core integration, a lot of patches, general advice, new polynomial module, improvements to solvers, simplifications, patch review
  5. Marc-Etienne M.Leveille: matrix patch
  6. Brian Jorgensen: GSoC 2007, plotting module and related things, patches
  7. Jason Gedge: GSoC 2007, geometry module, a lot of patches and fixes, new core integration
  8. Robert Schwarz: GSoC 2007, polynomials module, patches
  9. Pearu Peterson: new core, sympycore project, general advice (issues and mailinglist)
  10. Fredrik Johansson: mpmath project and its integration in SymPy, number theory, combinatorial functions, products & summation, statistics, units, patches, documentation, general advice (issues and mailinglist)
  11. Chris Wu: GSoC 2007, linear algebra module
  12. Ulrich Hecht: pattern matching and other patches
  13. Goutham Lakshminarayan: number theory functions
  14. David Lawrence: GHOP, Mathematica parser, square root denesting
  15. Jaroslaw Tworek: GHOP, sympify AST implementation, sqrt() refactoring, maxima parser and other patches
  16. David Marek: GHOP, derivative evaluation patch, int(NumberSymbol) fix
  17. Bernhard R. Link: documentation patch
  18. Andrej Tokarčík: GHOP, python printer
  19. Or Dvory: GHOP, documentation
  20. Saroj Adhikari: bug fixes
  21. Pauli Virtanen: bug fix
  22. Robert Kern: bug fix, common subexpression elimination
  23. James Aspnes: bug fixes
  24. Nimish Telang: multivariate lambdas
  25. Abderrahim Kitouni: pretty printing + complex expansion bug fixes
  26. Pan Peng: ode solvers patch
  27. Friedrich Hagedorn: many bug fixes, refactorings and new features added
  28. Elrond der Elbenfuerst: pretty printing fix
  29. Rizgar Mella: BBP formula for pi calculating algorithm
  30. Felix Kaiser: documentation + whitespace testing patches
  31. Roberto Nobrega: several pretty printing patches
  32. David Roberts: latex printing patches
  33. Sebastian Krämer: implemented lambdify/numpy/mpmath cooperation, bug fixes, refactoring, lambdifying of matrices, large printing refactoring and bugfixes
  34. Vinzent Steinberg: docstring patches, a lot of bug fixes, nsolve (nonlinear equation systems solver), compiling functions to machine code, patches review
  35. Riccardo Gori: improvements and speedups to matrices, many bug fixes
  36. Case Van Horsen: implemented optional support for gmpy in mpmath
  37. Štěpán Roučka: a lot of bug fixes all over SymPy (matrix, simplification, limits, series, ...)
  38. Ali Raza Syed: pretty printing/isympy on windows fix
  39. Stefano Maggiolo: many bug fixes, polishings and improvements
  40. Robert Cimrman: matrix patches
  41. Bastian Weber: latex printing patches
  42. Sebastian Krause: match patches
  43. Sebastian Kreft: latex printing patches, Dirac delta function, other fixes
  44. Dan (coolg49964): documentation fixes
  45. Alan Bromborsky: geometric algebra modules
  46. Boris Timokhin: matrix fixes
  47. Robert (average.programmer): initial piecewise function patch
  48. Andy R. Terrel: piecewise function polishing and other patches
  49. Hubert Tsang: LaTeX printing fixes
  50. Konrad Meyer: policy patch
  51. Henrik Johansson: matrix zero finder patch
  52. Priit Laes: line integrals, cleanups in ODE, tests added
  53. Freddie Witherden: trigonometric simplifications fixes, LaTeX printer improvements
  54. Brian E. Granger: second quantization physics module
  55. Andrew Straw: lambdify() improvements
  56. Kaifeng Zhu: factorint() fix
  57. Ted Horst: Basic.__call__() fix, pretty printing fix
  58. Andrew Docherty: Fix to series
  59. Akshay Srinivasan: printing fix, improvements to integration
  60. Aaron Meurer: ODE solvers (GSoC 2009), The Risch Algorithm for integration (GSoC 2010), other fixes, project leader as of Jan 4, 2011
  61. Barry Wardell: implement series as function, several tests added
  62. Tomasz Buchert: ccode printing fixes, code quality concerning exceptions, documentation
  63. Vinay Kumar: polygamma tests
  64. Johann Cohen-Tanugi: commutative diff tests
  65. Jochen Voss: a test for the @cachit decorator and several other fixes
  66. Luke Peterson: improve solve() to handle Derivatives
  67. Chris Smith: improvements to solvers, many bug fixes, documentation and test improvements
  68. Thomas Sidoti: MathML printer improvements
  69. Florian Mickler: reimplementation of convex_hull, several geometry module fixes
  70. Nicolas Pourcelot: Infinity comparison fixes, latex fixes
  71. Ben Goodrich: Matrix.jacobian() function improvements and fixes
  72. Toon Verstraelen: code generation module, latex printing improvements
  73. Ronan Lamy: test coverage script; limit, expansion and other fixes and improvements; cleanup
  74. James Abbatiello: fixes tests on windows
  75. Ryan Krauss: fixes could_extract_minus_sign(), latex fixes and improvements
  76. Bill Flynn: substitution fixes
  77. Kevin Goodsell: Fix to Integer/Rational
  78. Jorn Baayen: improvements to piecewise functions and latex printing, bug fixes
  79. Eh Tan: improve trigonometric simplification
  80. Renato Coutinho: derivative improvements
  81. Oscar Benjamin: latex printer fix, gcd bug fix
  82. Øyvind Jensen: implemented coupled cluster expansion and wick theorem, improvements to assumptions, bugfixes
  83. Julio Idichekop Filho: indentation fixes, docstring improvements
  84. Łukasz Pankowski: fix matrix multiplication with numpy scalars
  85. Chu-Ching Huang: fix 3d plotting example
  86. Fernando Perez: symarray() implemented
  87. Raffaele De Feo: fix non-commutative expansion
  88. Christian Muise: fixes to logic module
  89. Matt Curry: GSoC 2010 project (symbolic quantum mechanics)
  90. Kazuo Thow: cleanup pretty printing tests
  91. Christian Schubert: Fix to sympify()
  92. Jezreel Ng: fix hyperbolic functions rewrite
  93. James Pearson: Py3k related fixes
  94. Matthew Brett: fixes to lambdify
  95. Addison Cugini: GSoC 2010 project (quantum computing)
  96. Nicholas J.S. Kinar: improved documentation about “Immutability of Expressions”
  97. Harold Erbin: Geometry related work
  98. Thomas Dixon: fix a limit bug
  99. Cristóvão Sousa: implements _sage_ method for sign function.
  100. Andre de Fortier Smit: doctests in matrices improved
  101. Mark Dewing: Fixes to Integral/Sum, MathML work
  102. Alexey U. Gudchenko: various work in matrices
  103. Gary Kerr: fix examples, docs
  104. Sherjil Ozair: fixes to SparseMatrix
  105. Oleksandr Gituliar: fixes to Matrix
  106. Sean Vig: Quantum improvement
  107. Prafullkumar P. Tale: fixed plotting documentation
  108. Vladimir Perić: fix some Python 3 issues
  109. Tom Bachmann: fixes to Real
  110. Yuri Karadzhov: improvements to hyperbolic identities
  111. Vladimir Lagunov: improvements to the geometry module
  112. Matthew Rocklin: stats, sets, matrix expressions
  113. Saptarshi Mandal: Test for an integral
  114. Gilbert Gede: Tests for solvers
  115. Anatolii Koval: Infinite 1D box example
  116. Tomo Lazovich: fixes to quantum operators
  117. Pavel Fedotov: fix to is_number
  118. Kibeom Kim: fixes to cse function and preorder_traversal
  119. Gregory Ksionda: fixes to Integral instantiation
  120. Tomáš Bambas: prettier printing of examples
  121. Jeremias Yehdegho: fixes to the nthoery module
  122. Jack McCaffery: fixes to asin and acos
  123. Raymond Wong: Quantum work
  124. Luca Weihs: improvements to the geometry module
  125. Shai ‘Deshe’ Wyborski: fix to numeric evaluation of hypergeometric sums
  126. Thomas Wiecki: Fix Sum.diff
  127. Óscar Nájera: better Laguerre polynomial generator
  128. Mario Pernici: faster algorithm for computing Groebner bases
  129. Benjamin McDonald: Fix bug in geometry
  130. Sam Magura: Improvements to Plot.saveimage
  131. Stefan Krastanov: Make Pyglet an external dependency
  132. Bradley Froehle: Fix shell command to generate modules in setup.py
  133. Min Ragan-Kelley: Fix isympy to work with IPython 0.11
  134. Nikhil Sarda: Fix to combinatorics/prufer
  135. Emma Hogan: Fixes to the documentation
  136. Jason Moore: Fixes to the mechanics module
  137. Julien Rioux: Fix behavior of some deprecated methods
  138. Roberto Colistete, Jr.: Add num_columns option to the pretty printer
  139. Raoul Bourquin: Implement Euler numbers
  140. Gert-Ludwig Ingold: Correct derivative of coth
  141. Srinivas Vasudevan: Implementation of Catalan numbers
  142. Miha Marolt: Add numpydoc extension to the Sphinx docs, fix ode_order
  143. Tim Lahey: Rotation matrices
  144. Luis Garcia: update examples in symarry
  145. Matt Rajca: Code quality fixes
  146. David Li: Documentation fixes
  147. David Ju: Increase test coverage, fixes to KroneckerDelta
  148. Alexandr Gudulin: Code quality fixes
  149. Bilal Akhtar: isympy man page
  150. Grzegorz Świrski: Fix to latex(), MacPorts portfile
  151. Matt Habel: SymPy-wide pyflakes editing
  152. Nikolay Lazarov: Translation of the tutorial to Bulgarian
  153. Nichita Utiu: Add pretty printing to Product()
  154. Tristan Hume: Fixes to test_lambdify.py
  155. Imran Ahmed Manzoor: Fixes to the test runner
  156. Steve Anton: pyflakes cleanup of various modules, documentation fixes for logic
  157. Sam Sleight: Fixes to geometry documentation
  158. tsmars15: Fixes to code quality
  159. Chancellor Arkantos: Fixes to the logo
  160. Stepan Simsa: Translation of the tutorial to Czech
  161. Tobias Lenz: Unicode pretty printer for Sum
  162. Siddhanathan Shanmugam: Documentation fixes for the Physics module
  163. Tiffany Zhu: Improved the latex() docstring
  164. Alexey Subach: Translation of the tutorial to Russian
  165. Joan Creus: Improvements to the test runner
  166. Geoffry Song: Improve code coverage
  167. Puneeth Chaganti: Fix for the tutorial
  168. Marcin Kostrzewa: SymPy Cheatsheet
  169. Jim Zhang: Fixes to AUTHORS and .mailmap
  170. Natalia Nawara: Fixes to Product()
  171. vishal: Update the Czech tutorial translation to use a .po file
  172. Shruti Mangipudi: added See Also documentation to Matrices
  173. Davy Mao: Documentation
  174. Swapnil Agarwal: added See Also documentation to ntheory, functions
  175. Kendhia: Add XFAIL tests
  176. jerryma1121: See Also documentation for geometry
  177. Joachim Durchholz: corrected spacing issues identified by PyDev
  178. Martin Povišer: fix problem with rationaltools
  179. Siddhant Jain: See Also documentation for functions/special
  180. Kevin Hunter: Improvements to the inequality classes
  181. Michael Mayorov: Improvement to series
  182. Nathan Alison: Additions to the stats module
  183. Christian Bühler: remove use of set_main() in GA
  184. Carsten Knoll: improvement to preview()
  185. M R Bharath: modified use of int_tested, improvement to Permutation
  186. Matthias Toews: File permissions
  187. Sergiu Ivanov: Fixes to zoo, SymPyDeprecationWarning
  188. Jorge E. Cardona: Cleanup in polys
  189. Sanket Agarwal: Rewrite coverage_doctest.py script
  190. Manoj Babu K.: Improve gamma function
  191. Sai Nikhil: Fix to Heavyside with complex arguments
  192. Aleksandar Makelov: Fixes regarding the dihedral group generator
  193. Raphael Michel: German translation of the tutorial
  194. Sachin Irukula: Changes to allow Dict sorting
  195. Ashwini Oruganti: Changes to Pow printing
  196. Andreas Kloeckner: Fix to cse()
  197. Prateek Papriwal: improve summation documentation
  198. Arpit Goyal: Improvements to Integral and Sum
  199. Angadh Nanjangud: in physics.mechanics, added a function and tests for the parallel axis theorem
  200. Comer Duncan: added dual, is_antisymmetric, and det_lu_decomposition to matrices.py
  201. Jens H. Nielsen: added sets to modules listing, update IPython printing extension
  202. Joseph Dougherty: modified whitespace cleaning to remove multiple newlines at eof
  203. marshall2389: Spelling correction
  204. Guru Devanla: Implemented quantum density operator
  205. George Waksman: Implemented JavaScript code printer and MathML printer
  206. Angus Griffith: Fix bug in rsolve
  207. Timothy Reluga: Rewrite trigonometric functions as rationals
  208. Brian Stephanik: Test for a bug in fcode
  209. Ljubiša Moćić: Serbian translation of the tutorial
  210. Piotr Korgul: Polish translation of the tutorial
  211. Rom le Clair: French translation of the tutorial
  212. Alexandr Popov: Fixes to Pauli algebra
  213. Saurabh Jha: Work on Kauers algorithm
  214. Tarun Gaba: Implemented some trigonometric integrals
  215. Takafumi Arakaki: Add info target to the doc Makefile
  216. Alexander Eberspächer: correct typo in aboutus.rst
  217. Sachin Joglekar: Simplification of logic expressions to SOP and POS forms
  218. Tyler Pirtle: Fix improperly formatted error message
  219. Vasily Povalyaev: Fix latex(Min)
  220. Colleen Lee: replace uses of fnan with S.NaN
  221. Niklas Thörne: Fix links in the docs
  222. Huijun Mai: Chinese translation of the tutorial
  223. Marek Šuppa: Improvements to symbols, tests
  224. Prasoon Shukla: Bug fixes
  225. Sergey B Kirpichev: Bug fixes
  226. Stefen Yin: Fixes to the mechanics module
  227. Thomas Hisch: Improvements to the printing module
  228. Matthew Hoff: Addition to quantum module
  229. Madeleine Ball: Bug fix
  230. Case Van Horsen: Fixes to gmpy support
  231. Mary Clark: Improvements to the group theory module
  232. Rishabh Dixit: Bug fixes
  233. Acebulf: Typos
  234. Manoj Kumar: Bug fix
  235. Akshit Agarwal: improvements to range handling in symbols
  236. CJ Carey: Fix for limits of factorials
  237. Patrick Lacasse: Fix for Piecewise.subs
  238. Ananya H: Bug fix
  239. Tarang Patel: added test for issue 4739
  240. Christopher Dembia: improvements to mecahanics documentation
  241. Benjamin Fishbein: added rank method to Matrix
  242. Sean Ge: made KroneckerDelta arguments canonically ordered
  243. Ankit Agrawal: Statistical moments
  244. Amit Jamadagni: qapply Rotation to spin states
  245. Björn Dahlgren: Implemented finite difference module, minor fixes
  246. Christophe Saint-Jean: fixed and added metrics to galgebra
  247. Demian Wassermann: fix to ccode printer for Piecewise
  248. Khagesh Patel: Addition to matrix expressions
  249. Stephen Loo: Update minimum gmpy2 version
  250. hm: Fixes to printing
  251. Katja Sophie Hotz: use expansion in minpoly
  252. Varun Joshi: Addition to functions
  253. Chetna Gupta: Improvements to the Risch integration algorithm
  254. Thilina Rathnayake: Fix to the matrices
  255. Shravas K Rao: Implement prev_lexicographic and next_lexicographic
  256. Max Hutchinson: Fix to HadamardProduct
  257. Matthew Tadd: fix definition in units module
  258. Alexander Hirzel: Updates to ODE docs
  259. Randy Heydon: improve collinear point detection
  260. Ramana Venkata: improvements to special functions
  261. Oliver Lee: improvements to mechanics
  262. Seshagiri Prabhu: hardcoded 3x3 determinant
  263. Pradyumna: Fix to printing
  264. Erik Welch: Fix a warning
  265. Eric Nelson: Fixes to printing
  266. Roland Puntaier: Improve App Engine support
  267. Chris Conley: Use warnings instead of prints
  268. Tim Swast: Help with pull requests and IPython
  269. Dmitry Batkovich: Fix to series
  270. Francesco Bonazzi: Improvements to matrices and tensors
  271. Yuriy Demidov: Add examples from “Review of CAS mathematical capabilities”
  272. Rick Muller: Implementation of quantum circuit plotting
  273. Manish Gill: Fix infinite loop in Matrix constructor
  274. Markus Müller: Add Jordan form for matrices
  275. Amit Saha: Fixes to documentation
  276. Jeremy: Bug fix
  277. QuaBoo: Optimizations in ntheory
  278. Stefan van der Walt: Fixes to mechanics module
  279. David Joyner: Cryptography module
  280. Lars Buitinck: Bug fix
  281. Alkiviadis G. Akritas: Add a reference
  282. Vinit Ravishankar: fix iterables documentation
  283. Mike Boyle: Additions to the printing system
  284. Heiner Kirchhoffer: PythonRational int conversion fix
  285. Pablo Puente: Test cases from Wester paper
  286. James Fiedler: Bug fix
  287. Harsh Gupta: Bug fix
  288. Tuomas Airaksinen: is_real for besselx
  289. rathmann: fix some Python 2/3 issues
  290. Paul Strickland: documentation fix
  291. James Goppert: correct code in form_lagranges_equations
  292. Avichal Dayal: removed duplicate solutions obtained from solve
  293. Paul Scott: pass along keywords for plots
  294. shiprabanga: code quality fixes
  295. Pramod Ch: fix problem with (I*oo).expand_complex()
  296. Akshay: added normal_lines to Ellipse
  297. Buck Shlegeris: add inverses to error functions
  298. Jonathan Miller: documentation
  299. Edward: update license year
  300. Rajath S: corrected iteration values in gaunt, racah, and wigner_9j
  301. Aditya Shah: bug fix, improvement to parsers
  302. Sambuddha Basu: documentation fix
  303. Zeel Shah: fixes to logic module
  304. Abhinav Chanda: wigner_3j and clebsch_gordan fixes
  305. Jim Crist: lambdify improvments
  306. Sudhanshu Mishra: Added tests for racah() of sympy.physics.wigner module
  307. Rajat Aggarwal: improvements to integration module
  308. Soumya Dipta Biswas: Add support for Equivalent with multiple arguments
  309. Anurag Sharma: improvements to Risch algorithm
  310. Sushant Hiray: taylor_term for sec
  311. Ben Lucato: documentation fixes
  312. Kunal Arora: documentation fixes
  313. Henry Gebhardt: bugfix to ufuncify
  314. Dammina Sahabandu: implemented continued fractions functions
  315. Shukla: particle on a ring functions
  316. Ralph Bean: typo
  317. richierichrawr: documentation fixes
  318. John Connor: fixes to ntheory
  319. Juan Luis Cano Rodríguez: fixes to mechanics module
  320. Sahil Shekhawat: fixes to core
  321. Kundan Kumar: fixes to ODE identification of separable_reduced
  322. Stas Kelvich: fixes to quantum module
  323. sevaader: fix to assumptions
  324. Dhruvesh Vijay Parikh: implement Möbius function
  325. Venkatesh Halli: improvement to matrices
  326. Lennart Fricke: make sure that cse avoids symbol collision
  327. Vlad Seghete: fix an issue with autowrap
  328. shashank-agg: ensure that the range is correct for multiple plots
  329. carstimon: make Abs(polar_lift(arg)) -> abs(arg)
  330. Pierre Haessig: fix typos
  331. Maciej Baranski: refactor code in compilef
  332. Zamrath Nizam: replace atoms(Symbol) with free_symbols where appropriate
  333. Benjamin Gudehus: add sampling_density to stats
  334. Faisal Anees: Egyptian Fractions
  335. Robert Johansson: quantum field operators
  336. Kalevi Suominen: fix to assumptions
  337. Kaushik Varanasi: fix a typo
  338. Fawaz Alazemi: combinatorics cheat sheet
  339. Ambar Mehrotra: Fix to documentation
  340. Mark Shoulson: Enhanced Egyptian fractions
  341. David P. Sanders: Fix to latex printer
  342. Peter Brady: avoid caching problem by using function instead of lambda
  343. John V. Siratt: Fix to documentation
  344. Sarwar Chahal: Fix to documentation
  345. Nathan Woods: Fix to C code printer
  346. Colin B. Macdonald: Fix to documentation
  347. Marcus Näslund: Fix to documentation
  348. Clemens Novak: improved docstring for apart
  349. Craig A. Stoudt: correct addition of TWave objects
  350. Mridul Seth: correct is_tangent for Ellipse non-intersection
  351. Raj: fixed typos in four files
  352. Mihai A. Ionescu: Improvement to LaplaceTransform
  353. immerrr: add check of SYMPY_DEBUG value
  354. Leonid Blouvshtein: make integrals aware of both limits being +/-oo
  355. Peleg Michaeli: implement the Rademacher distribution
  356. Chai Wah Wu: Implement divisor_sigma function
  357. ck Lux: handle zoo, oo, nan in as_int and round
  358. zsc347: fixed a bug in crypto.rsa_private_key
  359. Hamish Dickson: improve qubit tests
  360. Michael Gallaspy: improve handling of inequalities involving RootOf
  361. Roman Inflianskas: add svg support to preview
  362. Duane Nykamp: improved function handling in parse_expr

Up-to-date list in the order of the first contribution is given in the AUTHORS file.

You can find a brief history of SymPy in the README.

Financial and Infrastructure Support


Unless stated otherwise, all files in the SymPy project, SymPy’s webpage (and wiki), all images and all documentation including this User’s Guide are licensed using the new BSD license:

Copyright (c) 2006-2014 SymPy Development Team

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  a. Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
  b. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  c. Neither the name of SymPy nor the names of its contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.


Table Of Contents

Previous topic

SymPy Papers

Next topic

SymPy Special Topics

This Page