Questions tagged [computer-algebra-systems]

A computer algebra system (CAS) is a software program that allows to compute mathematical expressions via symbolic computations.

A computer algebra system (CAS) is a software program that allows to compute mathematical expressions via symbolic computations.

Appearing in mid 60's, computer algebra systems are present in a variety of platforms, including pocket calculators. The first popular computer algebra systems were muMATH, Reduce, Derive and Macsyma.

Computer algebra systems are able to:

  • partial and total differentiation
  • some indefinite and definite integration
  • symbolic constrained and unconstrained global optimization
  • solution of linear and some non-linear equations over various domains
  • solution of some differential and difference equations
  • taking some limits
  • matrix operations including products, inverses, etc.
  • statistical computation

This category includes software systems such as:

More details:

73 questions
4
votes
5 answers

Symbolic Matrix Library in clojure, advice needed

While there are plenty of java libraries for linear algebra, Clojure currently does not have an idiomatic computer algebra system that would include support for symbolic math. As a start I figure I can start working on something simple. As a first…
bmillare
  • 4,183
  • 2
  • 23
  • 42
3
votes
2 answers

Mathematica-like (LaTeX) typesetting for own CAS application

As I am using Mathematica a lot I got the idea to write a small and free CAS which just exposes a very small subset of necessary functions and packages to be used and I want to present the results in an appropriate way to the user like Mathematica…
2
votes
1 answer

Computer Algebra Systems that support variable sized matrices

I'm familiar with sympy, the matlab symbolic package, reduce, and have tried out a few other computer algebra systems. However, as far as I can tell, none of them seem to be able to do algebra on variable sized matrices - they can only work with…
2
votes
0 answers

Coefficients from paper M. Nießner Effective Back-Patch Culling for Hardware Tessellation

http://research.microsoft.com/en-us/um/people/cloop/vmvbpc.pdf In this paper authors show new method for backface culling bezier patches in clip space. In section 5 using symbolic algebra software for expand equation they found that all coefficient…
2
votes
1 answer

How to factorize this 3rd order polynomial with maple

There is some behavior of maple, that I do not understand. Say I want to factorize the polynomial 1-z-z^3, so I compute its roots using z0 := solve(1-z-z^3=0,z); which gives (just for completeness...) z0 :=…
flonk
  • 3,726
  • 3
  • 24
  • 37
2
votes
4 answers

Collecting a fraction expression within a larger fraction (sympy)

I am using IPython (Anaconda distribution) with the sympy symbolic maths library. I have the following expression: t⋅(h + l) ─────────────────────── l⋅(h + l⋅sin(θ))⋅cos(θ) I would like to rearrange this to get it in terms of (h/l)…
binnev
  • 1,658
  • 1
  • 14
  • 16
2
votes
1 answer

Force evaluate index expression before passing to sum()

I want to write an (somehow) enhanced sum function which takes a number of indices at once, but I cannot understand how to get it work. Here is what I currently have: (%i1) nsum(indexes, expr) := if indexes = [] then expr …
firegurafiku
  • 3,017
  • 1
  • 28
  • 37
2
votes
1 answer

maxima CAS - how to substitute variable for an expression?

In maxima, is there a way to apply variable substitutions for a subexpression? For example, replace instances of x+y with z. subst works for the trivial case, but not for anything more than that. (%i92) subst(x + y = foo, x + y); (%o93) foo (%i94)…
daj
  • 6,962
  • 9
  • 45
  • 79
2
votes
1 answer

Maxima: Simplify expressions containing minimum

I am trying to use Maxima to simplify mathematical expressions involving min(a, b). Say I have defined z = min(x1, x2) and d = abs(x1 - x2), then the identities x1 * x2 = z*(z+d) and x1 + x2 = 2*z + d follow. For example, take the following…
Mankka
  • 521
  • 3
  • 12
2
votes
1 answer

CAS - Binary Tree Alternative

Is there a reasonable way to make an entire Computer Algebra System (algebraic equations, limits, derivatives, integrals) without using binary trees?
2
votes
1 answer

Using SymPy (or another CAS) with Java

I am currently developing a project in JavaFX that accepts a mathematical expression and evaluates it. I have managed to get basic operations and a good deal of algebra to work. I have also managed to perform definite integrations using the…
2
votes
2 answers

Can I substitute using a symbolic equation in Sage?

I am using the following map in Sage: f = lambda x: sgn(x)*sgn(x); which evaluates to f(x) = 0 for x=0 and f(x)=1 for x!=0; In symbolic results, sgn(x)^2, sgn(x)^4 and sgn(x)^8, etc. are being treated as unequal, even though they are equal for all…
micahscopes
  • 1,034
  • 1
  • 9
  • 12
2
votes
4 answers

computer algebra soft to minimize the number of operations in a set of polynomials

I have systems of polynomials, fairly simple polynomial expressions but rather long to optimize my hand. Expressions are grouped in sets, and in a given set there are common terms in several variables. I would like to know if there is a computer…
Anycorn
  • 50,217
  • 42
  • 167
  • 261
1
vote
3 answers

Is There a Way to Rationalize a Decimal in Pari/GP?

I'm looking for an automated way to turn a decimal value into a fraction in the PARI/GP calculator (gp). For example, I want to turn 0.759765625 into 389/512. I know I can do this manually by typing in '759765625/10^9', but I'd like an easier way,…
Rick Regan
  • 3,407
  • 22
  • 28
1
vote
1 answer

Find out how many digits a number as in Maple

I'm trying to implement a basic procedure to generate an RSA key. The procedure accepts a range of numbers a and b. It has to check that the intervall between a and b is "five digits". So I came up with a solution: with (numtheory); gen_rsa :=…
wishi
  • 7,188
  • 17
  • 64
  • 103