algebraixlib.mathobjects.multiset module¶
Provide the class Multiset
; it represents a multiset.
-
class
algebraixlib.mathobjects.multiset.
Multiset
(*args, direct_load=False)[source]¶ Bases:
algebraixlib.mathobjects.mathobject.MathObject
A multiset consisting of zero or more different
MathObject
instances.Parameters: - args – Zero or more unnamed arguments that are placed into the created
Multiset
. If you want to pass in an iterable, you need to prefix it with an asterisk*
. If no argument is given or the given iterable is empty, an empty multiset is created. (A Python string of typestr
is an iterable, but it is considered a single, non-iterable argument.) Arguments of typeCounter
are loaded directly, and arguments of typedict
must map values or instances ofMathObject
to integers; the integers are interpreted as multiplicity values for the given keys. (In order to create aMultiset
that contains aCounter
ordict
, put theCounter
ordict
in anAtom
or an array first.) - direct_load – (Optional) Set to
True
if you know that all arguments (or all elements of the iterable) are instances ofMathObject
.
-
data
¶ Read-only; return the elements of this instance as a
Counter
ofMathObject
instances.
-
has_element
(elem: algebraixlib.mathobjects.mathobject.MathObject) → bool[source]¶ Return whether
elem
is an element of this multiset.elem
must be aMathObject
.For a more relaxed version (that auto-converts non-
MathObject
arguments into instances ofAtom
) see__contains__
and the constructelem in Multiset
.
-
get_multiplicity
(elem: algebraixlib.mathobjects.mathobject.MathObject) → int[source]¶ Return
int
ifelem
is an element of thisMultiset
where the value is the number of multiples forelem
.elem
must be aMathObject
.
-
get_ground_set
() → algebraixlib.structure.Structure[source]¶ Return the ground set of the lowest-level algebra of this
Multiset
.
-
__contains__
(item)[source]¶ Return
True
ifitem
is a member of this multiset. Ifitem
is not aMathObject
, it is converted into anAtom
.This allows Boolean expressions of the form
element in Multiset
.
-
__getitem__
(left)[source]¶ With the syntax
mo[left]
, return a set of rights associated withleft
.Parameters: left – The left component of the couplet(s) of which the right component(s) are returned. Returns: If self
is a multi-relation, return a multiset that contains the right(s) of the couplet(s) that have a left component that matchesleft
. (The returned multiset may be empty if no couplet with the given left exists.) ReturnUndef()
ifself
is not a multi-relation.
- args – Zero or more unnamed arguments that are placed into the created