Ask Your Question

Lattices via sage

asked 2020-01-05 20:01:53 +0200

klaaa gravatar image

updated 2020-01-06 09:16:44 +0200

FrédéricC gravatar image

I have three questions on lattices:

-Is there a way to obtain the minimal number of generators of a lattices with sage?

-Is there a way to obtain the lattice of all subspaces of a vector space over a finite field with q elements in sage?

-Is there a quick way to obtain all distributive lattices on n points in sage (that is, without filtering them from the set of all posets on n points).

edit retag flag offensive close merge delete


Could you clarify which lattice you mean? A lattice can be a subgroup of the additive group R^n which is isomorphic to Z^n or a poset with a join and meet operations.

jipilab gravatar imagejipilab ( 2020-01-08 13:53:33 +0200 )edit

Thanks, yes it is about lattices in the sense of posets.

klaaa gravatar imageklaaa ( 2020-01-09 21:25:05 +0200 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-01-08 17:41:03 +0200

jipilab gravatar image

updated 2020-01-08 17:41:59 +0200

Here is a first attempt to answer your questions.

1) The comment should be addressed in order to give an instructive answer.

2) Assuming you want to consider only _linear_ subspace, the following code does the thing:

sage: dim = 2
sage: FF = FiniteField(3)
sage: VS = VectorSpace(FF,2)
sage: SS = {}
sage: SS[0] = set([VS.subspace([])])
sage: for dim in range(1,dim+1):
....:     new_subspaces = set()
....:     for v in VS:
....:         for ss in SS[dim-1]:
....:             new_ss = ss + VS.subspace([v])
....:             if new_ss.dimension() == dim:
....:                 new_subspaces.add(new_ss)
....:     SS[dim] = new_subspaces
sage: ground_set = reduce(lambda x,y:x.union(y),SS.values())
sage: the_lattice = LatticePoset((ground_set,lambda x,y: x.is_subspace(y)))

3) See and

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2020-01-05 20:01:53 +0200

Seen: 408 times

Last updated: Jan 08 '20