Close
Close window
MultiSet - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.
Maplesoft logo
Maplesoft logo

Online Help

All Products Maple MapleSim


[フレーム] [フレーム]

MultiSet

overview of MultiSets

Calling Sequence

MultiSet( element_spec, ... )

MultiSet['generalized']( element_spec, ... )

Parameters

element_spec

-

specifies the MultiSet elements and their multiplicities

generalized

-

literal index which indicates that a generalized MultiSet should be constructed

Description

A MultiSet is a data structure which stores and manipulates an unordered collection of elements which may be repeated. It is implemented as a Maple object . The procedure exports of a MultiSet are used to create, update, query and otherwise interact with one or more MultiSet objects.

A MultiSet can be constructed from another MultiSet, from a set or list of elements, or from an expression sequence of elements with their multiplicities:

If M is a MultiSet, then MultiSet(M) produces a new MultiSet with the same elements and multiplicities.

If L is a Maple list or set of two-element lists, where the second element of each list is a non-negative integer (normal case) or real number (generalized case), then MultiSet(L) is a MultiSet whose elements are the first elements of each list with multiplicities given by the corresponding second elements of each list.

If L is any other Maple list, then MultiSet(L) is a MultiSet of the same elements, with multiplicities the same as in L.

If S is any other Maple set, then MultiSet(S) is a MultiSet of the same elements, each with multiplicity 1.

Each of the expressions M( a, b=2, c=3 ) and M( a, [b, 2], [c, 3] ) constructs a MultiSet in which the element a has multiplicity 1, b has multiplicity 2 and c has multiplicity 3. Here a, b, and c can be any Maple expressions.

Multiplicities must be non-negative integers, unless the generalized index is provided on the constructor, in which case arbitrary (real) numeric multiplicities are also permitted. An element with multiplicity 0 is removed from its MultiSet.

MultiSets are displayed using a set-of-lists-of-pairs notation, but MultiSets are not sets in the usual Maple sense. The convert command can be used to realize a MultiSet in a variety of different alternate formats.

To test whether an expression is a MultiSet, use type(..., MultiSet).

To iterate over a MultiSet, see MultiSet Iteration .

For commands which operate on more than one MultiSet, for example intersect , at least one operand must be a MultiSet. Other operands can be MultiSets, sets or lists; a non-MultiSet operand will be converted to a MultiSet before the operation is carried out.

Generalized and standard (non-generalized) MultiSets cannot be combined in commands which operate on more than one MultiSet. Note that this means that if a generalized MultiSet appears in an operation, for example, union , with another argument which is not a MultiSet (for example, a list or set), then that other argument will be converted to a generalized MultiSet before proceeding with the operation.

The command IsGeneralized(M) can be used to determine if a MultiSet is generalized or not.

List of MultiSet Object Commands

The following is a list of the commands which work with MultiSet objects.

Examples

>

MMultiSeta=2,b,4,c

Ma,2,b,4,c,1

(1)
>

NMultiSetgeneralizedx,4,y,32,z,2

Nx,4,y,32,z,−2

(2)
>

evalbM=MultiSetEntriesM

true

(3)
>

EntriesM

a,2,b,4,c,1

(4)

Compatibility

The MultiSet object was introduced in Maple 2016.

For more information on Maple 2016 changes, see Updates in Maple 2016 .


Download Help Document

AltStyle によって変換されたページ (->オリジナル) /