class_docstr: Preconditioner of the form :math:`Q=(Q_ff + σ²I)⁻¹`,
  where L is lower triangular with :math: `LLᵀ = Kᵤᵤ`
  :math:`A = σ⁻²L⁻¹Kᵤₓ` and :math:`B = AAᵀ + I = LᵦLᵦᵀ`
class_docstr_tok: ["Preconditioner","of","the","form",":","math",":","`","Q=","(","Q_ff","+","\u03c3\u00b2I",")","\u207b\u00b9","`",",","where","L","is","lower","triangular","with",":","math",":","`","LL\u1d40","=","K\u1d64\u1d64","`",":","math",":","`","A","=","\u03c3\u207b\u00b2L\u207b\u00b9K\u1d64\u2093","`","and",":","math",":","`","B","=","AA\u1d40","+","I","=","L\u1d66L\u1d66\u1d40","`"]
code: def __init__(
      self, A: tf.Tensor, LB: tf.Tensor, sigma_sq: float
  ) -> None:
      self.A = A
      self.LB = LB
      self.sigma_sq = sigma_sq
  
imports: from typing import Any, List, NamedTuple, Optional, Tuple
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import InputData, MeanAndVariance, Parameter, RegressionData, TensorType
  from ..config import default_float, default_int
  from ..covariances import Kuf
  from ..utilities import add_noise_cov, assert_params_false, to_default_float
  from .sgpr import SGPR
label_desc: Use image node_id 1 to create a new NystromPreconditioner object  with example: obj = NystromPreconditioner(A, LB, sigma_sq)