Type representing arithmetical objects
This functionality does not run in MATLAB.
testtype(obj
, Type::Arithmetical
)
Type::Arithmetical
represents arithmetical
objects.
In MuPAD^{®}, arithmetical objects are objects that represent complex
numbers if all identifiers in them also represent complex numbers.
Arithmetical objects include numbers, most expressions, and elements
of certain library domains. In particular, the latter include rectform
objects and
series expansions of domain type Series::Puiseux
.
Certain infinite objects such as dirac(0)
, infinity
, or complexInfinity
are
also defined to be arithmetical expressions.
The following objects are not regarded as arithmetical objects:
equations and inequalities,
Boolean objects and Boolean expressions involving and
, or
, not
,
lists,
polynomials of domain type DOM_POLY
,
functions and procedures,
arrays and tables.
This type does not represent a property: it cannot be used in assume
to mark an identifier
as an arithmetical object.
The expression may represent a matrix if A and B are matrices, or it may represent a number if A and B are numbers. However, MuPAD regards identifiers as numbers: hence they commute with each other, and a product of identifiers represents a number, too:
A^(1) * B * A * B
testtype(%, Type::Arithmetical)
Numbers and expressions are regarded as arithmetical objects:
testtype(3 + I, Type::Arithmetical), testtype(x + sqrt(2) + I*PI, Type::Arithmetical), testtype(x/y + y/x, Type::Arithmetical)
Equations and inequalities are not regarded as arithmetical objects:
testtype(x^2 = 2, Type::Arithmetical), testtype(x <> 2, Type::Arithmetical), testtype(x < 2, Type::Arithmetical), testtype(x >= 2, Type::Arithmetical)
Sets, lists, tables and arrays are not arithmetical:
testtype({a, b, c}, Type::Arithmetical), testtype(array(1..1, [x]), Type::Arithmetical)
Most domain objects such as matrices of some matrix domain are not arithmetical:
testtype(Dom::Matrix()([[1, 2], [3, 4]]), Type::Arithmetical)

Any MuPAD object 
See testtype