Changes between Version 53 and Version 70 of Ticket #28519

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


  • Ticket #28519

    • 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 Keywords tensor fields scalar fields added
    • Property Reviewers changed from Eric Gourgoulhon, Travis Scrimshaw to
  • Ticket #28519 – Description

    v53 v70  
    1 **Mixed Forms**
     1There 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.
    3 - readability of code improved in `` and ``
    4 - now, mixed form components are seen as immutable in the sense of the discussion below; as a result, the component setup is modified
    5 - now, the `display()` method shows **only** the expansion in a particular frame and chart
     3This metaticket is mainly devoted to the topic of immutability of algebra elements (see discussion below).
    7 **Scalar Fields**
     5**Things going on:**
    9 - ~~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).
    10 - ~~now, multiplication of named scalar fields `f` and `g` leads to `f \cdot g` in LaTeX code~~ (moved to #28554)
    11 - ~~division by zero in `_div_()` is now checked via `is_trivial_zero()`~~ (moved to #28554)
    13 ** Differential Forms / Tensor Fields**
    15 - tensor algebra computations improved:
    16   - in order to make computations faster, an attribute `_is_zero` is added and checked (similar to scalar fields)
    17   - wedge product of differential forms with self leads to zero right away in case of odd order
    18 - multiplication of tensor fields `a` with scalar fields `f` yields name `f*a` and latex name `f \cdot a`
    20 **Various**
    22 - more consistency between scalar fields and tensor fields:
    23   - 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)
    24   - ~~method `set_restriction()` added to scalar fields~~ (moved to #28554)
    25   - ~~coercion via restriction rearranged in scalar fields following tensor fields~~ (moved to #28554)
    26 - minor code rearrangements, i.e. for code reuse or consistency
    27 - `copy()` now inherits the attribute `_is_zero` from the original (both for tensor fields and scalar fields) to ensure better zero treatment
    28 - manipulation of the zero element raises an error
     7- #28554: Scalar Field Restrictions
     8- Better Zero Treatment
     9- Consistent Naming for Tensor and Scalar Fields
     10- Mixed Forms as Immutable Elements