-
-
Notifications
You must be signed in to change notification settings - Fork 660
Description
This makes the coercion model of mixed forms more robust against modifications regarding differential forms. For instance: As soon as all differential forms of another mixed form have a coerce map, the mixed form has one too. The same now holds for any algebraic element which is coercible into a single differential form.
At this stage, the method degree
is used and special cases are handled separately. But notice that not all coercible objects provide this method (symbolic ring). Or conversely, having this method doesn't mean being coercible into a differential form. Hence this invocation is now entirely avoided.
In particular we have:
sage: M = Manifold(2, 'M')
sage: Omega = M.mixed_form_algebra()
sage: Omega1 = M.diff_form_module(1)
sage: T01 = M.tensor_field_module((0,1))
sage: Omega1.has_coerce_map_from(T01)
True
But at this stage:
sage: Omega.has_coerce_map_from(T01)
False
With this ticket:
sage: Omega.has_coerce_map_from(T01)
True
CC: @egourgoulhon @tscrim
Component: geometry
Keywords: mixed-forms
Author: Michael Jung
Branch: 37863df
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/28916