torch_openreml.covariance.transform.TransformPow¶
- class torch_openreml.covariance.transform.TransformPow(factor=2.0)[source]¶
Bases:
TransformPower transform with configurable exponent.
\[f(x) = x^p\]Initialize the power transform.
- Parameters:
factor (float) – Exponent \(p\). Defaults to
2.0.
Methods
__call__(x)Apply the power transform.
grad(x)Compute derivative of \(x^p\) for chain rule propagation.
inverse(x)Apply the inverse transform (square root).
Attributes
- domain = 'ℝ'¶
Domain of the transform.
- codomain = 'ℝ'¶
Codomain of the transform.
- __call__(x)[source]¶
Apply the power transform.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}\).
- Returns:
Element-wise \(x^p\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformPow t = TransformPow(factor=3.0) x = torch.tensor([1.0, 2.0, 3.0]) t(x)
tensor([ 1., 8., 27.])
- inverse(x)[source]¶
Apply the inverse transform (square root).
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}\).
- Returns:
Element-wise \(\sqrt{x}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformPow t = TransformPow(factor=2.0) x = torch.tensor([1.0, 4.0, 9.0]) t.inverse(x)
tensor([1., 2., 3.])
- grad(x)[source]¶
Compute derivative of \(x^p\) for chain rule propagation.
Note
\[\frac{d}{dx} x^p = p x^{p-1}\]- Parameters:
x (torch.Tensor) – Input tensor.
- Returns:
\(p x^{p-1}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformPow t = TransformPow(factor=3.0) x = torch.tensor([2.0, 3.0]) t.grad(x)
tensor([6., 9.])