pub fn gradient_ascent_alignment(
kernel_fn: &dyn Fn(&[f64]) -> KernelMatrix,
target: &KernelMatrix,
initial_params: &[f64],
config: &AlignmentOptConfig,
) -> Result<OptimizationResult, AlignmentError>Expand description
Gradient ascent on the alignment score via finite differences.
For each parameter θ_k, the partial derivative is approximated as:
∂A/∂θ_k ≈ (A(θ + ε*e_k) - A(θ - ε*e_k)) / (2ε)Parameters are updated as θ ← θ + η * ∇A(θ) until convergence or
max_iterations is reached.
§Arguments
kernel_fn- A closure mapping parameters to aKernelMatrix.target- Target kernel.initial_params- Starting parameter vector.config- Optimisation configuration.