NormalParameterSampleFromScaleMatrix

class sherpa.sim.sample.NormalParameterSampleFromScaleMatrix[source] [edit on github]

Bases: ParameterSampleFromScaleMatrix

Use a normal distribution to sample parameters (correlated),

The parameters are drawn from a normal distribution based on the parameter errors, and include the correlations between the parameters. The errors will be generated from the fit object or specified directly as a covariance matrix.

Methods Summary

clip(fit, samples[, clip])

Clip the samples if out of bounds.

get_sample(fit, *[, mycov, num, rng])

Return the parameter samples.

Methods Documentation

clip(fit, samples, clip='none') [edit on github]

Clip the samples if out of bounds.

Parameters:
  • fit (sherpa.fit.Fit instance) – Contains the thawed parameters used to generate the samples.

  • samples (2D numpy array) – The samples array, stored as a n by npar matrix. This array is changed in place.

  • clip ({'none', 'hard', 'soft'} optional) – How should the values be clipped? The default (‘none’) has no clipping. The other methods restrict the values to lie within the hard or soft limits of the parameters.

Returns:

clipped – The clipped samples (may be unchanged) and a 1D boolean array indicating whether any sample in a row was clipped.

Return type:

1D numpy array

get_sample(fit, *, mycov=None, num=1, rng=None)[source] [edit on github]

Return the parameter samples.

Changed in version 4.16.0: All arguments but the first one must be passed as a keyword argument. The rng parameter was added.

Parameters:
  • fit (sherpa.fit.Fit instance) – This defines the thawed parameters that are used to generate the samples, along with any possible error analysis.

  • mycov (2D numpy array or None, optional) – The covariance matrix to use. If None then it is calculated from the fit object.

  • num (int, optional) – The number of samples to return.

  • rng (numpy.random.Generator, numpy.random.RandomState, or None, optional) – Determines how random numbers are created. If set to None then the routines from numpy.random are used, and so can be controlled by calling numpy.random.seed.

Returns:

samples – The array is num by npar size, where npar is the number of free parameters in the fit argument.

Return type:

2D numpy array