cottax.relational.classification module

What makes an answer right, read off the relations. Each predicate answers False for a node that is not a RelationalCondition.

is_optimise(node: object)[source]

Exactly one objective. is_unconstrained_optimise / is_constrained_optimise.

Return type:

bool

is_equalities(node: object)[source]

No objective, every relation an equality. is_fixed_point / is_root_find.

Return type:

bool

is_unconstrained_optimise(node: object)[source]

An optimise with no relation beside the objective.

Return type:

bool

is_constrained_optimise(node: object)[source]

An optimise with relations to respect as well.

Return type:

bool

is_feasibility(node: object)[source]

No objective and an inequality among the relations: any point satisfying them will do.

Return type:

bool

is_fixed_point(node: object)[source]

Equalities of which every one is u = g (fixed_point_shaped).

Return type:

bool

fixed_point_shaped(relations: tuple, unknowns: tuple)[source]

Whether every relation is u = g: one of unknowns on the left, and a place on the right.

Return type:

bool

is_root_find(node: object)[source]

Every other system of equalities: a(x) = b(x), which is c(x) = 0 WLOG.

Return type:

bool