Fact-checked by Grok 2 weeks ago

FriCAS

FriCAS is a and open-source general-purpose (CAS) designed for symbolic, numerical, and graphical mathematical computations, serving as a of the CAS with its first official release in 2007. Developed as an actively maintained successor to , whose source code was released under a modified BSD in 2002, FriCAS emphasizes portability, extensibility, and through its implementation in . It supports a broad spectrum of mathematical domains, from basic operations like and to advanced , manipulation, differential equations, and linear , all facilitated by a rich library comprising over 1,260 constructors and 8,326 operations. The system includes more than 40 data structures—such as lists, arrays, heaps, sets, and tensors—and enables users to define custom domains and categories via its SPAD programming language, promoting interactive development and research applications. FriCAS features integrated graphics for and plotting, including interactive manipulation and support for styles like wireframe, solid, and shaded surfaces, alongside numerical tools for and floating-point computations. Its HyperDoc system provides comprehensive online documentation, tutorials, and reference materials, while output formats extend to , Fortran, and for seamless integration with other tools. As of June 2025, the latest stable version is 1.3.12, with ongoing community-driven enhancements, including bug fixes, new algorithms like the Berkowitz for computations, and plans for a new in version 2.0; it runs on platforms including , BSD variants, macOS, and Windows. Widely used in and mathematical for tasks ranging from expansions to calculations, FriCAS stands out for its focus on symbolic problem-solving and polymorphic algorithms.

Introduction

Definition and Purpose

FriCAS is a general-purpose, open-source (CAS) designed primarily for symbolic computation in mathematical research and the development of new algorithms. It provides a robust for handling complex symbolic operations, enabling users to perform computations that go beyond numerical approximations to explore mathematical structures and theories in depth. The core purpose of FriCAS is to support advanced symbolic mathematics, including , , and operations in , leveraging state-of-the-art algebraic algorithms to facilitate exploration and innovation in pure and . Unlike systems focused on numerical methods, FriCAS emphasizes the creation and refinement of symbolic algorithms, allowing researchers to prototype, test, and extend mathematical tools for specialized domains such as , differential equations, and . This focus makes it particularly valuable for academic and scientific investigations where precise manipulation is essential. FriCAS originated from IBM's Scratchpad project and is freely available under a modified BSD license, which promotes widespread accessibility for educators, students, and researchers worldwide. Its open-source nature encourages community contributions to enhance its capabilities, ensuring it remains a dynamic tool for advancing symbolic computation.

Relation to Other Systems

FriCAS emerged as a of the in 2007, driven by disagreements among developers regarding project direction and maintenance. itself traces its origins to IBM's Scratchpad project, initiated in the as an internal research tool for symbolic computation. Alongside FriCAS, another parallel known as OpenAxiom was created around the same time, with both aiming to sustain and evolve the foundational codebase while pursuing distinct development paths. In the landscape of systems (), FriCAS distinguishes itself through its emphasis on strongly typed symbolic computation, a feature inherited from that ensures operations are type-specific and reduces errors in complex mathematical expressions. This contrasts with systems like and Mathematica, which rely more heavily on pattern-matching and dynamic typing for flexibility in general-purpose tasks. FriCAS inherits 's extensive mathematical library, comprising thousands of domains and operations for symbolic algebra, while introducing enhancements for greater portability across platforms such as and Windows. It also addresses several defects in the original codebase through restructuring and employs a lightweight development methodology to facilitate ongoing maintenance by a small team of contributors. These improvements enable FriCAS to serve as a robust platform for mathematical research without the overhead of heavier integrated environments.

History

Origins and Early Development

