- 수식 조작과 계산을 Python 코드 안에서 직접 다루고 싶은 경우, SymPy는 대화형 사용과 애플리케이션 내장 모두를 지원함
- BSD 라이선스로 제공되는 무료 소프트웨어이며, 구현 언어와 사용자-facing 언어가 모두 Python임
- 의존성은 임의 정밀도 부동소수점 연산용 순수 Python 라이브러리인 mpmath 하나뿐이라 설치와 활용 부담이 작음
- Cadabra, ChemPy, devito, EinsteinPy, SageMath, Spyder, PyTorch TorchInductor 등 여러 과학·수학·개발 도구가 SymPy를 사용함
- 활용 범위는 텐서 대수, 화학, 일반상대성이론, 회로 분석, 최적화, 동역학, 코드 생성, 동적 shape와 stride 지원까지 넓게 이어짐
Python 기반 기호 수학 라이브러리
- SymPy는 Python에서 기호 수학을 다루기 위한 라이브러리임
- BSD 라이선스로 제공되어 자유롭게 사용할 수 있음
- 전체가 Python으로 작성되어 있으며, SymPy에서 사용하는 언어도 Python임
- 의존성은 mpmath 하나뿐임
- mpmath는 임의 정밀도 부동소수점 연산을 위한 순수 Python 라이브러리임
- 대화형 도구로 사용할 수 있고, 다른 애플리케이션에 내장하거나 사용자 정의 함수로 확장 가능함
- 기능 목록은 SymPy's features에서 확인할 수 있음
SymPy를 채택한 프로젝트들
- 공개된 목록은 SymPy를 사용하는 프로젝트의 불완전한 목록이며, 사용 프로젝트는 메일링 리스트를 통해 추가 요청할 수 있음
-
과학·수학 계산 분야
-
개발 도구와 코드 생성
- devito: 고성능 스텐실 계산을 위한 기호 DSL과 JIT 컴파일러임
- Optlang: 수학적 최적화 문제를 푸는 Python 패키지임
- PyTorch TorchInductor: 동적 shape와 stride 지원에 SymPy를 사용함
- Spyder: Scientific Python 개발 환경이며, IPython Console에서 전체 SymPy 지원을 활성화할 수 있음
- symjit: SymPy 표현식을 위한 경량 JIT 컴파일러임
- yt: 체적 데이터 분석·시각화용 Python 패키지이며, yt의 단위 시스템인 unyt가 SymPy를 사용함