Opened 4 months ago

Last modified 3 months ago

#32120 new enhancement

Chart-wise assumptions

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.5
Component: manifolds Keywords:
Cc: egourgoulhon, gh-mjungmath Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

(from https://trac.sagemath.org/ticket/31901#comment:19)

The assumptions should not be global but chart-wise.

There is already a context manager assuming. We could create it at initialization and invoke it using with whenever computations are done with this chart.

We go through a new method assuming of CalculusMethod that dispatches in the same way as the simplify method does.

Change History (8)

comment:1 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 4 months ago by mkoeppe

  • Cc gh-mjungmath added

comment:3 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:4 Changed 3 months ago by gh-mjungmath

Another way could be to write a own class for the variables of a chart instead of seeing them as pure symbolic expressions. That could also solve the problem described in #30232.

Last edited 3 months ago by gh-mjungmath (previous) (diff)

comment:5 follow-up: Changed 3 months ago by mkoeppe

I don't think that would help - assumptions are really per chart, not per variable; and in the end, they do need to be communicated to the symbolic engine.

comment:6 in reply to: ↑ 5 Changed 3 months ago by gh-mjungmath

Replying to mkoeppe:

not per variable; and in the end, they do need to be communicated to the symbolic engine.

That is indeed true.

comment:7 Changed 3 months ago by mkoeppe

Related to the discussion in #30232, perhaps it makes sense to introduce rings of expressions under symbolic assumptions. Simplifying an expression using an additional assumption would then be a coercion!

comment:8 Changed 3 months ago by mkoeppe

(This is now #32276.)

Note: See TracTickets for help on using tickets.