# VarianceUncertainty¶

class astropy.nddata.VarianceUncertainty(array=None, copy=True, unit=None)[source]

Bases: astropy.nddata.nduncertainty._VariancePropagationMixin, astropy.nddata.NDUncertainty

Variance uncertainty assuming first order Gaussian error propagation.

This class implements uncertainty propagation for addition, subtraction, multiplication and division with other instances of VarianceUncertainty. The class can handle if the uncertainty has a unit that differs from (but is convertible to) the parents NDData unit. The unit of the resulting uncertainty will be the square of the unit of the resulting data. Also support for correlation is possible but requires the correlation as input. It cannot handle correlation determination itself.

Parameters
args, kwargs :

Examples

Compare this example to that in StdDevUncertainty; the uncertainties in the examples below are equivalent to the uncertainties in StdDevUncertainty.

VarianceUncertainty should always be associated with an NDData-like instance, either by creating it during initialization:

>>> from astropy.nddata import NDData, VarianceUncertainty
>>> ndd = NDData([1,2,3], unit='m',
...              uncertainty=VarianceUncertainty([0.01, 0.01, 0.01]))
>>> ndd.uncertainty
VarianceUncertainty([0.01, 0.01, 0.01])


or by setting it manually on the NDData instance:

>>> ndd.uncertainty = VarianceUncertainty([0.04], unit='m^2', copy=True)
>>> ndd.uncertainty
VarianceUncertainty([0.04])


the uncertainty array can also be set directly:

>>> ndd.uncertainty.array = 4
>>> ndd.uncertainty
VarianceUncertainty(4)


Note

The unit will not be displayed.

Attributes Summary

 supports_correlated True : VarianceUncertainty allows to propagate correlated uncertainties. uncertainty_type "var" : VarianceUncertainty implements variance.

Attributes Documentation

supports_correlated

True : VarianceUncertainty allows to propagate correlated uncertainties.

correlation must be given, this class does not implement computing it by itself.

uncertainty_type

"var" : VarianceUncertainty implements variance.