solve_normal_equation
- ska_sdp_func_python.calibration.ionosphere_solvers.solve_normal_equation(AA, Ab, param, it=0)[source]
Solve the normal equations and update parameters.
Using the SVD-based DGELSD solver via numpy.linalg.lstsq. Could use the LU-decomposition-based DGESV solver in numpy.linalg.solve, but the normal matrix may not be full rank.
If n_param gets large (~ 100) it may be better to use a numerical solver like lsmr or lsqr.
- Parameters:
AA – [n_param, n_param] normal equation
Ab – [n_param] data vector
param – [n_cluster] list of solution vectors, one for each cluster
it – int, current iteration
- Return param_update:
the current incremental param update