Reference: Expression-like Objects

Quasi-Affine Expressions

Quasi-Affine Expression

class islpy.Aff(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__(self) → int

__hash__(self) -> int

Warning

This function is not part of the officially public isl API. Use at your own risk.

__ne__(_other: object) → bool

Return self!=value.

add(self, aff2: Aff) → Aff
add_coefficient_val(self, type: dim_type, pos: int, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_constant_num_si(self, v: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_constant_val(self, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

bind_id(self, id: Id) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

ceil(self) → Aff
coefficient_sgn(self, type: dim_type, pos: int) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

div(self, aff2: Aff) → Aff
domain_reverse(self) → Aff
drop_dims(self, type: dim_type, first: int, n: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

eq_basic_set(self, aff2: Aff) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

eq_set(self, aff2: Aff) → Set
eval(self, pnt: Point) → Val
find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

floor(self) → Aff
from_range(self) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

ge_basic_set(self, aff2: Aff) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

ge_set(self, aff2: Aff) → Set
get_coefficient_val(self, type: dim_type, pos: int) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_coefficients_by_name(dimtype: dim_type | None = None, dim_to_name: Mapping[tuple[dim_type, int], str] | None = None) → dict[str | Literal[1], Val]

Return a dictionary mapping variable names to coefficients.

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

Changed in version 2011.3: New for Aff

get_constant_val(self) → Val
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_denominator_val(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_name(self, type: dim_type, pos: int) → str | None

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_div(self, pos: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_local_space(self) → LocalSpace

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_local_space(self) → LocalSpace

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_pieces() → list[tuple[Set, Aff]]
get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → Aff
gist_params(self, context: Set | BasicSet) → Aff
gt_basic_set(self, aff2: Aff) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

gt_set(self, aff2: Aff) → Set
insert_dims(self, type: dim_type, first: int, n: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_locals(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_cst(self) → bool
is_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

le_basic_set(self, aff2: Aff) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

le_set(self, aff2: Aff) → Set
lt_basic_set(self, aff2: Aff) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

lt_set(self, aff2: Aff) → Set
mod_val(self, mod: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

mul(self, aff2: Aff) → Aff
nan_on_domain = <nanobind.nb_func object>
nan_on_domain_space = <nanobind.nb_func object>
ne_set(self, aff2: Aff) → Set
neg(self) → Aff
neg_basic_set(self) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

param_on_domain_space_id = <nanobind.nb_func object>
plain_is_equal(self, aff2: Aff) → bool
plain_is_zero(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_domain_on_params(self) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_aff(self, aff2: Aff) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_multi_aff(self, ma: MultiAff) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
scale_down_val(self, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_coefficient_val(self, type: dim_type, pos: int, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_coefficients(dim_tp: dim_type, args: Sequence[Val | int]) → AffOrConstraintT
Parameters:
  • dim_tp – dim_type

  • args – list of coefficients, for indices 0..len(args)-1.

Changed in version 2011.3: New for Aff

set_coefficients_by_name(iterable: Iterable[tuple[str | Literal[1], Val | int]] | Mapping[str | Literal[1], Val | int], name_to_dim: Mapping[str, tuple[dim_type, int]] | None = None) → AffOrConstraintT

Set the coefficients and the constant.

Parameters:

iterable – a dict or iterable of tuple instances mapping variable names to their coefficients. The constant is set to the value of the key ‘1’.

Changed in version 2011.3: New for Aff

set_constant_val(self, v: Val | int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_id(self, type: dim_type, pos: int, id: Id) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, aff2: Aff) → Aff
to_list(self) → AffList
to_pw_aff
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

unbind_params_insert_domain(self, domain: MultiId) → Aff
val_on_domain = <nanobind.nb_func object>
val_on_domain_space = <nanobind.nb_func object>
var_on_domain = <nanobind.nb_func object>
zero_basic_set(self) → BasicSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero_on_domain = <nanobind.nb_func object>
zero_on_domain_space = <nanobind.nb_func object>

Piecewise Quasi-Affine Expression

class islpy.PwAff(*args, **kwargs)
__eq__(other: object) → bool

Return self==value.

__hash__(self) → int

__hash__(self) -> int

Warning

This function is not part of the officially public isl API. Use at your own risk.

__ne__(value, /)

Return self!=value.

add(self, pwaff2: PwAff | Aff) → PwAff
add_constant_val(self, v: Val | int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

alloc = <nanobind.nb_func object>
as_aff(self) → Aff
as_map(self) → Map
bind_domain(self, tuple: MultiId) → PwAff
bind_domain_wrapped_domain(self, tuple: MultiId) → PwAff
bind_id(self, id: Id) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

ceil(self) → PwAff
coalesce(self) → PwAff
cond(self, pwaff_true: PwAff | Aff, pwaff_false: PwAff | Aff) → PwAff
copy(self) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

div(self, pa2: PwAff | Aff) → PwAff
domain(self) → Set
domain_reverse(self) → PwAff
drop_dims(self, type: dim_type, first: int, n: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → PwAff
dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

empty = <nanobind.nb_func object>
eq_map(self, pa2: PwAff | Aff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

eq_set(self, pwaff2: PwAff | Aff) → Set
eval(self, pnt: Point) → Val
every_piece(self, test: Callable[[Set, Aff], bool]) → bool
Parameters:

test – callback(set, aff)

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

floor(self) → PwAff
foreach_piece(self, fn: Callable[[Set, Aff], None]) → None
Parameters:

fn – callback(set, aff)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_aff = <nanobind.nb_func object>
from_range(self) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

ge_map(self, pa2: PwAff | Aff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

ge_set(self, pwaff2: PwAff | Aff) → Set
get_aggregate_domain() → Set
Returns:

a Set that is the union of the domains of all pieces

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_id(self, type: dim_type, pos: int) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_name(self, type: dim_type, pos: int) → str | None

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pieces() → list[tuple[Set, Aff]]
get_space(self) → Space
get_tuple_id(self, type: dim_type) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → PwAff
gist_params(self, context: Set | BasicSet) → PwAff
gt_map(self, pa2: PwAff | Aff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

gt_set(self, pwaff2: PwAff | Aff) → Set
has_dim_id(self, type: dim_type, pos: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

has_tuple_id(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

insert_dims(self, type: dim_type, first: int, n: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

insert_domain(self, domain: Space) → PwAff
intersect_domain(self, set: Set | BasicSet) → PwAff
intersect_domain_wrapped_domain(self, set: Set | BasicSet) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, set: Set | BasicSet) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → PwAff
involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_param_id(self, id: Id) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_cst(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_empty(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_equal(self, pa2: PwAff | Aff) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_aff(self) → bool
le_map(self, pa2: PwAff | Aff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

le_set(self, pwaff2: PwAff | Aff) → Set
lt_map(self, pa2: PwAff | Aff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

lt_set(self, pwaff2: PwAff | Aff) → Set
max(self, pwaff2: PwAff | Aff) → PwAff
max_val(self) → Val
min(self, pwaff2: PwAff | Aff) → PwAff
min_val(self) → Val
mod_val(self, mod: Val | int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

mul(self, pwaff2: PwAff | Aff) → PwAff
n_piece(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

nan_on_domain = <nanobind.nb_func object>
nan_on_domain_space = <nanobind.nb_func object>
ne_set(self, pwaff2: PwAff | Aff) → Set
neg(self) → PwAff
non_zero_set(self) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

nonneg_set(self) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

param_on_domain_id = <nanobind.nb_func object>
params(self) → Set
plain_cmp(self, pa2: PwAff | Aff) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, pwaff2: PwAff | Aff) → bool
pos_set(self) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_domain_on_params(self) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_multi_aff(self, ma: MultiAff) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_multi_pw_aff(self, mpa: MultiPwAff) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_pw_multi_aff(self, pma: PwMultiAff | MultiAff) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_tuple_id(self, type: dim_type) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, f: Val | int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_id(self, type: dim_type, pos: int, id: Id) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, pwaff2: PwAff | Aff) → PwAff
subtract_domain(self, set: Set | BasicSet) → PwAff
tdiv_q(self, pa2: PwAff | Aff) → PwAff
tdiv_r(self, pa2: PwAff | Aff) → PwAff
to_list(self) → PwAffList
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_union_pw_aff(self) → UnionPwAff
union_add(self, pwaff2: PwAff | Aff) → PwAff
union_max(self, pwaff2: PwAff | Aff) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

union_min(self, pwaff2: PwAff | Aff) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

val_on_domain = <nanobind.nb_func object>
var_on_domain = <nanobind.nb_func object>
zero_on_domain = <nanobind.nb_func object>
zero_set(self) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

Union of Piecewise Quasi-Affine Expressions

class islpy.UnionPwAff(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add(self, upa2: UnionPwAff | Aff | PwAff) → UnionPwAff
add_pw_aff(self, pa: PwAff | Aff) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

aff_on_domain = <nanobind.nb_func object>
align_params(self, model: Space) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

bind_id(self, id: Id) → UnionSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

coalesce(self) → UnionPwAff
copy(self) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → UnionSet
drop_dims(self, type: dim_type, first: int, n: int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → UnionPwAff
dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

empty = <nanobind.nb_func object>
empty_ctx = <nanobind.nb_func object>
empty_space = <nanobind.nb_func object>
every_pw_aff(self, test: Callable[[PwAff], bool]) → bool
Parameters:

test – callback(pa)

Warning

This function is not part of the officially public isl API. Use at your own risk.

extract_pw_aff(self, space: Space) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

floor(self) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_pw_aff(self, fn: Callable[[PwAff], None]) → None
Parameters:

fn – callback(pa)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_aff = <nanobind.nb_func object>
from_pw_aff = <nanobind.nb_func object>
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pw_aff_list(self) → PwAffList

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_space(self) → Space
get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: UnionSet | BasicSet | Set) → UnionPwAff
gist_params(self, context: Set | BasicSet) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_space(self, space: Space) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwAff
intersect_domain_wrapped_range(self, uset: UnionSet | BasicSet | Set) → UnionPwAff
intersect_params(self, set: Set | BasicSet) → UnionPwAff
involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

max_val(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

min_val(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

mod_val(self, f: Val | int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

n_pw_aff(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

neg(self) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

param_on_domain_id = <nanobind.nb_func object>
plain_is_equal(self, upa2: UnionPwAff | Aff | PwAff) → bool
pullback_union_pw_multi_aff(self, upma: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pw_aff_on_domain = <nanobind.nb_func object>
read_from_str = <nanobind.nb_func object>
reset_user(self) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, upa2: UnionPwAff | Aff | PwAff) → UnionPwAff
subtract_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_space(self, space: Space) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_list(self) → UnionPwAffList
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

union_add(self, upa2: UnionPwAff | Aff | PwAff) → UnionPwAff
val_on_domain = <nanobind.nb_func object>
zero_union_set(self) → UnionSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

Multiple Union of Piecewise Quasi-Affine Expressions

class islpy.MultiUnionPwAff(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__len__(self) → int

__len__(self) -> int

__ne__(_other: object) → bool

Return self!=value.

add(self, multi2: MultiUnionPwAff) → MultiUnionPwAff
align_params(self, model: Space) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

apply_aff(self, aff: Aff) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

apply_multi_aff(self, ma: MultiAff) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

apply_pw_aff(self, pa: PwAff | Aff) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

apply_pw_multi_aff(self, pma: PwMultiAff | MultiAff) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

bind(self, tuple: MultiId) → UnionSet
coalesce(self) → MultiUnionPwAff
copy(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → UnionSet
drop_dims(self, type: dim_type, first: int, n: int) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

extract_multi_pw_aff(self, space: Space) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

factor_range(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_id(self, type: dim_type, id: Id) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

flat_range_product(self, multi2: MultiUnionPwAff) → MultiUnionPwAff
flatten_range(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

floor(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_multi_aff = <nanobind.nb_func object>
from_multi_pw_aff = <nanobind.nb_func object>
from_range(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_union_map = <nanobind.nb_func object>
from_union_pw_aff = <nanobind.nb_func object>
from_union_pw_aff_list = <nanobind.nb_func object>
from_union_pw_multi_aff = <nanobind.nb_func object>
get_at(self, pos: int) → UnionPwAff
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_id(self, type: dim_type, pos: int) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_list(self) → UnionPwAffList
get_range_tuple_id(self) → Id
get_space(self) → Space
get_tuple_id(self, type: dim_type) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_tuple_name(self, type: dim_type) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_union_pw_aff(self, pos: int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: UnionSet | BasicSet | Set) → MultiUnionPwAff
gist_params(self, context: Set | BasicSet) → MultiUnionPwAff
has_range_tuple_id(self) → bool
has_tuple_id(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, uset: UnionSet | BasicSet | Set) → MultiUnionPwAff
intersect_params(self, params: Set | BasicSet) → MultiUnionPwAff
intersect_range(self, set: Set | BasicSet) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool
max_multi_val(self) → MultiVal

Warning

This function is not part of the officially public isl API. Use at your own risk.

min_multi_val(self) → MultiVal

Warning

This function is not part of the officially public isl API. Use at your own risk.

mod_multi_val(self, mv: MultiVal) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

multi_aff_on_domain = <nanobind.nb_func object>
multi_val_on_domain = <nanobind.nb_func object>
neg(self) → MultiUnionPwAff
plain_is_equal(self, multi2: MultiUnionPwAff) → bool
pullback_union_pw_multi_aff(self, upma: UnionPwMultiAff | MultiAff | PwMultiAff) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pw_multi_aff_on_domain = <nanobind.nb_func object>
range_factor_domain(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_range(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_is_wrapping(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_product(self, multi2: MultiUnionPwAff) → MultiUnionPwAff
range_splice(self, pos: int, multi2: MultiUnionPwAff) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_range_tuple_id(self) → MultiUnionPwAff
reset_tuple_id(self, type: dim_type) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_multi_val(self, mv: MultiVal) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_multi_val(self, mv: MultiVal) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_at(self, pos: int, el: UnionPwAff | Aff | PwAff) → MultiUnionPwAff
set_dim_id(self, type: dim_type, pos: int, id: Id) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_range_tuple_id(self, id: Id) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_name(self, type: dim_type, s: str) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_union_pw_aff(self, pos: int, el: UnionPwAff | Aff | PwAff) → MultiUnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, multi2: MultiUnionPwAff) → MultiUnionPwAff
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

union_add(self, mupa2: MultiUnionPwAff) → MultiUnionPwAff
zero = <nanobind.nb_func object>
zero_union_set(self) → UnionSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

Multiple Affine Expressions

Multiple Affine Expression

class islpy.MultiAff(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__len__(self) → int

__len__(self) -> int

__ne__(_other: object) → bool

Return self!=value.

add(self, multi2: MultiAff) → MultiAff
add_constant_multi_val(self, mv: MultiVal) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_constant_val(self, v: Val | int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

as_map(self) → Map
as_set(self) → Set
bind(self, tuple: MultiId) → BasicSet
bind_domain(self, tuple: MultiId) → MultiAff
bind_domain_wrapped_domain(self, tuple: MultiId) → MultiAff
copy(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain_map = <nanobind.nb_func object>
domain_reverse(self) → MultiAff
drop_dims(self, type: dim_type, first: int, n: int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

factor_range(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_id(self, type: dim_type, id: Id) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

flat_range_product(self, multi2: MultiAff) → MultiAff
flatten_domain(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

flatten_range(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

floor(self) → MultiAff
from_aff = <nanobind.nb_func object>
from_aff_list = <nanobind.nb_func object>
from_range(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_aff(self, pos: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_at(self, pos: int) → Aff
get_constant_multi_val(self) → MultiVal
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_id(self, type: dim_type, pos: int) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_list(self) → AffList
get_range_tuple_id(self) → Id
get_space(self) → Space
get_tuple_id(self, type: dim_type) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_tuple_name(self, type: dim_type) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → MultiAff
gist_params(self, context: Set | BasicSet) → MultiAff
has_range_tuple_id(self) → bool
has_tuple_id(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

identity = <nanobind.nb_func object>
identity_multi_aff(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

identity_on_domain_space = <nanobind.nb_func object>
insert_dims(self, type: dim_type, first: int, n: int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

insert_domain(self, domain: Space) → MultiAff
involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_locals(self) → bool
involves_nan(self) → bool
lex_ge_set(self, ma2: MultiAff) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_gt_set(self, ma2: MultiAff) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_le_set(self, ma2: MultiAff) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_lt_set(self, ma2: MultiAff) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

lift(self) → tuple[MultiAff, LocalSpace]

Warning

This function is not part of the officially public isl API. Use at your own risk.

mod_multi_val(self, mv: MultiVal) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

multi_val_on_domain_space = <nanobind.nb_func object>
multi_val_on_space = <nanobind.nb_func object>
neg(self) → MultiAff
plain_cmp(self, multi2: MultiAff) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, multi2: MultiAff) → bool
product(self, multi2: MultiAff) → MultiAff
project_domain_on_params(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_out_map = <nanobind.nb_func object>
pullback_multi_aff(self, ma2: MultiAff) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_domain(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_range(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_is_wrapping(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_map = <nanobind.nb_func object>
range_product(self, multi2: MultiAff) → MultiAff
range_splice(self, pos: int, multi2: MultiAff) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_range_tuple_id(self) → MultiAff
reset_tuple_id(self, type: dim_type) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_multi_val(self, mv: MultiVal) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_multi_val(self, mv: MultiVal) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_aff(self, pos: int, el: Aff) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_at(self, pos: int, el: Aff) → MultiAff
set_dim_id(self, type: dim_type, pos: int, id: Id) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_range_tuple_id(self, id: Id) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_name(self, type: dim_type, s: str) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
splice(self, in_pos: int, out_pos: int, multi2: MultiAff) → MultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

sub(self, multi2: MultiAff) → MultiAff
to_multi_pw_aff(self) → MultiPwAff
to_multi_union_pw_aff(self) → MultiUnionPwAff
to_pw_multi_aff(self) → PwMultiAff
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

unbind_params_insert_domain(self, domain: MultiId) → MultiAff
zero = <nanobind.nb_func object>

Piecewise Multiple Affine Expression

class islpy.PwMultiAff(*args, **kwargs)
__eq__(other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(value, /)

Return self!=value.

add(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
add_constant_multi_val(self, mv: MultiVal) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_constant_val(self, v: Val | int) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

alloc = <nanobind.nb_func object>
as_map(self) → Map
as_multi_aff(self) → MultiAff
as_set(self) → Set
bind_domain(self, tuple: MultiId) → PwMultiAff
bind_domain_wrapped_domain(self, tuple: MultiId) → PwMultiAff
coalesce(self) → PwMultiAff
copy(self) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → Set
domain_map = <nanobind.nb_func object>
domain_reverse(self) → PwMultiAff
drop_dims(self, type: dim_type, first: int, n: int) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → PwMultiAff
dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

empty = <nanobind.nb_func object>
every_piece(self, test: Callable[[Set, MultiAff], bool]) → bool
Parameters:

test – callback(set, ma)

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

fix_si(self, type: dim_type, pos: int, value: int) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

flat_range_product(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
foreach_piece(self, fn: Callable[[Set, MultiAff], None]) → None
Parameters:

fn – callback(set, maff)

from_domain = <nanobind.nb_func object>
from_map = <nanobind.nb_func object>
from_multi_aff = <nanobind.nb_func object>
from_multi_pw_aff = <nanobind.nb_func object>
from_pw_aff = <nanobind.nb_func object>
from_set = <nanobind.nb_func object>
get_at(self, pos: int) → PwAff
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_id(self, type: dim_type, pos: int) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_name(self, type: dim_type, pos: int) → str | None

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pw_aff(self, pos: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_range_tuple_id(self) → Id
get_space(self) → Space
get_tuple_id(self, type: dim_type) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_tuple_name(self, type: dim_type) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, set: Set | BasicSet) → PwMultiAff
gist_params(self, set: Set | BasicSet) → PwMultiAff
has_range_tuple_id(self) → bool
has_tuple_id(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

has_tuple_name(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

identity = <nanobind.nb_func object>
identity_on_domain_space = <nanobind.nb_func object>
insert_domain(self, domain: Space) → PwMultiAff
intersect_domain(self, set: Set | BasicSet) → PwMultiAff
intersect_domain_wrapped_domain(self, set: Set | BasicSet) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, set: Set | BasicSet) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → PwMultiAff
involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_locals(self) → bool
involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_param_id(self, id: Id) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_equal(self, pma2: PwMultiAff | MultiAff) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_multi_aff(self) → bool
max_multi_val(self) → MultiVal
min_multi_val(self) → MultiVal
multi_val_on_domain = <nanobind.nb_func object>
n_piece(self) → int
neg(self) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, pma2: PwMultiAff | MultiAff) → bool
preimage_domain_wrapped_domain_pw_multi_aff(self, pma2: PwMultiAff | MultiAff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

product(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
project_domain_on_params(self) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_out_map = <nanobind.nb_func object>
pullback_multi_aff(self, ma: MultiAff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_pw_multi_aff(self, pma2: PwMultiAff | MultiAff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_domain(self) → PwMultiAff
range_factor_range(self) → PwMultiAff
range_map = <nanobind.nb_func object>
range_product(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
read_from_str = <nanobind.nb_func object>
reset_tuple_id(self, type: dim_type) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_multi_val(self, mv: MultiVal) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_multi_val(self, mv: MultiVal) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_id(self, type: dim_type, pos: int, id: Id) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_pw_aff(self, pos: int, pa: PwAff | Aff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_range_tuple_id(self, id: Id) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
subtract_domain(self, set: Set | BasicSet) → PwMultiAff
to_list(self) → PwMultiAffList
to_multi_pw_aff(self) → MultiPwAff
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_union_pw_multi_aff(self) → UnionPwMultiAff
union_add(self, pma2: PwMultiAff | MultiAff) → PwMultiAff
union_lexmax(self, pma2: PwMultiAff | MultiAff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

union_lexmin(self, pma2: PwMultiAff | MultiAff) → PwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero = <nanobind.nb_func object>

Multiple Piecewise Affine Expression

class islpy.MultiPwAff(*args, **kwargs)
__eq__(other: object) → bool

Return self==value.

__hash__(self) → int

__hash__(self) -> int

Warning

This function is not part of the officially public isl API. Use at your own risk.

__len__(self) → int

__len__(self) -> int

__ne__(value, /)

Return self!=value.

add(self, multi2: MultiPwAff) → MultiPwAff
add_constant_multi_val(self, mv: MultiVal) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_constant_val(self, v: Val | int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

as_map(self) → Map
as_multi_aff(self) → MultiAff
as_set(self) → Set
bind(self, tuple: MultiId) → Set
bind_domain(self, tuple: MultiId) → MultiPwAff
bind_domain_wrapped_domain(self, tuple: MultiId) → MultiPwAff
coalesce(self) → MultiPwAff
copy(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → Set
domain_reverse(self) → MultiPwAff
drop_dims(self, type: dim_type, first: int, n: int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

eq_map(self, mpa2: MultiPwAff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

factor_range(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_id(self, type: dim_type, id: Id) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

flat_range_product(self, multi2: MultiPwAff) → MultiPwAff
flatten_range(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_aff = <nanobind.nb_func object>
from_multi_aff = <nanobind.nb_func object>
from_pw_aff = <nanobind.nb_func object>
from_pw_aff_list = <nanobind.nb_func object>
from_pw_multi_aff = <nanobind.nb_func object>
from_range(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_at(self, pos: int) → PwAff
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_dim_id(self, type: dim_type, pos: int) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_list(self) → PwAffList
get_pw_aff(self, pos: int) → PwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_range_tuple_id(self) → Id
get_space(self) → Space
get_tuple_id(self, type: dim_type) → Id

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_tuple_name(self, type: dim_type) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, set: Set | BasicSet) → MultiPwAff
gist_params(self, set: Set | BasicSet) → MultiPwAff
has_range_tuple_id(self) → bool
has_tuple_id(self, type: dim_type) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

identity = <nanobind.nb_func object>
identity_multi_pw_aff(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

identity_on_domain_space = <nanobind.nb_func object>
insert_dims(self, type: dim_type, first: int, n: int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

insert_domain(self, domain: Space) → MultiPwAff
intersect_domain(self, domain: Set | BasicSet) → MultiPwAff
intersect_params(self, set: Set | BasicSet) → MultiPwAff
involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool
involves_param_id(self, id: Id) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_param_id_list(self, list: IdList) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_cst(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_equal(self, mpa2: MultiPwAff) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_multi_aff(self) → bool
lex_ge_map(self, mpa2: MultiPwAff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_gt_map(self, mpa2: MultiPwAff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_le_map(self, mpa2: MultiPwAff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

lex_lt_map(self, mpa2: MultiPwAff) → Map

Warning

This function is not part of the officially public isl API. Use at your own risk.

max(self, multi2: MultiPwAff) → MultiPwAff
max_multi_val(self) → MultiVal
min(self, multi2: MultiPwAff) → MultiPwAff
min_multi_val(self) → MultiVal
mod_multi_val(self, mv: MultiVal) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

neg(self) → MultiPwAff
plain_is_equal(self, multi2: MultiPwAff) → bool
product(self, multi2: MultiPwAff) → MultiPwAff
project_domain_on_params(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_multi_aff(self, ma: MultiAff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_multi_pw_aff(self, mpa2: MultiPwAff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_pw_multi_aff(self, pma: PwMultiAff | MultiAff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_domain(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_range(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_is_wrapping(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_product(self, multi2: MultiPwAff) → MultiPwAff
range_splice(self, pos: int, multi2: MultiPwAff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_range_tuple_id(self) → MultiPwAff
reset_tuple_id(self, type: dim_type) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_multi_val(self, mv: MultiVal) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_multi_val(self, mv: MultiVal) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_at(self, pos: int, el: PwAff | Aff) → MultiPwAff
set_dim_id(self, type: dim_type, pos: int, id: Id) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_pw_aff(self, pos: int, el: PwAff | Aff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_range_tuple_id(self, id: Id) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_id(self, type: dim_type, id: Id) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_tuple_name(self, type: dim_type, s: str) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
splice(self, in_pos: int, out_pos: int, multi2: MultiPwAff) → MultiPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

sub(self, multi2: MultiPwAff) → MultiPwAff
to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

unbind_params_insert_domain(self, domain: MultiId) → MultiPwAff
union_add(self, mpa2: MultiPwAff) → MultiPwAff
zero = <nanobind.nb_func object>

Union of Piecewise Multiple Affine Expressions

class islpy.UnionPwMultiAff(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff
add_pw_multi_aff(self, pma: PwMultiAff | MultiAff) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

apply_union_pw_multi_aff(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

as_multi_union_pw_aff(self) → MultiUnionPwAff
as_pw_multi_aff(self) → PwMultiAff
as_union_map(self) → UnionMap
coalesce(self) → UnionPwMultiAff
copy(self) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → UnionSet
drop_dims(self, type: dim_type, first: int, n: int) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → UnionPwMultiAff
dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

empty = <nanobind.nb_func object>
empty_ctx = <nanobind.nb_func object>
empty_space = <nanobind.nb_func object>
every_pw_multi_aff(self, test: Callable[[PwMultiAff], bool]) → bool
Parameters:

test – callback(pma)

Warning

This function is not part of the officially public isl API. Use at your own risk.

extract_pw_multi_aff(self, space: Space) → PwMultiAff
find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

flat_range_product(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff
foreach_pw_multi_aff(self, fn: Callable[[PwMultiAff], None]) → None
Parameters:

fn – callback(pma)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_aff = <nanobind.nb_func object>
from_domain = <nanobind.nb_func object>
from_multi_aff = <nanobind.nb_func object>
from_multi_union_pw_aff = <nanobind.nb_func object>
from_pw_multi_aff = <nanobind.nb_func object>
from_union_map = <nanobind.nb_func object>
from_union_pw_aff = <nanobind.nb_func object>
from_union_set = <nanobind.nb_func object>
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pw_multi_aff_list(self) → PwMultiAffList
get_space(self) → Space
get_union_pw_aff(self, pos: int) → UnionPwAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: UnionSet | BasicSet | Set) → UnionPwMultiAff
gist_params(self, context: Set | BasicSet) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_space(self, space: Space) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff
intersect_domain_wrapped_range(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff
intersect_params(self, set: Set | BasicSet) → UnionPwMultiAff
involves_locals(self) → bool
involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_pw_multi_aff(self) → bool
multi_val_on_domain = <nanobind.nb_func object>
n_pw_multi_aff(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

neg(self) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_empty(self) → bool
plain_is_equal(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → bool
preimage_domain_wrapped_domain_union_pw_multi_aff(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

pullback_union_pw_multi_aff(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

range_factor_domain(self) → UnionPwMultiAff
range_factor_range(self) → UnionPwMultiAff
range_product(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff
read_from_str = <nanobind.nb_func object>
reset_user(self) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, val: Val | int) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_multi_val(self, mv: MultiVal) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, val: Val | int) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff
subtract_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_space(self, space: Space) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwMultiAff

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_list(self) → UnionPwMultiAffList

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

union_add(self, upma2: UnionPwMultiAff | MultiAff | PwMultiAff) → UnionPwMultiAff

Quasipolynomials

Term

class islpy.Term
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

copy(self) → Term

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_coefficient_val(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_div(self, pos: int) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_exp(self, type: dim_type, pos: int) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

QPolynomial

class islpy.QPolynomial
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add(self, qp2: QPolynomial) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

as_aff(self) → Aff

Warning

This function is not part of the officially public isl API. Use at your own risk.

as_polynomial_on_domain(self, bset: BasicSet, fn: Callable[[BasicSet, QPolynomial], None]) → None
Parameters:

fn – callback(bset, poly)

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain_reverse(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_dims(self, type: dim_type, first: int, n: int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

eval(self, pnt: Point) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_term(self, fn: Callable[[Term], None]) → None
Parameters:

fn – callback(term)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_aff = <nanobind.nb_func object>
from_constraint = <nanobind.nb_func object>
from_term = <nanobind.nb_func object>
get_constant_val(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_terms() → list[Term]

Get the list of Term instances in this QPolynomial.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

homogenize(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

infty_on_domain = <nanobind.nb_func object>
insert_dims(self, type: dim_type, first: int, n: int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_infty(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_neginfty(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_zero(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_aff(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

mul(self, qp2: QPolynomial) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

nan_on_domain = <nanobind.nb_func object>
neg(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

neginfty_on_domain = <nanobind.nb_func object>
one_on_domain = <nanobind.nb_func object>
plain_is_equal(self, qp2: QPolynomial) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

pow(self, power: int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_domain_on_params(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

sgn(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, qp2: QPolynomial) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_list(self) → QPolynomialList

Warning

This function is not part of the officially public isl API. Use at your own risk.

val_on_domain = <nanobind.nb_func object>
var_on_domain = <nanobind.nb_func object>
zero_on_domain = <nanobind.nb_func object>

PwQPolynomial

class islpy.PwQPolynomial(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add(self, pwqp2: PwQPolynomial) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_dims(self, type: dim_type, n: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_disjoint(self, pwqp2: PwQPolynomial) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

alloc = <nanobind.nb_func object>
as_qpolynomial(self) → QPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

bound(self, type: fold) → tuple[PwQPolynomialFold, bool]

Warning

This function is not part of the officially public isl API. Use at your own risk.

coalesce(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → Set
domain_reverse(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_dims(self, type: dim_type, first: int, n: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

eval(self, pnt: Point) → Val
eval_with_dict(value_dict: Mapping[str, int | Val]) → int

Evaluates self for the parameters specified by value_dict, which maps parameter names to their values.

every_piece(self, test: Callable[[Set, QPolynomial], bool]) → bool
Parameters:

test – callback(set, qp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

fix_val(self, type: dim_type, n: int, v: Val | int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_lifted_piece(self, fn: Callable[[Set, QPolynomial], None]) → None
Parameters:

fn – callback(set, qp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_piece(self, fn: Callable[[Set, QPolynomial], None]) → None
Parameters:

fn – callback(set, qp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_pw_aff = <nanobind.nb_func object>
from_qpolynomial = <nanobind.nb_func object>
from_range(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_aggregate_domain() → Set
Returns:

a Set that is the union of the domains of all pieces

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pieces() → list[tuple[Set, QPolynomial]]
Returns:

list of (Set, QPolynomial)

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

has_equal_space(self, pwqp2: PwQPolynomial) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

insert_dims(self, type: dim_type, first: int, n: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, set: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, set: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, set: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_dims(self, type: dim_type, first: int, n: int) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_param_id(self, id: Id) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_zero(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_qpolynomial(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

max(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

min(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

mul(self, pwqp2: PwQPolynomial) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

n_piece(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

neg(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, pwqp2: PwQPolynomial) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

pow(self, exponent: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_domain_on_params(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_domain_space(self, space: Space) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
split_dims(self, type: dim_type, first: int, n: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

split_periods(self, max_periods: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

sub(self, pwqp2: PwQPolynomial) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain(self, set: Set | BasicSet) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_list(self) → PwQPolynomialList

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_polynomial(self, sign: int) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_union_pw_qpolynomial(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero = <nanobind.nb_func object>

UnionPwQPolynomial

class islpy.UnionPwQPolynomial(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add(self, upwqp2: UnionPwQPolynomial) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_pw_qpolynomial(self, pwqp: PwQPolynomial) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

bound(self, type: fold) → tuple[UnionPwQPolynomialFold, bool]

Warning

This function is not part of the officially public isl API. Use at your own risk.

coalesce(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → UnionSet
domain_reverse(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_dims(self, type: dim_type, first: int, n: int) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

eval(self, pnt: Point) → Val
every_pw_qpolynomial(self, test: Callable[[PwQPolynomial], bool]) → bool
Parameters:

test – callback(pwqp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

extract_pw_qpolynomial(self, space: Space) → PwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_pw_qpolynomial(self, fn: Callable[[PwQPolynomial], None]) → None
Parameters:

fn – callback(pwqp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_pw_qpolynomial = <nanobind.nb_func object>
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pw_qpolynomial_list(self) → PwQPolynomialList

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_space(self, space: Space) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

mul(self, upwqp2: UnionPwQPolynomial) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

n_pw_qpolynomial(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

neg(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, upwqp2: UnionPwQPolynomial) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_user(self) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
sub(self, upwqp2: UnionPwQPolynomial) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_space(self, space: Space) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_polynomial(self, sign: int) → UnionPwQPolynomial

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_str(self) → str

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero = <nanobind.nb_func object>
zero_ctx = <nanobind.nb_func object>
zero_space = <nanobind.nb_func object>

QPolynomialFold

class islpy.QPolynomialFold
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

alloc = <nanobind.nb_func object>
copy(self) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

empty = <nanobind.nb_func object>
eval(self, pnt: Point) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

fold(self, fold2: QPolynomialFold) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_qpolynomial(self, fn: Callable[[QPolynomial], None]) → None
Parameters:

fn – callback(qp)

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_type(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_empty(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, fold2: QPolynomialFold) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space

PwQPolynomial

class islpy.PwQPolynomialFold(*args, **kwargs)
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__len__(self) → int

__len__(self) -> int

Warning

This function is not part of the officially public isl API. Use at your own risk.

__ne__(_other: object) → bool

Return self!=value.

add(self, pwf2: PwQPolynomialFold) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

add_disjoint(self, pwf2: PwQPolynomialFold) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

alloc = <nanobind.nb_func object>
as_qpolynomial_fold(self) → QPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

bound(self) → tuple[PwQPolynomialFold, bool]

Warning

This function is not part of the officially public isl API. Use at your own risk.

coalesce(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → Set

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_dims(self, type: dim_type, first: int, n: int) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

dump(self) → None

Warning

This function is not part of the officially public isl API. Use at your own risk.

eval(self, pnt: Point) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

every_piece(self, test: Callable[[Set, QPolynomialFold], bool]) → bool
Parameters:

test – callback(set, fold)

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

fix_val(self, type: dim_type, n: int, v: Val | int) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

fold(self, pwf2: PwQPolynomialFold) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_lifted_piece(self, fn: Callable[[Set, QPolynomialFold], None]) → None
Parameters:

fn – callback(set, fold)

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_piece(self, fn: Callable[[Set, QPolynomialFold], None]) → None
Parameters:

fn – callback(set, fold)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_pw_qpolynomial = <nanobind.nb_func object>
from_qpolynomial_fold = <nanobind.nb_func object>
from_range(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_domain_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_type(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

has_equal_space(self, pwf2: PwQPolynomialFold) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, set: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, set: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, set: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_param_id(self, id: Id) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

is_zero(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

isa_qpolynomial_fold(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

max(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

min(self) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

move_dims(self, dst_type: dim_type, dst_pos: int, src_type: dim_type, src_pos: int, n: int) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

n_piece(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, pwf2: PwQPolynomialFold) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

project_domain_on_params(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

read_from_str = <nanobind.nb_func object>
reset_space(self, space: Space) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
subtract_domain(self, set: Set | BasicSet) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_list(self) → PwQPolynomialFoldList

Warning

This function is not part of the officially public isl API. Use at your own risk.

to_union_pw_qpolynomial_fold(self) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero = <nanobind.nb_func object>

UnionPwQPolynomialFold

class islpy.UnionPwQPolynomialFold
__eq__(_other: object) → bool

Return self==value.

__hash__()

Return hash(self).

__ne__(_other: object) → bool

Return self!=value.

add_union_pw_qpolynomial(self, upwqp: UnionPwQPolynomial) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

align_params(self, model: Space) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

coalesce(self) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

copy(self) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

dim(self, type: dim_type) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

domain(self) → UnionSet

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_dims(self, type: dim_type, first: int, n: int) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

drop_unused_params(self) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

eval(self, pnt: Point) → Val

Warning

This function is not part of the officially public isl API. Use at your own risk.

every_pw_qpolynomial_fold(self, test: Callable[[PwQPolynomialFold], bool]) → bool
Parameters:

test – callback(pwf)

Warning

This function is not part of the officially public isl API. Use at your own risk.

extract_pw_qpolynomial_fold(self, space: Space) → PwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

find_dim_by_name(self, type: dim_type, name: str) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

fold(self, upwf2: UnionPwQPolynomialFold) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

fold_pw_qpolynomial_fold(self, pwqp: PwQPolynomialFold) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

foreach_pw_qpolynomial_fold(self, fn: Callable[[PwQPolynomialFold], None]) → None
Parameters:

fn – callback(pwf)

Warning

This function is not part of the officially public isl API. Use at your own risk.

from_pw_qpolynomial_fold = <nanobind.nb_func object>
get_ctx(self) → Context

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_id_dict(dimtype: dim_type | None = None) → Mapping[Id, tuple[dim_type, int]]

Return a dictionary mapping Id instances to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_pw_qpolynomial_fold_list(self) → PwQPolynomialFoldList

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_space(self) → Space

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_type(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

get_var_dict(dimtype: dim_type | None = None) → Mapping[str, tuple[dim_type, int]]

Return a dictionary mapping variable names to tuples of (dim_type, index).

Parameters:

dimtype – None to get all variables, otherwise one of dim_type.

get_var_ids(dimtype: dim_type) → Sequence[str | None]

Return a list of Id instances for dim_type dimtype.

get_var_names(dimtype: dim_type) → Sequence[str | None]

Return a list of dim names (in order) for dim_type dimtype.

get_var_names_not_none(dimtype: dim_type) → Sequence[str]

Return a list of dim names (in order) for dim_type dimtype.

Raise ValueError if any of the names is None.

Added in version 2025.2.5.

gist(self, context: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

gist_params(self, context: Set | BasicSet) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_space(self, space: Space) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_domain_wrapped_range(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

intersect_params(self, set: Set | BasicSet) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

involves_nan(self) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

n_pw_qpolynomial_fold(self) → int

Warning

This function is not part of the officially public isl API. Use at your own risk.

plain_is_equal(self, upwf2: UnionPwQPolynomialFold) → bool

Warning

This function is not part of the officially public isl API. Use at your own risk.

reset_user(self) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_down_val(self, v: Val | int) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

scale_val(self, v: Val | int) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

set_dim_name(self, type: dim_type, pos: int, s: str) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

property space
subtract_domain(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_space(self, space: Space) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

subtract_domain_union_set(self, uset: UnionSet | BasicSet | Set) → UnionPwQPolynomialFold

Warning

This function is not part of the officially public isl API. Use at your own risk.

zero = <nanobind.nb_func object>
zero_ctx = <nanobind.nb_func object>
zero_space = <nanobind.nb_func object>