The origins of FriCAS trace back to 1965, when James H. Griesmer initiated a project at IBM's to develop a capable of interactive symbolic computations for mathematical research. This effort, initially implemented in , focused on providing tools for manipulation, equation solving, and other algebraic operations, drawing inspiration from early systems like SIN and REDUCE. Griesmer, along with collaborators F. W. and R. D. Jenks, aimed to create an environment where mathematicians could interact directly with symbolic expressions in a notation close to standard mathematical writing. In 1970, the project received its formal name, Scratchpad, marking a milestone in its evolution as a dedicated symbolic computation facility. Scratchpad I, the first iteration, emphasized user-friendly interaction but was limited by the hardware constraints of the era, running primarily on mainframes. By the mid-1970s, the system had demonstrated potential for broader algebraic applications, prompting a major redesign. Development of Scratchpad II began in 1976 under the leadership of Richard D. Jenks, introducing a novel architecture that treated mathematical domains and categories as first-class, computable objects to support extensible and generic symbolic computations. This approach enabled the definition of abstract data types with parameterized operations, significantly improving the system's modularity and efficiency for complex algebraic tasks compared to earlier procedural designs. The architecture's emphasis on type inference and polymorphism laid a foundational framework for rigorous symbolic manipulation. Around 1982, the SPAD language emerged within Scratchpad II, adopting a strongly typed, category-based syntax that closely mirrored its contemporary form in FriCAS and facilitated the specification of intricate mathematical structures like rings and modules. Throughout the , Scratchpad II expanded as a proprietary tool, requiring substantial resources such as large mainframe computers operating under the VM/ environment to handle its memory-intensive operations. Distribution remained internal or limited to select academic partners via joint agreements, restricting wider adoption but enabling deep innovations in . This phase of intensive internal growth positioned Scratchpad II for its transition into a product.

Evolution into Axiom

In 1992, IBM sold the internal Scratchpad II system to the Numerical Algorithms Group (NAG) Ltd., which renamed it and initiated commercial distribution as a scientific computation tool. NAG ported to the Codemist Common Lisp (CCL) implementation, enabling compatibility with personal computers by significantly reducing memory demands, though it still required 16 MB of RAM and thus remained viable primarily on high-end PCs of the era. Under NAG's stewardship, Axiom's functionality expanded notably through integration with the NAG numerical library, enhancing its algorithmic support for diverse mathematical operations including root-finding methods, transforms, and solutions to equations, alongside statistical computations. These additions broadened the system's applicability beyond its original research-oriented scope, positioning it as a more comprehensive environment for both symbolic and numerical work. However, Axiom's commercial performance fell short of NAG's expectations, leading to a halt in active development around 1998. The product was formally withdrawn from the market on October 1, 2001, ending its tenure as a offering. In 2002, NAG released the full source code under the Modified BSD License to , a longtime contributor from the era, thereby launching the open-source project. This transition paved the way for community-driven evolution, culminating in the 2007 fork that birthed FriCAS.

Forking and Modern FriCAS

In 2007, following disagreements over development strategies within the project, Waldek Hebisch forked the codebase to create FriCAS, with the primary goals of enhancing portability across multiple platforms and addressing accumulated defects more rapidly. This initiative was encouraged by Axiom's lead developer to allow independent evolution of the systems. Concurrently, Gabriel Dos Reis initiated a parallel fork known as OpenAxiom, further diversifying the open-source branches from the original . FriCAS underwent significant restructuring to support cross-platform deployment on various operating systems and hardware architectures, employing a lightweight development methodology that prioritized modular code organization and efficient compilation processes. This approach, inherited from the era but refined for modern needs, enabled faster iteration and broader accessibility without compromising the system's core symbolic computation capabilities. Key advancements in FriCAS include the of an extensive for , encompassing operations for exponential integrals, error functions, incomplete gamma functions, and related mathematical constructs, which expanded its utility for advanced symbolic and . Additionally, developers added a web-based reminiscent of SageMath's design, facilitating interactive sessions with dynamic output rendering and collaborative features through tools like HyperDoc. More recent milestones encompass the implementation of Unicode support, allowing users to employ Greek letters and other international symbols directly as variable names and mathematical operators within expressions. FriCAS also participated in the 2015 under the Lmonade umbrella project, where student contributors enhanced its integration with packaging tools and extended library functionalities. Since then, FriCAS has continued active development with regular releases, including version 1.3.10 in January 2024, 1.3.11 in June 2024, and 1.3.12 in June 2025, focusing on bug fixes, performance improvements, and enhanced compatibility across platforms like , macOS, and Windows.

Technical Overview

System Architecture

