[68] in mathematical software users group
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