4P by neo 19일전 | favorite | 댓글 1개

Mathics3/mathics-core 업데이트 요약

  • 새로운 기능 및 개선 사항

    • 내장 함수의 게으른 로딩을 지원하기 위한 작업이 진행됨.
    • Python 코드와 스타일을 현대화하고, 타입 주석을 추가하며, 철자 오류를 제거함.
    • SymPy 및 Python의 최신 버전 사용.
    • 새로운 내장 함수 추가: $MaxLengthIntStringConversion, Elements, ComplexExpand, ConjugateTranspose, LeviCivitaTensor, RealAbs, RealSign, RealValuedNumberQ.
  • 문서화

    • PDF 파일의 형식 문제 해결.
    • 챕터 및 섹션 목차의 번호 간격 증가.
    • 내장 정의 주변의 여백 공간 증가.
    • 철자 오류 수정.
    • doctests 실행 및 LaTeX 문서 생성 코드를 개정하여 점진적 내장 업데이트 가능.
  • 호환성

    • Plot은 평가 중 메시지를 표시하지 않음.
    • Range[]는 이제 음수도 처리 가능.
    • DirectedInfinityIndeterminate에 대한 지원 개선.
    • Mathics-Django 인터페이스에서 오류 메시지 툴팁 표시.
    • $CharacterEncoding을 세션 내에서 변경 가능.
  • 내부 구조

    • eval_abseval_signAbsSign에서 추출하여 mathics.eval.arithmetic에 추가.
    • 문자열의 최대 자릿수는 7000으로 설정되며 환경 변수 MATHICS_MAX_STR_DIGITS로 조정 가능.
    • 실수 비교는 이제 RealSign의 내부 구현을 기반으로 함.
    • Python 3.11에서 $MaxLengthIntStringConversion은 큰 정수와 문자열 간의 변환 최대 크기를 제어함.
  • 버그 수정

    • Definitionspickle과 호환됨.
    • Quantity 표현식에 대한 지원 개선.
    • GraphicsGraphics3D의 배경 옵션 작동.
    • 문자열을 포함한 표현식에 대한 수치 비교 문제 해결.
    • Switch[]의 무한대 처리 문제 해결.
    • Outer[]SparseArray 처리 문제 해결.
    • ArrayQ[]SparseArray를 감지함.
    • BoxExpressionError 예외 처리 문제 해결.
    • True, False, List[]의 도함수 평가 문제 해결.
    • Combinatorica 패키지 수정.
    • Exit[] 작동 문제 해결.
    • BaseForm$OutputForms에 나열됨.
  • API 변경 사항

    • 새로운 함수 import_and_load_builtins() 호출 필요.
    • 내장 모듈의 게으른 로딩 지원을 위해 필요함.
  • 패키지 업데이트

    • Python 3.11 지원.
    • Sympy 1.12 지원.
Hacker News 의견
  • 이 프로젝트를 몇 년간 지켜보았으며, 오픈 소스 컴퓨터 대수 시스템에 관심 있는 사람들에게 다양한 성숙한 솔루션이 존재함

    • GNU Octave, Maxima 같은 고전적인 것부터 SAGEmath, Symbolics.jl, sympy 같은 현대적인 것까지 다양함
    • GiNaC 같은 상징적 라이브러리부터 SAGEmath 같은 "배터리 포함" IDE까지 폭넓은 범위를 가짐
    • SAGEmath는 웹 노트북 인터페이스를 개척하여 오늘날 Jupyter를 가져옴
  • 개인적으로 Mathematica의 LISPy 스타일을 좋아하지만, MMA의 강력함은 방대한 라이브러리에 있음

    • 상징적 통합, 2D/3D 그래픽, 유한 요소 방법 등 기본 주제에 대한 업계 선도 솔루션뿐만 아니라 생물정보학 같은 특수 목적 도메인도 포함됨
    • Mathics는 핵심을 잘 복제했지만 모든 라이브러리가 부족함
    • Matlab과 numpy 복제본의 논리와 유사함
  • Wolfram Cloud는 개인 사용에 무료로 제공되며, Wolfram Engine은 명령줄을 통해 Mathematica를 무료로 사용할 수 있는 방법임

  • Mathics에 대한 간단한 소개는 여기에서 확인 가능함

  • Mathematica는 Raspberry Pi에서 무료로 사용할 수 있으며, 대부분의 대학은 사이트 라이선스를 보유하고 있음

    • "Home & Hobby" 라이선스는 연간 $195 또는 영구 라이선스 $390로 비교적 저렴함
    • 취미 라이선스 가격을 지불하는 것이 가치 있다고 생각하며, 수학 소프트웨어를 지원하는 것이 좋은 일이라고 생각함
  • (F)OSS 수학 소프트웨어는 여전히 중요한 역할을 함

    • Mathematica는 포괄적이지만 고급 수학에서 몇 가지 중요한 단점이 있음
    • GAP, M2, PARI/GP 같은 (F)OSS 소프트웨어는 Wolfram Language의 부족한 부분을 보완하는 데 중요한 역할을 함
  • Mathematica의 기능을 복제하려는 프로젝트에 큰 관심은 없지만, 이러한 프로젝트가 Wolfram Research에 기본 기능을 지속적으로 개선하도록 압박을 가함

  • 소프트웨어 엔지니어들은 소프트웨어 비용을 지불하지 않으려는 경향이 있음

  • Mathematica의 불편한 점 중 하나는 모든 함수가 동일한 네임스페이스에 밀집되어 있으며, 다른 매개변수화 옵션으로 오버로딩이 없다는 것임