FriCAS employs an interpreter-based design that facilitates interactive symbolic computation, enabling users to execute commands and receive immediate feedback while maintaining a dynamic environment for mathematical exploration. The core implementation is built upon , leveraging its capabilities for efficient code execution and extensibility across various Lisp implementations such as SBCL, Clozure CL, ECL, and CLISP to ensure portability. This foundation allows FriCAS to compile expressions on-the-fly during interactive sessions, with the interpreter inferring types dynamically and supporting features like for constructs such as . The system features a modular that separates the from the environment, promoting maintainability and allowing for directly from . During the build process, FriCAS uses a configure-and-make to generate compiled libraries from source files, creating modules (e.g., .NRLIB files) that can be loaded on demand into the . This separation enables optimization of specific components, such as algebraic operations, without recompiling the entire system, and supports integration with external libraries like GMP for on compatible backends. The restructuring from its predecessor involved significant refactoring to resolve defects and enhance modularity, resulting in broader platform compatibility across , Windows, and macOS. Central to the architecture are key components including a hierarchical organized around domains and categories, which enforces mathematical correctness and enables polymorphic operations across data structures. Pattern matching mechanisms underpin core functionalities like expression simplification and , applying rewrite rules to transform symbolic expressions efficiently— for instance, handling logarithmic identities or trigonometric expansions through predefined rule sets. These elements integrate seamlessly with the Spad language for defining custom types and operations. The manages dynamic type resolution and , ensuring seamless execution of compiled code while supporting multiple independent sessions () for isolated computational environments.

Programming Language

FriCAS employs the SPAD language, a strongly-typed, designed specifically for specifying mathematical domains and categories in symbolic computation systems. This language enables users to define abstract mathematical structures with rigorous , ensuring that operations are applied only to compatible types at , thereby facilitating reliable and efficient computations. SPAD's declarative nature emphasizes the mathematical intent over procedural details, allowing concise expressions of algebraic properties and behaviors. Key features of SPAD include support for abstract data types through domains and packages, which encapsulate data representations and operations; polymorphism, which permits generic functions to operate across diverse types such as integers, polynomials, or matrices; and deep integration with , where categories like or define shared properties and enable reusable, hierarchically organized code. These elements promote modularity and extensibility, making it possible to construct complex mathematical algorithms in a natural, high-level manner. SPAD originated with the Scratchpad II system in 1982 and has evolved through subsequent developments, including adaptations in . For instance, a simple domain for a over a ring can be defined using the following syntax snippet:
Polynomial(R: [Ring](/page/Ring)): Exports == Implementation where
  Exports == with
    add: (%, %) -> %
  Implementation == add {
    Rep == [List](/page/List) [R](/page/R);
    add(p: %, q: %) == ...
  }
This structure declares the domain's category requirements, exported operations, and internal representation, without specifying full implementations. The SPAD language underpins the construction of FriCAS's extensive mathematical library, which includes over domains and categories (part of 1,260 total constructors).

Core Features

Symbolic Computation Capabilities

FriCAS features advanced engines for symbolic integration and , capable of processing intricate expressions involving parameters, , and non-elementary cases. The integration system implements a comprehensive version of the , enabling factorization-free computations and the detection of non-integrable forms with formal proofs, such as for expressions like logarithms over square roots. Differentiation supports higher-order, partial, and formal derivatives, handling dependencies in streams or multivariate settings while producing exact symbolic results. These engines excel with complex inputs, including transcendental functions and algebraic extensions, ensuring precise manipulation without numerical approximation. Equation solving in FriCAS leverages robust algorithms for polynomials, linear systems, and equations, often employing Gröbner bases for ideal membership and in multivariate cases. Simplification techniques incorporate via rewrite rules—such as logarithmic identities or trigonometric expansions—and to reduce expressions to canonical forms. For instance, products of logarithms can be consolidated into a single logarithm, or radicals grouped efficiently, all while preserving symbolic integrity. These methods facilitate solving systems with radical or exact solutions, extending to transcendental equations through series expansions or numerical-symbolic hybrids when needed. The system provides extensive support for , encompassing through presentations and computations, ring operations including non-commutative and graded structures, and via tools for ideals, modules, and real closures. Computations over finite fields, Clifford algebras, and tensor products are streamlined, allowing for operations like discrete logarithms or arithmetic in domain-specific contexts. Implemented primarily through the Spad language, these capabilities enable flexible extensions for algebraic manipulations. A distinctive aspect of FriCAS is its intuitive simplification for functions, yielding non-numerical outputs that emphasize structural insight, such as expanded polynomials from binomial powers or factored forms over extensions, rather than mere evaluations. This approach prioritizes readable, provably equivalent expressions, aiding users in theoretical exploration without resorting to approximations.

