Field of real numbers
This functionality does not run in MATLAB.
Dom::Real(x
)
Dom::Real
is the field of real numbers represented
by elements of the kernel domains DOM_INT
, DOM_RAT
, DOM_FLOAT
,
and DOM_EXPR
.
Dom::Real
is the domain of real numbers represented
by expressions of type DOM_INT
, DOM_RAT
or DOM_FLOAT
.
An expression of type DOM_EXPR
is considered as
a real number if it is of type Type::Arithmetical
and if it contains
no indeterminates which are not of type Type::ConstantIdents
and if it contains
no imaginary part. See Example 2.
Dom::Real
has category Cat::Field
due to practical reasons. This
domain actually is not a field because bool(1.0 = 1e100 +
1.0  1e100)
returns FALSE
for example.
Elements may not have an unique representation, for example bool(0
= sin(2)^2 + cos(2)^2  1)
returns FALSE
.
Elements of Dom::Real
are usually not created
explicitly. However, if one creates elements using the usual syntax,
it is checked whether the input expression can be converted to a number.
This means Dom::Real
is a façade domain which
creates elements of domain type DOM_INT
, DOM_RAT
, DOM_FLOAT
,
or DOM_EXPR
.
Dom::Real
has no normal representation, because 0
and 0.0
both
represent zero.
Viewed as a differential ring, Dom::Real
is
trivial, it contains constants only.
Dom::Real
has the domain Dom::Complex
as its super domain, i.e.,
it inherits each method which is defined by Dom::Complex
and
not reimplemented by Dom::Real
. Methods described
below are reimplemented by Dom::Real
.
Ax::systemRep
, Ax::canonicalOrder
, Ax::efficientOperation
("_divide")
, Ax::efficientOperation
("_mult")
, Ax::efficientOperation
("_invert")
The following lines demonstrate how to generate elements of Dom::Real
.
The rational and the floatingpoint numbers are elements of the real
numbers:
Dom::Real(2/3)
Dom::Real(0.5666)
The numbers PI
and sin(2)
are
real numbers whereas sin(2/3 * I) + 3
and sin(x)
for
general symbolic x
are not real numbers. If we
try to create the elements Dom::Real(sin(2/3 * I) + 3)
and Dom::Real(sin(x))
an
error message is produced.
Dom::Real(PI)
Dom::Real(sin(2))
Dom::Real(sin(2/3 * I) + 3)
Error: The arguments are invalid. [Dom::Real::new]
Dom::Real(sin(x))
Error: The arguments are invalid. [Dom::Real::new]

An expression of type 