What beats a flat array with strides for variables?


#1

Context - 10.A.1

I am wondering on how to support 10.A.1 on a range of data representations, managed by a dispatch system, for a library of operations (product, marginalization, maximization, reduction, …)

I don’t want the data type scattered into functions and having to dance around DataFrames’ pooling. 10.A.1 has enough behaviors to warrant a data type of its own. As Koller says, indexing the appropriate entries in each factor is a key design decision.

However this is my first attempt at this, hence my post here.


#2

One guess is something involving [code generation for] different data arrangements depending on the factor operation.

I see the data bending itself to the operation, and not the operation losing its identity to access the data.


#3

It would help a lot if you can post some code with what you have tried and what seems to not be working as well as you would want it to.


#4

(removed for violation of Community Standards)


#5

So a type Factor having inner constructors for each operation I think is the answer.