Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# Dom::Natural

Semi-ring of natural integer numbers

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```Dom::Natural(x)
```

## Description

Dom::Natural is the semi-ring of integer numbers represented by elements of the domain DOM_INT.

Dom::Natural is the domain of natural integer numbers represented by expressions of type DOM_INT.

Elements of Dom::Natural are usually not created explicitly. However, if one creates elements using the usual syntax, it is checked whether the input is an integer number. This means that Dom::Natural is a façade domain which creates elements of domain type DOM_INT.

Viewed as a differential ring Dom::Natural is trivial, it contains constants only.

Dom::Natural has the domain Dom::Numerical as its super domain, i.e., it inherits each method which is defined by Dom::Numerical and not re-implemented by Dom::Natural. Methods described below are those implemented by Dom::Natural.

Dom::Numerical

## Examples

### Example 1

Creating some integer numbers using Dom::Natural. This example also shows that Dom::Natural is a façade domain.

`Dom::Natural(2); domtype(%)`

`Dom::Natural(2/3)`
```Error: The arguments are invalid. [Dom::Natural::new]
```

### Example 2

By tracing the method Dom::Natural::testtypeDom we can see the interaction between testtype and Dom::Natural::testtypeDom.

```prog::trace(Dom::Natural::testtypeDom):
delete x:
testtype(x, Dom::Natural);
testtype(3, Dom::Natural);
prog::untrace(Dom::Natural::testtypeDom):```
```enter Dom::Natural::testtypeDom(x, Dom::Natural)
computed FAIL
```

```
enter Dom::Natural::testtypeDom(3, Dom::Natural)
computed TRUE
```

## Parameters

 x An integer

expand all

## Mathematical Methods

_divide(x, y)

_divides(x, y)

### euclideanDegree — Euclidean degree

euclideanDegree(x)

factor(x)

gcd(x1, x2, …)

gcdex(x, y)

_invert(x)

irreducible(x)

isUnit(x)

lcm(x1, x2, …)

quo(x, y)

### random — Random number generation

random()

random(n)

random(m, …, n)

This methods returns a random number between 0 and n - 1.

This methods returns a random number between m and n.

rem(x, y)

unitNormal(x)

unitNormalRep(x)

## Conversion Methods

convert(x)

### convert_to — Conversion to other domains

convert_to(x, T)

The following domains are allowed for for T: DOM_INT, Dom::Natural, Dom::Rational, DOM_FLOAT, Dom::Float and Dom::Numerical.

### testtype — Type checking

testtype(x, T)

Usually, this method is called from the function testtype and not directly by the user. Example 2 demonstrates this behavior.