I started making a small package for component-free vector algebra. It
is based on the work "Rule-Based Simplification in Vector-Product Spaces"
written by Songxin Liang and David J. Jeffrey.

This is a good project for me to learn and experiment more with SPAD :-)
I hope that sometime later I can expand this to matrix algebra and
maybe even Grassmann algebra. Or to do block structured objects.
But one after the other ...

You can find my code at:

https://github.com/raoulb/fricas_code/blob/vectoralg/vecalg/VA.spad

or attached to this mail.


Before continuing I would like to get some smaller problems solved.
For example I'm not sure about the base representation. I took what
they have in the paper:

    -- Basic data types used
    coePart == R
    scaPart == List List String
    vecPart == List String
    -- we dont want to use Strings, rather Exprs? Symbols? Variables?

    -- A single term is of the form alpha * a * v
    Term == Record(coe:R, sca:scaPart, vec:vecPart)

    -- A normal form is a sum of terms
    Rep := List Term

but I'm not sure about the String there. Should we use Symbol, Variable
or is String fine or what would you suggest?


Next I have this code for creating new vector objects:

    vector(x:Symbol) : % == [ [1::R, [], [string x]] ]::%

Is this ok? It seems to work but I don't know if this is the
best way to do it.


And then, I'm stuck with output and printing. I tried to study the
print facilities of Quaternions but it did not help that much. I
tried with something like:

    coerce: % -> OutputForm

but have no idea if this is appropriate at all. And I do not know
how to implement the function properly. Could you please give me
some hints how this whole stuff works?


BTW: The code compiles with many warnings. I hope that I will
be able to fix them later.


BTW2: I made a few thoughts about RUBI too, but that is for
another mail.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Attachment: VA.spad
Description: Binary data

Reply via email to