Selim Ghazouani
Selim Ghazouani

Reputation: 151

Maxima : how to do formal calculations with complex numbers?

I am new to Maxima and I can't find in the documentation how to do formal calculation on complex numbers. When I use unspecified variables, Maxima seems to assume that they are real : conjugate(x) returns x for instance.

Is there anyway to solve this issue ?

Thanks in advance.

Upvotes: 5

Views: 5541

Answers (2)

Adam
Adam

Reputation: 1386

Here are some tests with to_poly package :

(%i1) load(to_poly);
(%o1)  home/a/maxima/share/to_poly_solve/to_poly.lisp
(%i2) r;
(%o2) r 
(%i3) isreal_p(r);
(%o3) true     /*  When I use unspecified variables, Maxima seems to assume that they are real */ 
(%i4) z:x+y*%i;
(%o4) %i y + x
(%i5) isreal_p(z);
(%o5) isreal_p(%i y) /* maxima can't check if it is real or not */
(%i6) isreal_p(x);
(%o6) true
(%i7) isreal_p(y);
(%o7) true
(%i8) complex_number_p(z); 
(%o8) false 
(%i9) declare(z, complex);
(%o9) done
(%i10) complex_number_p(z);
(%o10)   false /* still not complex */

It seems more "complex".

Upvotes: 0

slitvinov
slitvinov

Reputation: 5768

You can declare a variable complex:

(%i1) declare(x, complex) $
(%i2) conjugate(x);
(%o2)                            conjugate(x)
(%i3) conjugate(realpart(x));
(%o3)                             realpart(x)

Upvotes: 5

Related Questions