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
Faculty of Physics, Moscow State University, Moscow, Russia
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
Fashion Metric, Inc, Austin, Texas, United States
NumFOCUS, Austin, TX, USA
Department of Surface and Plasma Science, Faculty of Mathematics and Physics, Charles University in Prague, Praha, Czech Republic
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.2083v3
Subject Areas
Scientific Computing and Simulation, Software Engineering
Keywords
symbolic, python, computer algebra system
Copyright
© 2016 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, Kirpichev SB, 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, Terrel AR, Roučka Š, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A. 2016. SymPy: Symbolic computing in Python. PeerJ Preprints 4:e2083v3

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 article is to be submitted to PeerJ Computer Science. There are minor changes over the previous preprint version.

Supplemental Information

Quantum Examples Jupyter Notebook

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