Interface VectorFunction<F extends Field<F>>

All Superinterfaces:
ContinuousFunction<Vector<F>, Vector<F>>, DifferentiableFunction<Vector<F>, Vector<F>>, Function<Vector<F>, Vector<F>>, Function<Vector<F>, Vector<F>>, Relation<Vector<F>, Vector<F>>
All Known Implementing Classes:
DiscreteFourierTransform

public interface VectorFunction<F extends Field<F>> extends DifferentiableFunction<Vector<F>, Vector<F>>
Represents a function from a vector space to another (F^n -> F^m).

Supports Jacobian matrix calculation for differentiation.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • outputDimension

      int outputDimension()
      Returns the dimension of the output vector.
      Returns:
      m where f: F^n -> F^m
    • jacobian

      default Matrix<F> jacobian(Vector<F> point)
      Calculates the Jacobian matrix at the given point. J_ij = d(f_i)/d(x_j) Default implementation uses central difference approximation if F is Real.
      Parameters:
      point - the point at which to evaluate the Jacobian
      Returns:
      the Jacobian matrix (m x n)
    • differentiate

      default Function<Vector<F>, Vector<F>> differentiate()
      Returns the derivative of this function, which is the linear map represented by the Jacobian.
      Specified by:
      differentiate in interface DifferentiableFunction<Vector<F extends Field<F>>, Vector<F extends Field<F>>>
      Returns:
      f'