Open eb8680 opened 4 years ago
@ordabayevy I copied the work plan from #398 to this issue. I suggest going ahead with making modified_partial_sum_product
use the first-class Funsor funsor.sum_product.MarkovProduct
in place of sequential_sum_product
and testing that the result is fully compatible with funsor.optimizer.apply_optimizer
, since I think that may be necessary for your problem, but the other stuff is less important.
@eb8680 sounds good. Can you point to an example that tests compatibility with funsor.optimizer.apply_optimizer
?
Can you point to an example that tests compatibility with funsor.optimizer.apply_optimizer?
See my PR #400 - that should address this point.
Generalizing tensor variable elimination to dynamic factor graphs
modified_partial_sum_product
that works for time lag 1, and tests that compare it topartial_sum_product
applied to the unrolled factors.modified_partial_sum_product
useMarkovProduct
and additional tests that verify that it works withfunsor.optimize.apply_optimizer
modified_partial_sum_product
that usessarkka_bilmes_product
directly, and tests that compare it topartial_sum_product
applied to unrolled factorssarkka_bilmes_product
-basedmodified_partial_sum_product
works withfunsor.optimize.apply_optimizer
, and any fixes necessary to make them pass (e.g. a first-classfunsor.Funsor
wrapper forsarkka_bilmes_product
analogous toMarkovProduct
)Optional or out of scope:
Parallel-scan operation implementation
sarkka_bilmes_product
operationglobal_vars
argumentsarkka_bilmes_product
dimension name prefix fromP
to something less likely to interfere with user codesarkka_bilmes_product
a first-class Funsor analogous toMarkovProduct
naive_sarkka_bilmes_product
andsarkka_bilmes_product
sarkka_bilmes_product
Optional tasks:
moment_matching
testssarkka_bilmes_product
interface to follow the subscripting design in #167 or theMarkovProduct
-like design in #399sarkka_bilmes_product
to something more descriptivesequential_sum_product
into recursive rewrite rule