Commit 2e9c2e6
Dev (#88)
* drop debugging code
* small update for Likelihood, and a test
* fixing up likelihoods
* improve `basemeasure_depth` dispatch
* still some trouble with inferred basemeasure_depth
* clean up `For` dispatch
* simplify _logdensityof
* optimize for Returns{True} case
* rework basemeasure_depth
* aggressive tests passing!!
* drop type-level stuff
* drop help
* license
* affero
* copyright notice
* merge
* Drop Create Commons
* cleanup after merge
* update support computations
* insupport(d::SuperpositionMeasure, x)
* dorp ParamWeighted
* insupport(d::FactoredBase, x)
* export unsafe_logdensityof
* call promote_type instead of promote_rule
* logdensity_def for named tuple product measures
* type annotation for now
* debugging
* drop shows
* speed up mapped arrays
* throw an error for `Union{}` types
* MT tests passing
* updates
* get tests passing
* MIT license for MeasureBase
* bump version
* cleanup
* spacing
* Move ConditionalMeasure to MeasureBase
* add LogarithmicNumbers
* export basemeasure_sequence
* update superpose
* fix logdensity_rel
* remove FIXME (it's fixed!!)
* logdensityof(d::Density, x)
* simplify insupport(::Lebesgue, ::Real)
* clean up
* assume insupport yields Bool
* change logdensity_rel fall-through to warning and return NaN
* update logdensity_rel
* drop old code
* fix warning
* export logdensity_rel
* logdensity_def(μ::Dirac, ν::Dirac, x)
* logdensity_def methods
* drop `static`
* ]add StatsFuns
* Fixing up superposition
* [compat] entries
* trying to speed things up
* bugfixes
* logdensity_rel tests
* logdensity_rel tests
* drop qualifier, and add a test
* more tests
* type constraint in "logdensityof(μ::AbstractMeasure, x)" (was piracy, oops)
* add some docs
* docs
* docs
* typo
* moar speed
* don't export Test
* some more updates
* logdensity_rel for products
* `kleisli` docs
* update instance_type
* instance_type => Core.Typeof
* `powermeasure` bug fix
* fix logdensity_rel bug
* get `commonbase` to take x type into account
* test powers
* commonbase docstring
* deprecate instance_type
* avoid breakage
* switch || terms
* @ifelse macro
* simplify logdensity_rel
* give up on this @ifelse business
* bump version
* working on likelihoods
* update likelihood
* powerweightedmeasure
* powerweighted update
* more powerweighted methods
* bugfix
* dropFactoredBase
* drop FactoredBase
* (::ProductMeasure) | constraint
* update conditional measure
* update Dirac
* move conditional.jl down in the `include`s
* Kleisli => TransitionKernel
* simplify logdensity_def(::PowerMeasure, x)
* rename kleisli.jl to kernel.jl
* update Dirac tests
* update Half
* get tests passing
* update kernel
* Update Project.toml
* no call-site inlining
* restrict single-arg `kernel` to <:ParameterizedMeasure
* export log_likelihood_ratio
* Drop DensityKind(::Likelihood), at least for now
* isfinite(x) instead of x>-Inf
* add `condition` constructor
* EOF newline
* simplify logdensity_def for power measures
* finishing up
* updates
* kernel stuff
* kernel stuff
* update showe methods
* ass a TODO
* use `dot` instead of `sum`
* drop old code
* typo
* formatting
* cleanup
* kernel updates
* uncomment
* bugfix
* drop old code
* pretty printing
* exports, cleanup
* drop old for.jl
* Make DensityKind(::AbstractLikelihood) = IsDensity()
* update Compat version
* Make likelihoods work with Distributions
* _map(f, x::MappedArrays.ReadonlyMappedArray)
* export productmeasure
* AbstractMeasure(::AbstractMeasure)
* fixedrng
* StdNormal
* add SpecialFunctions
* no need to qualify
* update basemeasure
* include stdnormal
* include fixedrng
* update tests
* using SpecialFunctions
* fixing transport_def
* transport_def bugfix
* StdMeasure(::typeof(randn))
* checked_arg for LebesgueMeasure
* NoTransformOrigin => NoTransportOrigin
* transport interface for pushforwards
* transporting pushforwards
* Use LebesgueMeasure for basemeasure
* updates
* make testvalue fall back on FixedRNG approach
* un-break testvalue
* CI for Juila 1.8
* fixes
* `rand` on a pushforward calls rand on its parent
* LebesgueMeasure => LebesgueBase
CountingMeasure => CountingBase
* tests passing!
* change `invoke` type
* Change `test_interface` to check for 2-arg testvalue
* manually-specifed inverses
* more pushfwd stuff
* A little less wrong
* add mass interface
* pullback
* mass interface
* working on mass interface
* add some `massof` methods
* Maybe <:Number is better for invalidations?
* float instead of Int
* logmassof
* transports for proxies
* drop latent-joint.jl
* drop exports
* Drop `logmassof` for now
* reorganize Lebesgue measure
* IntervalSets
* proxy(::Lebesgue{MeasureBase.RealNumbers}) = LebesgueBase()
* calling a "useproxy" measure calls its proxy
* StdUniform()(s::Interval)
* typo
* (m::AbstractMeasure)(s::Interval)
* bugfix
* comment
* IntervalSets version constraint
* update dynamic_basemeasure_depth
* format
* Calling a measure calls `massof`
* work on massof
* AbstractSuperpositionMeasure
* fix typo
* typo
* format
* docstrings
* remove massof(::PowerWeightedMeasure) method
* make `massof` better
* update testvalue
* formatting
* update _massof
* Update transports for weighted measures
* add chain rules
* invariant mass under transport
* typo
* bugfix
* hasmethod => Tricks.static_hasmethod
* `massof` methods
* roll back tranports for WeightedMeasure
* Improve transport implementation and add product support (#97)
* Improve default transport implementation
Increases type stability.
* Rename NoTransformOrigin to NoTransportOrigin
* Add rrule for _origin_depth
* Fix ambiguities when forwarding NoTransportOrigin and NoTransportOrigin
* Define getdof for product measures
* Generalize test_transport to tuple-valued measures
* Implement transport for tuple-based products
Co-authored-by: Chad Scherrer <chad.scherrer@gmail.com>
* `@useproxy` delegates `massof`
* drop CI for nightly
* callable densities (#85)
* callable densities
* separate `Density` and `LogDensity`, etc
* bugfix
* move some code around
* format
* updates
* working on densities
* update CI
* bugfix
* formatting
* reorg
* fix typos
* Drop LogDensityMeasure and refactor
* docstring
* inner type constructor with assertion
* type parameters
* 2-arg density_rel and logdensity_rel
* oops
* properties
* typo
* fix ambiguity
* bugfix
* bugfix
* updates
* drop densityof and logdensityof for AbstractDensity
* updates
* update tests
* update
* formatting
* bad calls throw errors
* drop CI for nightly
* Pushfwd-inverses (#98)
* use InverseFunctions.setinverse
* bug fixes
* bugfix
* bugfix
* pushfwd of a pushfwd
* format
* drop old comment
* drop CI for nightly
* working on pushfwd
* bugfix
* inverse(f) => ν.finv
* separate logdensity functions from transport API
* format
* don't unwrap FunctionWithInverse
* drop redundant method
* leave logdensityof alone, instead write unsafe_logdensityof
* more tests
* more work on tests
* tests
* tests
* still messing with tests
* tests passing
* small edits
* formatting
* add some more failing tests
* add atol to isapprox in test
* getdof(μ::PushforwardMeasure) = getdof(transport_origin(μ))
* update atol
* small fix
* drop ((-) ∘ log1p ∘ (-), StdUniform(), StdExponential())
* remove duplicate method
* remove duplicate `include`
* simplify getdof(::PushforwardMeasure)
* Stieltjes measure function (#100)
* smf
* more smf stuff
* transport_to
* Lebesgue smf
* smf for std measures
* format
* transport_to
* oops
* smfinv
* bugfix
* more fixes
* minor refactoring
* formatting
* change x to p
* bugfix
* smfinv(::StdLogistic, p)
* add NoSMF and NoSMFInverse
* roll back some changes
* transport_def methods
* formatting
* another rollback
* make transport_def depend on smf(inv)
* update smf and transports for ::Half
* change `include` order
* test_smf
* more tests
* tests
* add tests
* formatting
* Drop unneeded type parameters
* smfinv => invsmf
* add some inverses
* Base.Fix1 versions
* some more methods
* drop redundant `transport_def`s
* update `pushfwd`
* change name
* add type
* formatting
* fix docstring
* depend on FunctinoChains
* Use fchain
* simplify transport_def for StdLogistic
* simplify transport_def for StdNormal
* drop redundant method
Co-authored-by: Oliver Schulz <oschulz@mpp.mpg.de>1 parent bc0a61e commit 2e9c2e6
37 files changed
Lines changed: 950 additions & 288 deletions
File tree
- .github/workflows
- src
- combinators
- primitives
- standard
- test
- combinators
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
21 | 23 | | |
22 | 24 | | |
23 | 25 | | |
| 26 | + | |
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
| |||
33 | 36 | | |
34 | 37 | | |
35 | 38 | | |
| 39 | + | |
36 | 40 | | |
37 | | - | |
| 41 | + | |
| 42 | + | |
38 | 43 | | |
39 | 44 | | |
40 | 45 | | |
41 | 46 | | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
| 50 | + | |
45 | 51 | | |
46 | 52 | | |
47 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
11 | 17 | | |
12 | 18 | | |
13 | 19 | | |
| 20 | + | |
14 | 21 | | |
15 | 22 | | |
16 | 23 | | |
| |||
19 | 26 | | |
20 | 27 | | |
21 | 28 | | |
| 29 | + | |
22 | 30 | | |
23 | 31 | | |
24 | 32 | | |
25 | 33 | | |
26 | 34 | | |
27 | 35 | | |
28 | 36 | | |
| 37 | + | |
29 | 38 | | |
30 | 39 | | |
31 | 40 | | |
| |||
108 | 117 | | |
109 | 118 | | |
110 | 119 | | |
| 120 | + | |
111 | 121 | | |
112 | 122 | | |
113 | 123 | | |
114 | 124 | | |
115 | 125 | | |
116 | 126 | | |
117 | 127 | | |
118 | | - | |
119 | 128 | | |
120 | 129 | | |
121 | 130 | | |
| 131 | + | |
122 | 132 | | |
123 | 133 | | |
124 | 134 | | |
| |||
144 | 154 | | |
145 | 155 | | |
146 | 156 | | |
147 | | - | |
| 157 | + | |
| 158 | + | |
148 | 159 | | |
149 | 160 | | |
| 161 | + | |
150 | 162 | | |
151 | 163 | | |
152 | 164 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
159 | 161 | | |
160 | 162 | | |
161 | 163 | | |
162 | | - | |
| 164 | + | |
163 | 165 | | |
164 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
165 | 169 | | |
166 | 170 | | |
167 | 171 | | |
| |||
220 | 224 | | |
221 | 225 | | |
222 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
27 | | - | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| 33 | + | |
| 34 | + | |
31 | 35 | | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
36 | 40 | | |
37 | | - | |
| 41 | + | |
38 | 42 | | |
39 | 43 | | |
40 | 44 | | |
| |||
0 commit comments