diprism / fggs

Factor Graph Grammars in Python
MIT License
13 stars 3 forks source link

Merge EmbeddedTensor and MultiTensor #165

Open davidweichiang opened 1 year ago

davidweichiang commented 1 year ago

A vanilla Tensor has indices whose type is [n], while a MultiTensor has indices in {name1: [n1], name2: [n2], ...} and an EmbeddedTensor has indices in T1 * T2 (where T1, T2 are types) and Zero[n] + T (where Zero[n] is the type of zero tensors with n dimensions). Can MultiTensor and EmbeddedTensor be merged into a single thing?

A difference is that EmbeddedTensor has the nice property that it is backed by exactly 1 physical tensor, whereas a MultiTensor is backed by 0 or more physical tensors. Do we want to retain that property at some level for efficiency's sake?