[68] in mathematical software users group

home help back first fref pref prev next nref lref last post

Re: MAPLE question- inveritng complex symbolic matirix

daemon@ATHENA.MIT.EDU (Reid M. Pinchback)
Mon Feb 1 15:27:38 1993

To: bhattas@allegro.mit.edu (Saurav Dev Bhatta)
Cc: msug@MIT.EDU
In-Reply-To: Your message of Sat, 23 Jan 93 16:40:03 -0500.
Date: Mon, 01 Feb 93 15:26:49 EST
From: "Reid M. Pinchback" <reidmp@Athena.MIT.EDU>


Ok, now that I'm back from USENIX, I've had time to look at your
code a little more carefully, and I think I see basic problem.

In the first release of Maple V, support for complex number arithmetic
is spartan, and isn't part of the *default* behaviour of Maple.  You
need to go to some effort to manipulate complex objects, particularly
when using arrays.  The situation is supposed to be much better in
Maple V release 2, but I haven't had time to play with those features
yet.  In any case, here are some of the problems that are affecting you:

1) conjugate is unevaluated outside of evalc.

   In order to use conjugate, you must use evalc, or it basically behaves
   like the function doesn't exist.  Thus the map of conjugate onto an
   array doesn't give you an array of complex conjugates.  The help page
   on conjugate indicates the need for using evalc.

2) mathematical variables are not treated as complex.

   With a mathematical (ie: undefined) variable, the presumption is *not*
   that the variable is complex, but usually that it is some sort of real
   algebraic object.  Thus, if you want a complex variable, you should use an
   expression like A + B * I (or separate an existing variable into
   real and imaginary parts using Re and Im inside of evalc) so that evalc
   will understand what you are trying to do.

Again, my comments only apply to the first release of Maple V.

Now, I must admit that I don't follow all of what your code is doing, but
by looking at some of the intermediate steps in your calculation, you are
generating extremely large expressions because the evaluator can't
simplify them.  This is probably what is making Maple die on you... I'd
guess its running out of memory while trying to invert a matrix with
some pretty hideous matrix components.

-----------
Reid M. Pinchback
Faculty Liaison
Academic Computing Services, MIT

home help back first fref pref prev next nref lref last post