oemBasisReduce

Workspace.oemBasisReduce(self, oem: OptimalEstimationData = self.oem, rank: Index = -1, max_lost_dofs: Numeric = -1, max_lost_information_bits: Numeric = -1) None

Select leading modes from the full bases prepared by oemBasisCalc().

Truncates oem.model_state_basis_mat to its first rank columns and oem.measurement_basis_mat to its first \(q=\min(r,m)\) rows in place. Both reduced covariances are identity. No SVD or covariance factorization is repeated. The full oem.basis_singular_values spectrum stays unchanged so the reported losses include all modes discarded since construction.

By default rank=-1 removes modes with zero computed information. Set max_lost_dofs and/or max_lost_information_bits to allow weak modes to be discarded as well. These bound the totals over all discarded modes:

\[\Delta d_s=\sum_{i>r}\frac{s_i^2}{1+s_i^2},\qquad \Delta H=\frac12\sum_{i>r}\log_2(1+s_i^2).\]

The smallest rank meeting all supplied limits is selected. An unset limit is -1; with no limits, the information-bit limit is zero. At least one state mode is retained, even when all modes are uninformative. Roundoff can give a mathematically null mode a small nonzero value; a positive loss budget permits discarding it. Alternatively, set a positive rank to retain exactly that many state modes, without loss limits.

oem.basis_lost_dofs and oem.basis_lost_information_bits report the actual discarded totals, including when rank is explicit. They describe the supplied linearization and do not bound nonlinear retrieval errors. Retaining all informative modes preserves the linear Gaussian posterior. Omitted state directions retain prior uncertainty. See Reduced optimal estimation.

The inputs must come from the same oemBasisCalc() call, optionally already truncated by this method. Dimension and spectrum checks cannot detect mixing decompositions. Selection can only remove modes: restore saved copies or rerun oemBasisCalc() to increase rank or meet a stricter loss limit requiring removed modes.

Author: Richard Larsson

Parameters:
  • oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for oemCalc() and oemCalcReduced(). Defaults to self.oem. [INOUT]

  • rank (~pyarts3.arts.Index, optional) – Retained state modes, or -1 to remove uninformative modes automatically. Defaults to -1 [IN]

  • max_lost_dofs (~pyarts3.arts.Numeric, optional) – Maximum total discarded DOFS, or -1 to leave this limit unset. Defaults to -1 [IN]

  • max_lost_information_bits (~pyarts3.arts.Numeric, optional) – Maximum total discarded information in bits, or -1 to leave this limit unset. Defaults to -1 [IN]