AngouriMath

Navigation

← Back to list of members

DomainConditionIn​(AngouriMath.​Core.​Domain)

 Method (no overloads)

Summary

The same as DomainCondition, but read in reading rather than in whatever codomain each node happens to carry.

Remarks

The reading is a parameter of the question, not a property of the expression —
which is what continuous_domain(f, x, S.Reals) and
FunctionDomain[f, x, dom] are in the two systems this was measured against, and
what #721 asks
for. arcsin is defined on |x| <= 1 over the reals and everywhere over
the complex plane; neither is *the* domain of arcsin, and an expression that
answers only one of them cannot be asked the other.
The per-node Codomain already selects between the two, and every node
that has two answers already writes them both. What it could not do is answer for a
tree: WithCodomain replaces the root's reading and leaves every child on
its own, so (arcsin(x) + arcsin(y)).WithCodomain(Real).DomainCondition is
True — the sum has no condition of its own and the two arcsines were never
asked. Asking for the real reading and being given the complex one underneath is
exactly the drift that issue is about.
The reading is applied where a node's codomain is wider than it and nowhere
else, so a variable declared over ZZ is not widened to RR by being asked
a question about the reals.

























Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online