Post Reply 
NewRPL: Complex Numbers in Cartesian Form r[x,y] , ...
03-21-2017, 02:06 PM
Post: #8
RE: NewRPL: Complex Numbers in Cartesian Form
(03-18-2017 07:24 PM)Claudio L. Wrote:  Actually, quaternions only have one challenge: make sure the CAS supports non-commutative multiplication.
You can define rules (which you can apply whenever you need to simplify the expressions), for ij=k, k^2=-1, etc., that would be covered.
But non-commutative multiplication is a challenge not only for quaternions, every time a variable in an expression contains a matrix or vector, how does the machine know that it's supposed to use non-commutative multiplication?
For example the expression 'A*B+C' can be manipulated in many ways by a CAS, but the CAS has no way of knowing that A and B are matrices, so how do we tell the CAS:
* If the variable is real (REALASSUME)
* If the variable is complex
* If the variable is a matrix
It seems this property should be embedded somehow in the expression, to help solvers and the CAS make the right decisions.

More and more to think...

I was pondering this myself. The simple-but-ugly way would be to define a new operator for matrix multiplication, and another for anticommutative (ie, quaternion) multiplication. This would definitely work, but it feels unsatisfactory.

It's not without precedent in RPL, though. Witness the DOT and CROSS commands. Hmm. The cross product is also anticommutative, maybe it could be repurposed to handle quaternions too?

It's a pity that Hamilton accidentally defined the quaternions as a left-handed system! Speaking of which, find an elegant way to do Clifford algebras in newRPL, and I'll love you forever! I've been limping along with matrix representations...

Hey, now there's a thought! How about implementing Clifford's geometric product? You'd get quaternion multiplication and cross products basically for free, along with plenty more stuff! The only annoying part would be deciding how to represent bivectors, trivectors, and the like in RPL, and how to store the signature of the space you're using.

Maybe a fixed signature would be best if you chose to go this route, but what should it be? 4d Euclidean? Spacetime? Or *sob*, just 3d Euclidean? Even that would be a marked increase in power.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: NewRPL: Complex Numbers in Cartesian Form - The Shadow - 03-21-2017 02:06 PM



User(s) browsing this thread: 1 Guest(s)