Source code for optimization.scaling.power

"""Power Scaler Module

This module contains the PowerScaler class, which is a scaler that
performs a power transformation on the value.

Kramer Harrison, 2025
"""

from __future__ import annotations

import optiland.backend as be

from .base import Scaler


[docs] class PowerScaler(Scaler): """Represents a scaler that performs a power transformation on the value.""" def __init__(self, power=1.0): self.power = power
[docs] def scale(self, value): """Scale the value using a power transformation. Args: value: The value to scale """ return be.power(value, self.power)
[docs] def inverse_scale(self, scaled_value): """Inverse scale the value using a power transformation. Args: scaled_value: The scaled value to inverse scale """ return be.power(scaled_value, 1.0 / self.power)