torch_openreml.covariance.transform.TransformExp10

class torch_openreml.covariance.transform.TransformExp10[source]

Bases: Transform

Base-10 exponential transform.

\[f(x) = 10^x\]

Initialize base-10 exponential transform.

Methods

__call__(x)

Apply base-10 exponential transform.

grad(x)

Compute derivative of \(10^x\).

inverse(x)

Apply inverse base-10 logarithm.

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 base-10 exponential transform.

Parameters:

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

Returns:

\(10^x\).

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformExp10

t = TransformExp10()
x = torch.tensor([0.0, 1.0])
t(x)
tensor([ 1., 10.])
inverse(x)[source]

Apply inverse base-10 logarithm.

Parameters:

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

Returns:

\(\log_{10}(x)\).

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformExp10

t = TransformExp10()
x = torch.tensor([1.0, 10.0])
t.inverse(x)
tensor([0., 1.])
grad(x)[source]

Compute derivative of \(10^x\).

Note

\[\frac{d}{dx} 10^x = 10^x \ln 10\]
Parameters:

x (torch.Tensor) – Input tensor.

Returns:

\(10^x \ln 10\).

Return type:

torch.Tensor

Example:

import torch
from torch_openreml.covariance.transform import TransformExp10

t = TransformExp10()
x = torch.tensor([1.0])
t.grad(x)
tensor([23.0259])