Ask Your Question

Revision history [back]

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.

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, ['a','b','c'], prefix="z"); z = Z.basis()
Z1 = Z.submodule([z['a'],z['b'])
Z2 = 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'].

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, ['a','b','c'], prefix="z"); z = Z.basis()
Z1 = Z.submodule([z['a'],z['b'])
Z2 = 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.

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.