Mathematical Library

FriCAS features an extensive mathematical library comprising over 1,000 predefined domains and categories that enable computations across a broad spectrum of mathematical structures. These domains encompass such as Bessel, Airy, Gamma, and hypergeometric functions, as well as advanced algebraic constructs like Clifford algebras and facilities for querying the system's through commands such as )what and )apropos. The library supports efficient exploration of mathematical objects via database-like operations, allowing users to filter domains by type, arguments, or functionality. Key areas of the library include robust support for systems, , and solvers for equations. For systems, domains like Polynomial and MultivariatePolynomial provide tools for , Gröbner bases, and root isolation over various coefficient fields. In , packages such as IntegerNumberTheoryFunctions offer operations for prime testing, , , and . solvers, implemented in domains like LinearOrdinaryDifferentialOperator and ElementaryFunctionODESolver, handle both linear and nonlinear ordinary equations, including solutions and symbolic integration methods. A notable component is the , a comparison tool that facilitates translation of mathematical concepts and operations between FriCAS and other systems, such as Mathematica, by mapping equivalent functionalities and syntax. The library's extensibility is enhanced through integration with Aldor, which became freely available in July 2013 and allows for sophisticated domain definitions via its compiler, compatible with FriCAS through commands like )compile. This integration builds on the core library, which is constructed using the Spad language for expressing typed mathematical algorithms.

User Interfaces

Command-Line and Interpreter

FriCAS is primarily accessed through its command-line interface, which provides an interactive environment for mathematical computations using the SPAD programming language. The system is launched by executing the fricas command in a terminal or shell, initiating the interpreter and displaying a prompt such as (1) -> for user input. Additionally, efricas launches FriCAS within Emacs, providing an integrated editing and execution environment. Upon startup, FriCAS may automatically open a HyperDoc window for online documentation if running in an X Windows environment, and it reads initialization files like .fricas.input from the user's home directory or the system's src/input directory to set up the environment. The interactive interpreter serves as the core for entering and evaluating SPAD expressions, processing input line by line and supporting features like variable assignment (e.g., x := 4), function calls, and symbolic operations. Input is handled via the console, where expressions are parsed into abstract syntax trees and evaluated bottom-up, with the interpreter resolving ambiguities through type inference to determine appropriate domains and operations. Output is displayed immediately after evaluation, showing the computed value followed by its inferred type, such as Type: PositiveInteger or more complex forms like Union(D, 0) for results that may belong to a domain D or a constant value. This type display aids users in understanding the structure of results, particularly when dealing with polymorphic or conditional computations. Various startup options enhance the command-line experience, including the -clef flag to enable the Clef interface, a beginner-friendly command-line editor that supports arrow key navigation, Tab completion for operation names, and improved input handling under X Windows. Other options like -nox disable graphical features for pure use, while -eval "code" allows immediate execution of SPAD code at launch. To wind down a session, users issue the )quit command for direct exit or )pquit for a confirmation prompt, ensuring any open resources like files or viewports are properly closed. FriCAS also supports scripting for batch computations, enabling non-interactive workflows by reading commands from input files via the )read filename command or piping input with the -nosman option to process sequences of expressions without the interactive . This facilitates automated tasks, such as generating outputs for reports or integrating with other tools, while maintaining the full type-safe of the interpreter.

Graphical and Web-Based Tools

