Processing math: 100%
Ask Your Question
0

Iterating over a finite group ring

asked 1 year ago

anonymous user

Anonymous

updated 0 years ago

FrédéricC gravatar image

I'd like to iterate over a group ring kG for small finite |k| and |G| or make a list of its elements so I can run my algorithm on them. (Say A = GroupAlgebra(DihedralGroup(3), GF(2)).) However, attempting to use for i in A or list(A) throws ValueError: variable name '0' does not start with a letter.

How can one circumvent this?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 1 year ago

You can use A.from_vector(...) to convert from vectors to elements of A, and then iterate over the corresponding vector space. For example, since DihedralGroup(3) has 6 elements:

sage: [A.from_vector(v) for v in GF(2)**6]
[0,
 (),
 (1,3,2),
 () + (1,3,2),
 ...

Or without creating the full list of all of the elements:

sage: (A.from_vector(v) for v in GF(2)**6)
<generator object <genexpr> at 0x1567274c0>
sage: for a in (A.from_vector(v) for v in GF(2)**6):
....:     print(a)
....:
Preview: (hide)
link

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

Stats

Asked: 1 year ago

Seen: 136 times

Last updated: Oct 27 '23