Dirac: Implement location, scale, affine transformation #1735
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #1731
location implemented
scale implemented (= one)
shifting = :+ implemented
Scaling = :*, errors
Widening the Dirac cannot be done in a type stable way. Dirac can be interpreted as limit of some distributions in the limit σ^2 -> 0.0 (e.g. Normal, Uniform, Cosine). Falling back to one of these is arbitrarily and not type stable. Therefore it's up to the user what to do when recaling (= lowering certainty) needs to be done.
Adding two Dirac distributions is allowed. The sum of Dirac distributed random variables is interpreted as the sum of their values. This result can be obtained by either interpretation as certain bare numbers or by convolution.
resolves #1695
Type T is reduced to T<:Real to be consistent with other distributions. Non-scalar values are no longer allowed as arguments.
This is a potentially breaking change, if user code relied on unintended behaviour.