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.
VA.spad
Description: Binary data
