SymPy: Symbolic computing in Python

Department of Mechanical Engineering, University of South Carolina, Columbia, South Carolina, United States
Other, Polar Semiconductor, Inc., Bloomington, Minnesota, United States
Continuum Analytics, Inc., Austin, Texas, United States
Los Alamos National Laboratory, Los Alamos, New Mexico, United States
Department of Applied Mathematics, Delhi Technological University, New Delhi, India
Université Paris Est Créteil, Créteil, France
Mechanical and Aerospace Engineering, University of California, Davis, Davis, California, United States
Mathematical Sciences, Indian Institute of Technology (BHU), Varanasi, Uttar Pradesh, India
Department of Computer Science and Engineering, University of Moratuwa, Katubedda, Moratuwa, Sri Lanka
University of Illinois at Urbana-Champaign, Urbana, Illinois, United States
California Polytechnic State University, San Luis Obispo, California, United States
Center for Computing Research, Sandia National Laboratories, Albuquerque, New Mexico, United States
Department of Theory and Bio-Systems, Max Planck Institute of Colloids and Interfaces, Potsdam, Germany
Indian Institute of Technology Kharagpur, Kharagpur, West Bengal, India
INRIA Bordeaux-Sud-Ouest -- LFANT project-team, Talence, France
INRIA -- SIERRA project-team, Paris, France
Department of Physics and Astronomy, University of New Mexico, Albuquerque, New Mexico, United States
Center for Quantum Information and Control, University of New Mexico, Albuquerque, New Mexico, United States
Sandia National Laboratories, Albuquerque, New Mexico, United States
Birla Institute of Technology and Science, Pilani, K.K. Birla Goa Campus, Sancoale, Goa, India
Indian Institute of Technology Bombay, Mumbai, Maharashtra, India
New Technologies -- Research Centre, University of West Bohemia, Plzeň, Czech Republic
DOI
10.7287/peerj.preprints.2083v1
Subject Areas
Scientific Computing and Simulation
Keywords
symbolic, python, computer algebra system
Copyright
© 2018 Meurer et al.
Licence
This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Preprints) and either DOI or URL of the article must be cited.
Cite this article
Meurer A, Smith CP, Paprocki M, Čertík O, Rocklin M, Kumar A, Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE, Muller RP, Bonazzi F, Gupta H, Vats S, Johansson F, Pedregosa F, Curry MJ, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A. 2016. SymPy: Symbolic computing in Python. PeerJ Preprints 6:e2083v1

Abstract

SymPy is an open source computer algebra system written in pure Python. It is built with a focus on extensibility and ease of use, through both interactive and programmatic applications. These characteristics have led SymPy to become the standard symbolic library for the scientific Python ecosystem. This paper presents the architecture of SymPy, a description of its features, and a discussion of select domain specific submodules. The supplementary materials provide additional examples and further outline details of the architecture and features of SymPy.

Author Comment

This paper has been submitted to SICOMP. The sources for this paper can be found at https://github.com/sympy/sympy-paper.

Supplemental Information

Quantum Examples Jupyter Notebook

DOI: 10.7287/peerj.preprints.2083v1/supp-2