Changes between Version 53 and Version 70 of Ticket #28519

Ignore:
Timestamp:
10/06/19 09:37:16 (19 months ago)
Comment:

Legend:

Unmodified
• Property Status changed from needs_review to needs_work
• Property Summary changed from Differential and Mixed Forms Improvements to Metaticket - Tensor Fields, Scalar Fields and Mixed Forms
• Property Dependencies changed from to #28554
• Property Commit changed from d16dbd94dfaaa2c07182ac5032d6cd81f50da3b9 to c95acea6b60d6d60d4956b912e61d6189b6f9a18
• Property Reviewers changed from Eric Gourgoulhon, Travis Scrimshaw to
 v53 **Mixed Forms** There are too many changes going on at once, so that a merge in the end might be difficult. In order to avoid such difficulties and to keep an overview of things that are happening (for me and others), I use this ticket from now on as a metaticket, where all latest changes are merged together. Cross ticket references are possible. - readability of code improved in mixed_form.py and mixed_form_algebra.py - now, mixed form components are seen as immutable in the sense of the discussion below; as a result, the component setup is modified - now, the display() method shows **only** the expansion in a particular frame and chart This metaticket is mainly devoted to the topic of immutability of algebra elements (see discussion below). **Scalar Fields** **Things going on:** - ~~scalar field can be partially defined in one top chart domain, so the display method was misleading in this case. This is now fixed: the display() method shows ''all'' known expressions. For each such expression, the greatest domain, where this expression is known, is displayed~~ (moved to #28554). - ~~now, multiplication of named scalar fields f and g leads to f \cdot g in LaTeX code~~ (moved to #28554) - ~~division by zero in _div_() is now checked via is_trivial_zero()~~ (moved to #28554) ** Differential Forms / Tensor Fields** - tensor algebra computations improved: - in order to make computations faster, an attribute _is_zero is added and checked (similar to scalar fields) - wedge product of differential forms with self leads to zero right away in case of odd order - multiplication of tensor fields a with scalar fields f yields name f*a and latex name f \cdot a **Various** - more consistency between scalar fields and tensor fields: - a copy of scalar fields took the name from the original, a copy of tensor fields did not; now, a copy takes the name in any case (in moment of creation, the copy is the very same algebraic object) - ~~method set_restriction() added to scalar fields~~ (moved to #28554) - ~~coercion via restriction rearranged in scalar fields following tensor fields~~ (moved to #28554) - minor code rearrangements, i.e. for code reuse or consistency - copy() now inherits the attribute _is_zero from the original (both for tensor fields and scalar fields) to ensure better zero treatment - manipulation of the zero element raises an error - #28554: Scalar Field Restrictions - Better Zero Treatment - Consistent Naming for Tensor and Scalar Fields - Mixed Forms as Immutable Elements