---
title: Minkowski Distance
description: Calculate pairwise minkowski distances.
canonical: 'https://lightning.ai/docs/torchmetrics/stable/pairwise/minkowski_distance'
---
# Minkowski Distance {#minkowski-distance}

## Functional Interface {#functional-interface}

### `torchmetrics.functional.pairwise_minkowski_distance(x, y=None, exponent=2, reduction=None, zero_diagonal=None)` {#torchmetrics.functional.pairwise_minkowski_distance}

[\[source\]](https://github.com/Lightning-AI/torchmetrics/blob/v1.9.0/src/torchmetrics/functional/pairwise/minkowski.py#L49-L93)

Calculate pairwise minkowski distances.

```math
d_{minkowski}(x,y,p) = ||x - y||_p = \sqrt[p]{\sum_{d=1}^D (x_d - y_d)^p}
```

If both $`x`$ and $`y`$ are passed in, the calculation will be performed pairwise between the rows of $`x`$ and $`y`$. If only $`x`$ is passed in, the calculation will be performed between the rows of $`x`$.

Parameters:

*   **x** ([`Tensor`](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "(in PyTorch v2.15)")) – Tensor with shape `[N, d]`
    
*   **y** ([`Optional`](https://docs.python.org/3/library/typing.html#typing.Optional "(in Python v3.15)")\[[`Tensor`](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "(in PyTorch v2.15)")\]) – Tensor with shape `[M, d]`, optional
    
*   **exponent** ([`float`](https://docs.python.org/3/builtins/functions.html#float "(in Python v3.15)")) – int or float larger than 1, exponent to which the difference between preds and target is to be raised
    
*   **reduction** ([`Optional`](https://docs.python.org/3/library/typing.html#typing.Optional "(in Python v3.15)")\[[`Literal`](https://docs.python.org/3/library/typing.html#typing.Literal "(in Python v3.15)")\[`'mean'`, `'sum'`, `'none'`, `None`\]\]) – reduction to apply along the last dimension. Choose between ‘mean’, ‘sum’ (applied along column dimension) or ‘none’, None for no reduction
    
*   **zero\_diagonal** ([`Optional`](https://docs.python.org/3/library/typing.html#typing.Optional "(in Python v3.15)")\[[`bool`](https://docs.python.org/3/builtins/functions.html#bool "(in Python v3.15)")\]) – if the diagonal of the distance matrix should be set to 0. If only x is given this defaults to True else if y is also given it defaults to False
    

Return type:

[`Tensor`](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "(in PyTorch v2.15)")

Returns:

A `[N,N]` matrix of distances if only `x` is given, else a `[N,M]` matrix

Example

```python
>>> import torch
>>> from torchmetrics.functional.pairwise import pairwise_minkowski_distance
>>> x = torch.tensor([[2, 3], [3, 5], [5, 8]], dtype=torch.float32)
>>> y = torch.tensor([[1, 0], [2, 1]], dtype=torch.float32)
>>> pairwise_minkowski_distance(x, y, exponent=4)
tensor([[3.0092, 2.0000],
        [5.0317, 4.0039],
        [8.1222, 7.0583]])
>>> pairwise_minkowski_distance(x, exponent=4)
tensor([[0.0000, 2.0305, 5.1547],
        [2.0305, 0.0000, 3.1383],
        [5.1547, 3.1383, 0.0000]])
```

---

**Navigation**

- Parent: [Pairwise](/docs/torchmetrics/1.9.0/pairwise.md)
