aidevnn / FastGoat

What C# can do for studying Finite Groups, quotient groups, semi-direct products, homomorphisms, automorphisms group, characters table, minimalistic rings and fields manipulations, polynomials factoring, fields extensions and many more...
MIT No Attribution
12 stars 1 forks source link

Groups Isomorphism and Fields Isomorphism #59

Closed aidevnn closed 4 months ago

aidevnn commented 4 months ago

Changing the value of prime $p$ for a subgroup of $\textbf{GL}(n,p)$ by a value $q$ with respect that $\textbf{U}_p$ is isomorphic to a subgroup of $\textbf{U}_q$, conducts to an unexpected subgroup $\textbf{GL}(n,q)$ which needs to be corrected.

https://github.com/aidevnn/FastGoat/blob/51ad5e5de921b5e2fa8547d5afb0509fe8ad1519/FastGoat/Examples/GroupMatrixFormPart2.cs#L58-L88

It produces an isomorphism for multiplicative groups of matrices with only one non-null value in each row and column.

These methods require further examination.

aidevnn commented 4 months ago

Consider two multiplicative groups: a subgroup of $\textbf{GL}(n_0,p_0)$, denoted as A, and a subgroup of $\textbf{GL}(n_1,p_1)$, denoted as B. Their Cartesian product, C = A × B, is represented in $\textbf{GL}(n_0+n_1,p)$ by block diagonal matrices.

To fix the unexpected case, an exception is thrown by method ProductMatrixBlock if the generators of group A are not diagonal or permutation matrices and $p_0 \neq p$, and similarly for group B.

https://github.com/aidevnn/FastGoat/blob/05fb9bd72f0e25da5bf3ffb459830974ee0954e4/FastGoat/Examples/GroupMatrixFormPart2.cs#L99-L103