Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance Repository Categorization and Clarify CAS Definitions #2

Open
4 tasks
Foadsf opened this issue May 5, 2024 · 0 comments
Open
4 tasks

Enhance Repository Categorization and Clarify CAS Definitions #2

Foadsf opened this issue May 5, 2024 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed

Comments

@Foadsf
Copy link
Owner

Foadsf commented May 5, 2024

Issue Description

As the repository grows and includes a broader array of FLOSS Computer Algebra Systems (CAS), valuable feedback suggests the need for better categorization and more precise definitions regarding the nature of the tools listed. This issue addresses these points by categorizing the tools into more specific groups and clarifying which tools are inherently CAS and which are libraries or languages that can perform CAS functions with additional libraries.

Proposed Categories

  1. Domain-Specific CAS Languages:

    • Example: Maxima, REDUCE
    • These are standalone environments explicitly designed for symbolic mathematics.
  2. Languages with CAS Libraries:

    • General-Purpose Languages
      • Example: Python with SymPy
      • These are not CAS by nature but can perform CAS tasks through specific libraries.
    • Domain-Specific Languages for Numerical and Algebraic Calculations:
      • Example: Scilab, Octave, Julia
      • These languages are specifically designed for numerical computations such as linear algebra and can perform CAS tasks through specific libraries.
  3. CAS Libraries:

    • Interpreted Libraries:
      • Example: SymPy (Python)
      • These libraries are used within an interpreted language and do not require compilation, making them accessible for rapid prototyping and use.
    • Compiled Libraries:
      • Example: GiNaC (C++)
      • These require compilation and are typically used to integrate CAS capabilities into applications written in compiled languages.
  4. User Interfaces, Editors, and IDEs for CAS:

    • Example: WxMaxima, Jupyter, Spyder, MathAction
    • These tools provide environments and interfaces that enhance the usability of CAS tools, either as standalone applications or as part of larger systems.

Tools Needing Clarification

Several tools have been mentioned which might require further discussion to determine if they should be included as FLOSS and/or CAS:

  • Scilab
  • Octave
  • SageMath
  • GAP
  • PARI/GP
  • Singular
  • CoCoA

Task List

  • Categorize all listed tools under the proposed categories.
  • Verify the FLOSS status and CAS capabilities of Scilab, Octave, SageMath, GAP, PARI/GP, Singular, and CoCoA.
  • Update the README with these categorizations and clarifications.
  • Solicit community feedback on the proposed changes.

Call for Contributions

I am excited to see contributors help with this task by researching the tools, suggesting categorizations, and updating documentation. This will help make our repository a more structured and informative resource for everyone interested in FLOSS CAS tools.

Thank you for your support and contributions!

@Foadsf Foadsf added documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed labels May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant