How to intersect subspaces of a combinatorial free module?
Hi, I've defined a CombinatorialFreeModule
over ZZ
with a pretty large named basis, along with a family of subspaces using .submodule()
. In the documentation, I see that the class FreeModule_generic_field
has a method .intersection()
to intersect these subspaces - is there a way to do this for the combinatorial free modules as well? I can think of some very ugly messy solutions by abandoning the CombinatorialFreeModule class, but I was hoping there'd be a better way.
Here's a toy example:
Z = CombinatorialFreeModule(Z, CombinatorialFreeModule(ZZ, ['a','b','c'], prefix="z"); prefix="z")
z = Z.basis()
Z1 = Z.submodule([z['a'],z['b'])
Z.submodule([z['a'],z['b']])
Z2 = Z.submodule([z['b'],z['c'])
Z.submodule([z['b'],z['c']])
I'd like to be able to write something like Z1.intersection(Z2)
to get a submodule containing just z['b']
. Of course, the real example has a very large number of submodules with much more complicated generators.