Domain of images of sets under mappings
Dom::ImageSet(f, x, S)
Dom::ImageSet(f, [x1, …], [S1, …])
Dom::ImageSet is the domain of all sets of complex numbers that can be written as the set of all values taken on by some mapping, i.e., sets of the form for some function f and some sets S1, …, Sn.
Image sets are mainly used by solve to express sets like .
Dom::ImageSet belongs to the category Cat::Set—arithmetical and set-theoretic operations are inherited from there.
Dom::ImageSet(f, x, S) represents the set of all values that can be obtained by substituting some element of S for x in the expression f.
Dom::ImageSet(f, [x1, ...], [S1, ...]) represents the set of all values that can be obtained by substituting, for each i, the identifier xi by some element of Si in the expression f.
Dom::ImageSet(f, x, S) represents the set . Dom::ImageSet(f, [x1, ..., xn], [S1, ..., Sn]) represents the set .
f need not contain x; on the other hand, it may contain other identifiers (free variables).
If a list of several identifiers is given, the identifiers must be distinct.
S must be a set; see solve for an overview of the different kinds of sets in MuPAD®.
Dom::ImageSet carries out some automatical simplifications that may produce a result of a type different from Dom::ImageSet.
Dom::ImageSet renames the variables x1, ..., xn, in order to avoid naming conflicts as well as producing a nicer output.
We define S to be the set of all integer multiples of π.
S:= Dom::ImageSet(ugly*PI, ugly, Z_)
Our ugly variable name has been replaced by a nicer one which suggests that it represents an integer.
We may now apply the usual set-theoretic operations.
S intersect Dom::Interval(3..7)
An element of an image set may be obtained by substituting all parameters by some values:
S:= Dom::ImageSet(a^7 + b^3 + C, [a, b], [Z_, Z_])
On calling the evalParam method, we have to take care that the variable names have been replaced.
Dom::ImageSet::evalParam(S, k = 3, l = 5)
The same may be achieved using the index operator:
Substituting only for one parameter, we obtain an image set in the other parameter:
Dom::ImageSet::evalParam(S, k = 3)
A parameter may be substituted by itself, meaning that it becomes a free variable:
Dom::ImageSet::evalParam(S, k = k)
The evalParam method cannot be used to substitute a free variable:
Dom::ImageSet::evalParam(S, C = 3)
changevar(A, oldvar, newvar)
The new variable newvar must not equal any element of the list of variables; this is not checked!
For an argument A that is not an image set, the method "setvar" is applied to all image sets contained in the expression A. A might be, for example, a union, intersection, etc. of image sets and other sets.
Op must accept arithmetical expressions as arguments.
substituteBySet(a, x, A)
If , the xi are called bound and the yi are called free parameters.
Use the slot "variables" to obtain the bound parameters.
evalParam(A(x = value, …))
If x is not a parameter, but a free variable of A, it is not substituted by value.
value may be an identifier or contain identifiers; in particular, it may contain x and/or some of the remaining parameters. This may be used to convert parameters into free variables.
Several parameters may be replaced in a single call.
See Example 2.
_index(A, value1, …)
The number of values passed must match the number of variables of A.
It is not checked whether for each i, the value for the ith parameter belongs to the ith set.
See Example 2.
The free parameters (identifiers appearing in f other than the xi) can be obtained using the "freeIndets" slot.