torch_openreml.covariance.transform.TransformExpPow2¶
- class torch_openreml.covariance.transform.TransformExpPow2[source]¶
Bases:
TransformExponential transform with exponent scaled by 2.
\[f(x) = e^{2x}\]Initialize the scaled exponential transform.
Methods
__call__(x)Apply the scaled exponential transform.
grad(x)Compute derivative of \(e^{2x}\) for chain rule propagation.
inverse(x)Apply the inverse transform.
Attributes
- domain = 'ℝ'¶
Domain of the transform.
- codomain = 'ℝ₀⁺'¶
Codomain of the transform.
- __call__(x)[source]¶
Apply the scaled exponential transform.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}\).
- Returns:
Element-wise \(e^{2x}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExpPow2 t = TransformExpPow2() x = torch.tensor([0.0, 1.0]) t(x)
tensor([1.0000, 7.3891])
- inverse(x)[source]¶
Apply the inverse transform.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}_{0+}\).
- Returns:
\(\frac{\log(x)}{2}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExpPow2 t = TransformExpPow2() x = torch.tensor([1.0]) t.inverse(x)
tensor([0.])
- grad(x)[source]¶
Compute derivative of \(e^{2x}\) for chain rule propagation.
Note
\[\frac{d}{dx} e^{2x} = 2e^{2x}\]- Parameters:
x (torch.Tensor) – Input tensor.
- Returns:
\(2e^{2x}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExpPow2 t = TransformExpPow2() x = torch.tensor([0.0, 1.0]) t.grad(x)
tensor([ 2.0000, 14.7781])