On 8 October 2014 20:26, Kurt Pagani <[email protected]> wrote:
>
> Some more bricks ...
> attached is a first draft of the functions which IMO should be sufficient.
Thanks!
> Pull-back/push-forward have to be presumably in a higher-level domain as we
> need a mapping F:X -->Y between two DFORM domains (??)
>
We need a mapping between manifolds, e.g. between the set of
independent variables of one DFORM into the independent variables of
another DFORM.
My first thought is that maybe pullback and pushforward should be
exports of a package that is parameterized by a list of expressions.
Something sort of like this?
DiffForms_functions(R,X:DiffFormCat(R), m:List(R), Y:DiffFormCat(R)): with
pullback: Y -> X
pushforward: X -> Y
==
s:=matrix map(x+->[differentiate(y, x) for y in m], generators()$X )
termPull: (R,X) -> X
termPull(r, e) ==
pullback(g:Y):X ==
g = 0 => 0
termPull(leadingCoefficient g, leadingBasisTerm g) + pullback(reductum g)
termPush: (R,X) -> Y
termPush(r,e) ==
pushforward(f:X):Y ==
f = 0 => 0
termPush(leadingCoefficient f, leadingBasisTerm f) + pushback(reductum f)
--
DiffFormCat(R) is a category defining the exports of DiffForm.
Bill Page.
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.