On Monday 01 Nov 2010 19:49:43 Waldek Hebisch wrote:
> Thanks for update.  ATM I am having problems bootstrapping with
> scene.spad.pamphlet included, once I resolve this I will commit.

Waldek,

It will be good to have this in the next release of FriCAS, thanks.

Its very useful to get feedback and I will take this onboard. I think
what I need to do is change the STransform from a single domain to a
category with multiple domain implementations. This is a slightly
longer term project so hopefully you can commit the code as it is now
and I will work on improving it for some future FriCAS release.

At the moment STransform domain is defined like this:

STransform(PT) : Exports == Implementation where
  PT:SPointCategory

and its Rep is a Union of matrix, CliffordAlgebra and general PT->PT
structures.

If I change it to add a transform category then the user will have to
choose both which SPointCategory and which STransformCategory to use,
sensible combinations would be:

SPointCategory    STransformCategory(PT)
--------------    ----------------------
SCartesian(dim)   STransformMatrix(SCartesian(dim))
SArgand           STransformGeneral(SArgand)
SConformal(dim)   STransformClifford(SConformal(dim))

Hopefully this would avoid lots of switches in the code like you
found,
another advantage of this is the existing domains like
MoebiusTransform could be given graphics capability by extending
STransformCategory(PT).

At one stage I was thinking about having the transform defined only in
terms of a PT->PT function but there are advantages in using Matrix or
CliffordAlgebra transforms (more efficient concatenation, ability to
derive inverse transform). So I now I think it is best only to curry
to the more general PT->PT form only when forced to by an incompatible
point type.

There are lots more details to be worked out and I am hoping I will
get a more intuitive feel for what needs doing once I have used it
more. I'm also hoping that when it is released in FriCAS that I may
get more feedback.

Martin Baker

-- 
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.

Reply via email to