torch_openreml.covariance.transform.TransformIdentity

class torch_openreml.covariance.transform.TransformIdentity[source]

Bases: Transform

Identity transform.

\[f(x) = x\]

Initialize the identity transform.

Methods

__call__(x)

Apply the identity transform.

grad(x)

Compute derivative of \(f(x) = x\) for chain rule propagation.

inverse(x)

Apply the inverse transform (identity).

Attributes

codomain

Codomain of the transform.

domain

Domain of the transform.

domain = 'ℝ'

Domain of the transform.

codomain = 'ℝ'

Codomain of the transform.

__call__(x)[source]

Apply the identity transform.

Parameters:

x (torch.Tensor) – Input tensor in \(\mathbb{R}\).

Returns:

Unchanged input \(x\).

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformIdentity

t = TransformIdentity()
x = torch.tensor([0.0, 1.0, -3.5])
t(x)
tensor([ 0.0000,  1.0000, -3.5000])
inverse(x)[source]

Apply the inverse transform (identity).

Parameters:

x (torch.Tensor) – Input tensor in \(\mathbb{R}\).

Returns:

Unchanged input \(x\).

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformIdentity

t = TransformIdentity()
x = torch.tensor([2.0, -1.0])
t.inverse(x)
tensor([ 2., -1.])
grad(x)[source]

Compute derivative of \(f(x) = x\) for chain rule propagation.

Parameters:

x (torch.Tensor) – Input tensor.

Returns:

[1.0]

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformIdentity

t = TransformIdentity()
x = torch.tensor([0.0])
t.grad(x)
tensor([1.])