normal_equation_solve

ska_sdp_func_python.calibration.alternative_solvers.normal_equation_solve(vobs, vmdl, wgt, ant1, ant2, gain, ch, niter, tol)

Solve this time and frequency slice of the gain table

Within each iteration the system of antenna-based gain and leakage terms is linearised into a least-squares design matrix and solved. It is based on the Yandasoft solver. Multiple passes over the data are required for each time and frequency solution interval, so this solver is most appropriate when the solution intervals are short, such as during real-time calibration.

See the CalIm presentation by Maxim Voronkov for more details: https://indico.skatelescope.org/event/171/contributions/1007/

Parameters:
  • vobs – observed vis ndarray [ntime, nbaseline, nfreq, 2, 2]

  • vmdl – model vis ndarray [ntime, nbaseline, nfreq, 2, 2]

  • wgt – vis weights ndarray [ntime, nbaseline, nfreq]

  • ant1 – ndarray containing the first antenna in each baseline

  • ant2 – ndarray containing the second antenna in each baseline

  • gain – gain ndarray to be updated [ntime, nbaseline, nfreq, 2, 2]

  • ch – gain table channel to be updated

  • niter – Maximum number of iterations

  • tol – Iteration stops when the fractional change in the gain solution is below this tolerance