Sidereon.ILS (Sidereon v0.10.1)

Copy Markdown View Source

Integer least-squares search helpers.

Summary

Types

result()

@type result() :: %{
  fixed: [integer()],
  fixed_status: boolean(),
  ratio: float() | :infinity,
  best_score: float(),
  second_best_score: float() | nil,
  candidates_evaluated: non_neg_integer(),
  covariance: [[float()]],
  covariance_inverse: [[float()]]
}

Functions

bounded_ils_search(float_cycles, covariance, radius \\ 1, candidate_limit \\ 200_000, ratio_threshold \\ 3.0)

@spec bounded_ils_search([number()], [[number()]], integer(), pos_integer(), number()) ::
  {:ok, result()} | {:error, term()}

Run bounded integer least-squares search.

lambda_ils_search(float_cycles, covariance, ratio_threshold \\ 3.0)

@spec lambda_ils_search([number()], [[number()]], number()) ::
  {:ok, result()} | {:error, term()}

Run LAMBDA integer least-squares search.