Skip to content

Commit 0d5c463

Browse files
Implement missing posterior_optima and likelihood_optima for a test model. (#503)
* Update test_utils.jl * Update Project.toml * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 74849d4 commit 0d5c463

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DynamicPPL"
22
uuid = "366bfd00-2699-11ea-058f-f148b4cae6d8"
3-
version = "0.23.5"
3+
version = "0.23.6"
44

55
[deps]
66
AbstractMCMC = "80f14c24-f653-4e6a-9b94-39d6b0f70001"

src/test_utils.jl

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,13 @@ const UnivariateAssumeDemoModels = Union{
621621
function posterior_mean(model::UnivariateAssumeDemoModels)
622622
return (s=49 / 24, m=7 / 6)
623623
end
624+
function likelihood_optima(::DynamicPPL.TestUtils.UnivariateAssumeDemoModels)
625+
return (s=1 / 16, m=7 / 4)
626+
end
627+
function posterior_optima(::DynamicPPL.TestUtils.UnivariateAssumeDemoModels)
628+
# TODO: Figure out exact for `s`.
629+
return (s=0.907407, m=7 / 6)
630+
end
624631
function Random.rand(
625632
rng::Random.AbstractRNG, ::Type{NamedTuple}, model::UnivariateAssumeDemoModels
626633
)
@@ -654,6 +661,31 @@ function posterior_mean(model::MultivariateAssumeDemoModels)
654661

655662
return vals
656663
end
664+
function likelihood_optima(model::DynamicPPL.TestUtils.MultivariateAssumeDemoModels)
665+
# Get some containers to fill.
666+
vals = Random.rand(model)
667+
668+
# NOTE: These are "as close to zero as we can get".
669+
vals.s[1] = 1e-32
670+
vals.s[2] = 1e-32
671+
672+
vals.m[1] = 1.5
673+
vals.m[2] = 2.0
674+
675+
return vals
676+
end
677+
function posterior_optima(model::DynamicPPL.TestUtils.MultivariateAssumeDemoModels)
678+
# Get some containers to fill.
679+
vals = Random.rand(model)
680+
681+
# TODO: Figure out exact for `s[1]`.
682+
vals.s[1] = 0.890625
683+
vals.s[2] = 1
684+
vals.m[1] = 3 / 4
685+
vals.m[2] = 1
686+
687+
return vals
688+
end
657689
function Random.rand(
658690
rng::Random.AbstractRNG, ::Type{NamedTuple}, model::MultivariateAssumeDemoModels
659691
)
@@ -684,6 +716,31 @@ function posterior_mean(model::MatrixvariateAssumeDemoModels)
684716

685717
return vals
686718
end
719+
function likelihood_optima(model::DynamicPPL.TestUtils.MatrixvariateAssumeDemoModels)
720+
# Get some containers to fill.
721+
vals = Random.rand(model)
722+
723+
# NOTE: These are "as close to zero as we can get".
724+
vals.s[1, 1] = 1e-32
725+
vals.s[1, 2] = 1e-32
726+
727+
vals.m[1] = 1.5
728+
vals.m[2] = 2.0
729+
730+
return vals
731+
end
732+
function posterior_optima(model::DynamicPPL.TestUtils.MatrixvariateAssumeDemoModels)
733+
# Get some containers to fill.
734+
vals = Random.rand(model)
735+
736+
# TODO: Figure out exact for `s[1]`.
737+
vals.s[1, 1] = 0.890625
738+
vals.s[1, 2] = 1
739+
vals.m[1] = 3 / 4
740+
vals.m[2] = 1
741+
742+
return vals
743+
end
687744
function Base.rand(
688745
rng::Random.AbstractRNG, ::Type{NamedTuple}, model::MatrixvariateAssumeDemoModels
689746
)

0 commit comments

Comments
 (0)