FriCAS provides built-in graphical tools for visualizing mathematical functions and data through its integrated plotting capabilities, supporting both two-dimensional () and three-dimensional () representations. These tools enable the creation of plots for functions of one or two variables, parametric curves, surfaces, and vector fields, using commands such as draw and drawComplex. For 2D plotting, users can generate graphs of explicit functions, implicit curves, and polar coordinates, with options for adaptive sampling, clipping, and color customization via the Palette domain. In 3D, capabilities extend to parametric space curves, surfaces in various coordinate systems (e.g., spherical, cylindrical), and interactive manipulations like and shading styles including wireframe, , and smooth Phong illumination. Data visualization is facilitated by constructing objects from point lists or numerical computations, often displayed in viewports with control panels for zooming, translating, and adjusting appearance. These features are accessible directly from the interpreter and leverage packages like GnuDraw for enhanced integration since FriCAS 1.2.4. For web-based access, FriCAS supports browser-based sessions through jFriCAS, a Jupyter kernel that integrates the system into interactive notebooks similar to those in Sage. This interface allows users to execute FriCAS commands in a web environment, with support for formatted outputs including 2D graphics and TeX rendering, by running a local FriCAS process and Hunchentoot webserver to handle requests. Installation of jFriCAS follows FriCAS setup, enabling notebook creation via Jupyter's "New > FriCAS" option for seamless remote or local experimentation without relying solely on terminal access. Additionally, the FriCAS wiki offers an online sandbox at wiki.fricas.org/SandBox, where users can test and preview code snippets interactively without local installation, supporting both FriCAS and related systems like Reduce for quick prototyping and learning. FriCAS enhances its graphical and web outputs with Unicode rendering support, particularly for mathematical symbols in the Symbol domain, allowing characters like Greek letters (e.g., α via ucodeToString(945)) to display correctly in algebra, TeX, or MathML formats using UTF-8 encoding. FriCAS supports Unicode rendering for mathematical symbols in the Symbol domain and output formats like TeX and MathML. Recent releases also enable Unicode characters, such as Greek letters, as variable names in the SPAD language.

Examples

Basic Symbolic Operations

FriCAS supports fundamental symbolic operations through its interpreter, enabling users to perform computations such as , , factoring, and directly in an interactive session. For simple , FriCAS computes indefinite integrals symbolically, returning results with an arbitrary and specifying the output type. For instance, the integral of x^2 with respect to x yields \frac{x^3}{3} + \text{constant}, of type Expression Integer. This demonstrates FriCAS's ability to handle basic antiderivatives using its facilities based on the for elementary functions. Differentiation in FriCAS is performed using the D operator, which computes partial or total derivatives symbolically. A basic example is the derivative of \sin(x) with respect to x, resulting in \cos(x), of type Expression Integer. This operation extends to more complex expressions, such as D(\exp(\exp(x)), x) = \exp(x) \exp(\exp(x)), highlighting the system's support for chain rule application in transcendental functions. Basic algebraic operations include factoring over the or . FriCAS factors x^2 - 1 as (x - 1)(x + 1), of type Factored [Polynomial](/page/Polynomial) [Integer](/page/Integer), using algorithms for univariate and multivariate . This capability is part of the broader , which handles square-free and removal for efficient . Equation solving in FriCAS addresses equations symbolically or numerically. For x^2 = 4, or equivalently x^2 - 4 = 0, the returns solutions x = 2 and x = -2, as a list of type List Equation [Polynomial](/page/Polynomial) [Integer](/page/Integer). The solve supports both exact symbolic roots for quadratics and numerical for higher degrees, with options for control. These operations are accessible via the FriCAS command-line interpreter, where users can input expressions interactively and receive typed outputs for verification.

Advanced Mathematical Applications

