# kroneckerDelta

Kronecker's delta symbol

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```kroneckerDelta(`m`, <`n`>)
```

## Description

`kroneckerDelta(m, n)` is Kronecker's delta symbol. It represents 1 if m = n and 0 if mn.

`kroneckerDelta(m)` represents 1 if m = 0 and 0 if m ≠ 0.

The calls `kroneckerDelta(m, n)` and ```kroneckerDelta(m - n)``` are equivalent.

`kroneckerDelta(m, n)` yields `1 `if the arguments `m`, `n` coincide.

It yields `0` if `m - n` yields a non-zero numerical value.

If either `m` or `n` contain symbolic objects and `m - n` does not yield a numerical value, then the symbolic call `kroneckerDelta(m, n)` or the equivalent call `kroneckerDelta(n, m)` is returned.

Floating point numbers such as 1.0, 2.0 etc. are treated like integers.

Note that `kroneckerDelta(m,n)` = `kroneckerDelta(n,m)` for arbitary arguments `m`, `n`. In symbolic return values, the ordering of the input arguments may be exchanged.

`kroneckerDelta` is used and processed by `sum` and `ztrans`, `iztrans`.

## Examples

### Example 1

`kroneckerDelta` returns 1 or 0, respectively, for arguments that definitely coincide or do not coincide:

```kroneckerDelta(2, 2), kroneckerDelta(n, n), kroneckerDelta(2, 3), kroneckerDelta(n - 1, n + 1)```

A symbolic call is returned if the system cannot decide whether the arguments coincide:

`kroneckerDelta(m, n), kroneckerDelta(m, 3), kroneckerDelta(3, n)`

### Example 2

`kroneckerDelta` is processed by `sum`:

`sum(a[n]*kroneckerDelta(n, 3), n = 0..infinity)`

`sum(a[n]*kroneckerDelta(n, m), n = 0..infinity)`

`iztrans` may produce terms involving `kroneckerDelta`:

`iztrans(1/(z - 1), z, n)`

`ztrans(%, n, z)`

## Parameters

 `m, n` arithmetical expressions. The default value for `n` is 0.

## Return Values

Arithmetical expression.

`m`, `n`