computer-algebra-systems

Best open-source Mathematica equivalent

What is the best open-source equivalent for Mathematica? My requirements are: (most important) Must be a real computer algebra system (CAS). Notably, I don't want Matlab clones -- I want something that can, at least, symbolically differentiate and integrate. Must be programmable. A functional-programming view of the world, like Math...

Introduction to computer algebra systems?

Does anybody know of any resources (books, classes, lecture notes, or anything) about the general theory of computer algebra systems (e.g. mathematica, sympy)? "Introductory" materials are preferred, but I realize that with such a specialized subject anything is bound to be fairly advanced. ...

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, like 'rationalize(0.759765625);' would work in Maxima. If it can't do this directly, maybe...

Algorithmically get Amplitude and Phase of Sine wave?

I'm trying to figure out a way to algorithmically get the amplitude and phase of a function that has sinusoidal terms in the Maxima computer algebra system. This only applies to steady state (as t -> infinity and the transients decay). For example, a trivial case would be: f(t) = 1 / w * sin(w * t + theta) + exp(-a * t) + 8 In this ...

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

hello 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 algebra system, such as Mathematica, Matlab, or sympy, which can optimize multiple p...

Looking for software suite to perform partial evaluation to reduce constants

Hi, We have need in our product to do partial evaluation to simplify expressions that contain both variables and constants. Goal is to combine terms algebraically to reduce the constants whenever possible. For example the following expressions: 4x + 6y + 2x 7 + 2x - 3 10^-5 * x * 10^-4 Should become (respectively): 6(x + y) 4 + 2x...

Haskell library like SymPy?

I need to manipulate expressions like 1 + sqrt(3) and do basic arithmetic like addition, subtraction, and division. I'd like the result to be in some sort of canonical form so that it can be used as a key in a map. Turning 1 + sqrt(3) into a float is not feasible due to roundoff problems. I used SymPy for this task in Python. Is there a...

Computer algebra for Clojure

Short version: I am interested in some Clojure code which will allow me to specify the transformations of x (e.g. permutations, rotations) under which the value of a function f(x) is invariant, so that I can efficiently generate a sequence of x's that satisfy r = f(x). Is there some development in computer algebra for Clojure? For (a tri...