FriCAS supports the construction of s through its dedicated , enabling users to define and perform computations in geometric algebras over specified s and s. The CliffordAlgebra(n, K, bLin) constructor generates a of dimension $2^n over a K, incorporating a bLin on K^n, which allows for the representation of multivectors and operations such as the geometric product. For instance, complex numbers can be modeled as a for n=1 with quadratic form Q = [[-1]], where basis elements satisfy e_1^2 = -1, facilitating computations like and inversion in this . Similarly, quaternions arise from n=2 with Q = [[-1, 0], [0, -1]], supporting applications in 3D rotations and spin representations. In advanced scenarios, FriCAS leverages its capabilities for geometric computations, such as inner and outer products in multivector spaces. The , obtained by setting the to zero, models Grassmann algebras for forms, while the Dirac spin algebra for n=4 with a Minkowski enables relativistic physics simulations. Users can extract from , e.g., coefficient(x, [1, 2]) for the e_1 e_2 term, or construct elements via multivector([c1, c2, ...]), demonstrating FriCAS's flexibility in handling non-commutative structures for . FriCAS provides extensive support for , including , within the FunctionalSpecialFunction domain, allowing involving these in complex expressions. The of the first kind, besselJ(v, [z](/page/Z))\), and related variants like besselY(v, )(second kind),besselI(v, )(modified first kind), andbesselK(v, )(modified second kind) are implemented over integral domains, enabling computations such as Hankel functionshankelH1(v, )andhankelH2(v, )). For , FriCAS's can evaluate definite integrals incorporating these functions, as seen in elliptic integrals defined via `ellipticF(, m) = \int_0^z \frac{}{\sqrt{(1-)(1-m )}}), which extend to scenarios with Bessel terms through with function spaces. An example might involve \int besselJ(0, x) \, dx, yielding expressions in terms of Struve functions or series expansions when closed forms are unavailable. Building a query facility in FriCAS utilizes custom domains to enable database-like mathematical searches, exemplified by the Database constructor for structured data manipulation. This domain supports operations like element access (elt), aggregation (+, -), and display functions, allowing queries on mathematical objects such as operations or polynomials. For instance, a query like ops.(name="map").(nargs="3").(type="*Stream*") retrieves operations matching criteria on name, argument count, and return type, returning a list of three results for stream mappings. Custom domains extend this to or relational data, e.g., defining children("albert") == ["albertJr", "richard", "diane"] and querying grandchildren("richard") to yield ["dougie", "valerie"], facilitating searches in algebraic structures like systems or libraries. FriCAS computes Gröbner bases for ideals in polynomial rings, providing tools for ideal membership testing in abstract algebraic settings. The PolyGroebner package offers functions like lexGroebner(lp, lv) to generate bases in for a list of polynomials lp over variables lv, enabling reduction and membership checks via the division algorithm. In multivariate polynomial rings over fields, this determines if a polynomial belongs to an ideal generated by given elements; for example, computing groebner([x^2 - y, y^2 - z]) in \mathbb{Q}[x, y, z] yields a basis allowing verification that x^4 - z^2 reduces to zero, confirming membership. Such computations extend to noncommutative rings of solvable type, supporting applications in solving polynomial systems and . The library briefly references domains like DistributedMultivariatePolynomial for efficient handling in these operations.

Community and Development

Open-Source Ecosystem

FriCAS maintains an active open-source development environment centered around its official repository at github.com/fricas/fricas, where the source code is hosted and contributions from developers are managed through pull requests and issues. This repository supports collaborative enhancements to the system's core functionality and library, with enabling tracking of changes since its inception. The community engages through the fricas-devel on , which serves as the primary forum for discussions, bug reports, and coordination among contributors. Bug tracking is facilitated via issues or direct submissions to the , supplemented by the project's at wiki.fricas.org for archiving reports and feature requests. Comprehensive documentation supports users and developers, including the official available as a PDF book at fricas.github.io/book.pdf, which details system usage and advanced features. The FriCAS provides additional resources, such as the section that maps operations across various systems for guidance. Since 2013, FriCAS has integrated Aldor, the extension language originally developed for , following Aldor's release under an , allowing seamless compilation and execution of Aldor programs within the FriCAS environment. The project has also participated in outreach initiatives, notably through in 2015, where the Lmonade umbrella organization accepted a project involving FriCAS enhancements, fostering student contributions to its development.

Current Status and Future Directions

As of November 2025, the latest release of FriCAS is version 1.3.12, featuring enhancements in build processes and compatibility across various platforms, including distributions and macOS. This version continues the project's emphasis on stability and usability, with distributions available through package managers such as (version 1.3.12) and (version 1.3.11). FriCAS is under active maintenance, with regular bug fixes, expansions to its extensive mathematical library, and ongoing cross-platform improvements to ensure broader accessibility. The open-source community contributes via the repository, supporting rapid iterations and integration with modern development tools. Looking ahead, development priorities include structural enhancements to the core system, incorporation of new mathematical algorithms, refinement of the for improved interactivity, optimization of the Spad compiler, and better integration with external programs and libraries. These efforts aim to position FriCAS as a robust for advanced . As of 2025, it maintains its status as a niche yet powerful , valued in mathematical research and educational settings for its depth and flexibility.

References

  1. [1]
    FriCAS - an advanced CAS
    FriCAS is an advanced computer algebra system. Its capabilities range from calculus (integration and differentiation) to abstract algebra. It can plot functions ...
  2. [2]
    [PDF] The FriCAS System for Computer Mathematics
    Jun 8, 2025 · FriCAS provides state-of-the-art algebraic machinery to handle your most advanced symbolic problems. For example, FriCAS's integrator gives ...
  3. [3]
    Official repository of the FriCAS computer algebra system - GitHub
    FriCAS uses lightweight development methodology. Compared to Axiom, FriCAS is significantly restructured -- it is more portable and fixed several defects.
  4. [4]
    FriCAS 1.3.12 — FriCAS
    FriCAS is an advanced computer algebra system. It is freely available under a modified BSD license. FriCAS is a fork (2007) of the Axiom computer algebra system ...
  5. [5]
    FriCAS FAQ
    What is FriCAS?¶. FriCAS is an advanced computer algebra system. Its capabilities range from calculus (integration and differentiation) to abstract algebra.
  6. [6]
    Debian -- Details of package fricas in sid
    General purpose computer algebra system: main binary and modules. Fricas is useful for research and development of mathematical algorithms.
  7. [7]
    [PDF] Introduction to Axiom and FriCAS
    Axiom started life as Scratchpad, which was a system for numeric and ... two forks: FriCAS, and OpenAxiom. Of these two forks the first is the most ...
  8. [8]
    passagemath/upstream-fricas: FriCAS computer algebra ... - GitHub
    FriCAS uses lightweight development methodology. Compared to Axiom, FriCAS is significantly restructured -- it is more portable and fixed several defects.
  9. [9]
    [PDF] Application of Symbolic and Algebraic Manipulation Software in ...
    From a history of the SAM system, we can draw the following conclusions ... "A history of the SCRATCHPAD. Project (1965-1977)",. IBM newsletter, vol. 1 ...
  10. [10]
    SCRATCHPAD/1: An interactive facility for symbolic mathematics
    The SCRATCHPAD/1 system is designed to provide an interactive symbolic computational facility for the mathematician user. The system features a user ...Missing: origins | Show results with:origins
  11. [11]
    History - FriCAS
    About 1965 J. Griesmer from IBM started a project to develop a computer algebra system. In 1970 the project was named Scratchpad. In 1976 the Scratchpad team ...
  12. [12]
    None
    Below is a merged summary of the NAG Era History for Axiom, combining all the information from the provided segments into a single, comprehensive response. To maximize detail and clarity, I’ll use a table in CSV format for the key historical points (Porting, Expansions, Development Halt, Withdrawal, Release to Tim Daly), followed by additional notes and useful URLs. This approach ensures all information is retained and presented densely.
  13. [13]
    FriCAS download | SourceForge.net
    Rating 4.8 (4) · FreeFriCAS is currently the most active fork of the Axiom open source project and continues to advance, albeit rather slowly due to a small but very dedicated ...
  14. [14]
    Open source computer algebra systems: Axiom - ResearchGate
    Aug 9, 2025 · The original Axiom is headed by Tim Daly. The OpenAxiom fork [O] is headed by Gabriel Dos Rios. The FriCAS fork [F] is headed by Waldek Hebisch.
  15. [15]
    MathAction FriCAS
    The FriCAS fork was created by Waldek Hebisch (http://fricas.org/~hebisch). FriCAS comes with a huge library of mathematical knowledge starting from simple ...
  16. [16]
    [PDF] The FriCAS System for Computer Mathematics
    It counts as the official version for the FriCAS project. The original sources (including the text and scripts) for this book where released in ...
  17. [17]
    MathAction Unicode - FriCAS wiki
    The following Greek characters are supported as text ... and as variable names and symbols: fricas. (1) -> αβγδεζηθικλμξοπρςστυφχψω
  18. [18]
    MathAction FrontPage - FriCAS
    The Lmonade project has been accepted for Google Summer of Code 2015 and FriCAS is part of it. Students are invited to contact the mentors on the fricas ...
  19. [19]
    Installation Guide - FriCAS
    Quick installation¶. FriCAS now tries to support standard GNU build/installation conventions. So if you have sources and all prerequisites, then .
  20. [20]
    Features — FriCAS
    FriCAS can be extend by programs written in SPAD that are compiled to machine code in the same way as the algebra library that comes with FriCAS. In a FriCAS ...
  21. [21]
    [PDF] The FriCAS System for Computer Mathematics
    Jul 30, 2025 · Since FriCAS has been forked from the Axiom project, there have been a number of contributions and corrections by Martin Baker, Riccardo Guida, ...Missing: majority predates
  22. [22]
  23. [23]
  24. [24]
    fricas, efricas - advanced computer algebra system. - Ubuntu Manpage
    The full documentation for fricas is maintained as a set of HyperDoc pages. If fricas is stared inside X Windows environment by default HyperDoc window will pop ...
  25. [25]
    MathAction FriCASInterpreter - FriCAS wiki
    The FriCAS interpreter is the part of FriCAS responsible for handling user input during an interactive session. The interpreter parses the user's input ...
  26. [26]
    MathAction FriCAS language
    The FriCAS interactive language is oriented towards ease-of-use. The FriCAS interpreter uses type-inferencing to deduce the type of an object from user input.
  27. [27]
    jFriCAS — jFriCAS 2.0.0 documentation
    jFriCAS is a Jupyter kernel for FriCAS, i.e., it makes a Jupyter notebook frontend for FriCAS possible. When a Jupyter notebook of type FriCAS is opened ...
  28. [28]
    MathAction SandBox
    ### Summary of SandBox Feature on FriCAS Wiki
  29. [29]
    MathAction UnicodeIssues
    ### Summary of FriCAS Unicode Support for Mathematical Symbols
  30. [30]
    MathAction Symbolic Integration - FriCAS wiki
    FriCAS in fact implements extension of Risch algorithm which extends class of integrands to some Liouvillian functions and for integration in terms of Ei, Ci, ...
  31. [31]
    Equation S - FriCAS
    differentiate: (%, Symbol, NonNegativeInteger) -> % if S has ... rightZero(eq) subtracts the right hand side. sample: % if S has AbelianGroup or S has Monoid.
  32. [32]
    PolynomialFactorizationExplicit - FriCAS
    squareFreePolynomial(p) returns the square-free factorization of the univariate polynomial p . subtractIfCan: (%, %) -> Union(%, failed). from ...
  33. [33]
    1.14 Solution of Equations — FriCAS 0.1 documentation
    For systems of equations with symbolic coefficients, you can apply solve, listing the variables that you want FriCAS to solve for. For polynomial equations, a ...Missing: examples factoring
  34. [34]
    Notebook - FriCAS
    FriCAS is a typed computer algebra system. In this notebook we evaluate certain expressions. Each expression is evaluated and yields a value that belongs to ...
  35. [35]
    CliffordAlgebra(n, K, bLin) - FriCAS
    CliffordAlgebra( n , K , bLin) defines a module of dimension 2^n over K , given a bilinear form bLin on K^n . Examples of Clifford Algebras are: gaussians, ...
  36. [36]
    FunctionalSpecialFunction(R, F) - FriCAS
    Provides some special functions over an integral domain. abs: F -> F. abs(f) ... hankelH1(v, z) is first Hankel function (Bessel function of the third kind).
  37. [37]
    PolyGroebner F - FriCAS
    lexGroebner(lp, lv) computes Groebner basis for the list of polynomials lp in lexicographic order. The variables are ordered by their position in the list lv .
  38. [38]
    Development — FriCAS
    Development is currently driven by the needs and wishes of the various contributors. Bug reports are collected through issues at github, but can also be sent ...Missing: contributions | Show results with:contributions
  39. [39]
    FriCAS - an advanced CAS
    FriCAS is an advanced computer algebra system. Its capabilities range from calculus (integration and differentiation) to abstract algebra. It can plot functions ...
  40. [40]
  41. [41]
    fricas - Debian Package Tracker
    A new upstream version 1.3.12 is available, you should consider packaging it. Created: 2025-06-07 Last update: 2025-10-14 01:30. lintian reports 9 errors ...
  42. [42]
    fricas 1.3.12-1 (x86_64) - Arch Linux
    Architecture: x86_64. Repository: Extra. Description: An advanced computer algebra system. Upstream URL: https://fricas.github.io. License(s):, BSD-3-Clause.