.. _CovarianceMatrix: Covariance matrix ----------------- The object holds and processes information about the covariance :math:`\left(\Sigma\right)_{i j})` between all data points :math:`\mathbf{x}_1, \ldots, \mathbf{x}_N`. One important purpose is to determine the Cholesky decomposition of the covariance matrix, :math:`\Sigma=L L^T` which is used to make predictions or optimize hyperparameters. The decomposition takes usually :math:`\mathcal{O}(N^3)` steps. By using the Cholesky decomposition of a previous iteration, an iterative update can be computed in only :math:`\mathcal{O}(N^2)` steps. .. _ActiveLearning.GP.matrix.diagonal_jitter: diagonal_jitter (float | None) """""""""""""""""""""""""""""" Small value added to the covariance diagonal to keep computations stable, for example when observations are very close together. Must be finite and nonnegative. This parameter controls numerical accuracy; specify measurement uncertainties through the observation errors and use ``detect_noise`` to fit unknown noise. Increasing jitter too much can reduce prediction accuracy and distort fitted length scales. It is increased automatically if the matrix cannot be factorized. Set to ``None`` to use the kernel-dependent default. Default: Kernel-dependent: 1e-14 for analytic neural-network covariance, otherwise 1e-10. .. admonition:: Example .. code-block:: python 1e-14 .. _ActiveLearning.GP.matrix.resize_step: resize_step (int) """"""""""""""""" Step size at which the matrices for doing iterative updates are enlarged. Default: ``200`` .. _ActiveLearning.GP.matrix.iterative_start_size: iterative_start_size (int) """""""""""""""""""""""""" Size of covariance matrix at which the Cholesky decomposition is determined iteratively. Default: ``500`` .. _ActiveLearning.GP.matrix.cuda_start_size: cuda_start_size (int) """"""""""""""""""""" Size of covariance matrix at which computations are performed on GPU instead of CPU, if available. Default: ``2000`` .. _ActiveLearning.GP.matrix.num_iterative_solver_steps: num_iterative_solver_steps (int) """""""""""""""""""""""""""""""" Gaussian process regression requires to solve systems of linear equations. In order to improve the accuracy of direct solution methods, an iterative refinement can be performed with the given number of iterations. Default: ``0`` .. _ActiveLearning.GP.matrix.online_start_size: online_start_size (int) """"""""""""""""""""""" Size of covariance matrix at which computations are switched from offline to online. * Online: :math:`L^{-1} \mathbf{x}` is computed using forward substitution for each :math:`\mathbf{x}`. * Offline: :math:`L^{-1}` is computed explicitly. Default: ``500`` .. _ActiveLearning.GP.matrix.max_data_hyper_derivs: max_data_hyper_derivs (int) """"""""""""""""""""""""""" Maximum number of observations for which hyperparameter derivatives are determined. A smaller number limits the memory consumption but limits the possibility to perform hyperparameter optimizations. This number should be always larger or equal to ``optimization_step_max`` of the corresponding surrogate. Default: ``1000``