punpy.lpu.lpu_propagation.LPUPropagation

punpy.lpu.lpu_propagation.LPUPropagation#

class punpy.lpu.lpu_propagation.LPUPropagation(parallel_cores=0, Jx_diag=False, step=None, verbose=False)[source]#

Class to propagate uncertainties using the Law of Propagation of Uncertainty

Parameters:
  • parallel_cores (int) – number of CPU to be used in parallel processing

  • Jx_diag – Bool to indicate whether the Jacobian matrix can be described with semi-diagonal elements. With this we mean that the measurand has the same shape as each of the input quantities and the square jacobain between the measurand and each of the input quantities individually, only has diagonal elements. Defaults to False

  • step (float) – Defines the spacing used when calculating the Jacobian with numdifftools

  • verbose (bool) – bool to set if logging info should be printed

Rtype Jx_diag:

bool, optional

__init__(parallel_cores=0, Jx_diag=False, step=None, verbose=False)[source]#

Methods

__init__([parallel_cores, Jx_diag, step, ...])

process_jacobian(J, covx, shape_y, ...[, ...])

propagate_cov(func, x, cov_x[, param_fixed, ...])

Propagate uncertainties with given covariance matrix through measurement function with n input quantities.

propagate_flattened_cov(func, x, flat_cov_x)

Propagate uncertainties with given covariance matrix through measurement function with n input quantities.

propagate_random(func, x, u_x[, corr_x, ...])

Propagate random uncertainties through measurement function with n input quantities.

propagate_standard(func, x, u_x, corr_x[, ...])

Propagate uncertainties through measurement function with n input quantities.

propagate_systematic(func, x, u_x[, corr_x, ...])

Propagate systematic uncertainties through measurement function with n input quantities.