Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Can someone please help me to resolve the error

I am new to SageMath and currently exploring how to find all the normal subgroups of a specific group G. Here's a brief description of G:

Consider the ring R=Z/3Z×Z/3Z, where Z/3Z denotes the field with 3 elements. We define SL_4(R) as the special linear group of 4x4 matrices with entries from R.

The group G is a subgroup of SL_4(R), generated by the following matrices:

[(1, 1) (1, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 1)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (1, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(1, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 1) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 1) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)]

I attempted to write SageMath code to find these normal subgroups, but encountered errors. Could someone please assist me in debugging this code?

# Define the finite field Z/3Z
Z3 = Integers(3)

# Define the ring R as Cartesian product of Z/3Z and Z/3Z
R = Z3.cartesian_product(Z3)

# Define the matrices over R
matrices = [  
    matrix(R, [  
        [(1, 1), (1, 0), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (0, 0), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (0, 1)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ]),  
    matrix(R, [  
        [(1, 1), (0, 1), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (0, 0), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (1, 0)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ]),  
    matrix(R, [  
        [(1, 1), (0, 0), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ])  
]  

# Include their transposes
matrices += [m.transpose() for m in matrices]

# Generate G as the group generated by these matrices
G = MatrixGroup(matrices)

# Find the normal subgroups of G
normal_subgroups = G.normal_subgroups()

# Display the normal subgroups
normal_subgroups

Can someone please help me to resolve the error

I am new to SageMath and currently exploring how to find all the normal subgroups of a specific group G. Here's a brief description of G:

Consider the ring R=Z/3Z×Z/3Z, where Z/3Z denotes the field with 3 elements. We define SL_4(R) as the special linear group of 4x4 matrices with entries from R.

The group G is a subgroup of SL_4(R), generated by the following matrices:

[(1, 1) (1, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 1)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (1, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(1, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 1) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 1) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)]

I attempted to write SageMath code to find these normal subgroups, but encountered errors. Could someone please assist me in debugging this code?

# Define the finite field Z/3Z
Z3 = Integers(3)

# Define the ring R as Cartesian product of Z/3Z and Z/3Z
R = Z3.cartesian_product(Z3)

# Define the matrices over R
matrices = [  
    matrix(R, [  
        [(1, 1), (1, 0), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (0, 0), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (0, 1)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ]),  
    matrix(R, [  
        [(1, 1), (0, 1), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (0, 0), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (1, 0)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ]),  
    matrix(R, [  
        [(1, 1), (0, 0), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ])  
]  

# Include their transposes
matrices += [m.transpose() for m in matrices]

# Generate G as the group generated by these matrices
G = MatrixGroup(matrices)

# Find the normal subgroups of G
normal_subgroups = G.normal_subgroups()

# Display the normal subgroups
normal_subgroups

Can someone please help me Error: trying to resolve the errorfind the normal subgroups of a given group

I am new to SageMath and am currently exploring how to find all the normal subgroups of a specific group G. G. Here's a brief description of G:G:

Consider the ring R=Z/3Z×Z/3Z, R = Z/3Z × Z/3Z, where Z/3Z Z/3Z denotes the field with 3 3 elements. We define SL_4(R) SL(4, R) as the special linear group of 4x4 4 × 4 matrices with entries from R.R.

The group G G is a subgroup of SL_4(R), SL(4, R), generated by the following matrices: matrices:

[(1, 1) (1, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 1)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (1, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(1, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 1) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 1) (1, 1) (0, 0) (0, 0)]
[(0, 0) (0, 0) (1, 1) (0, 0)]
[(0, 0) (0, 0) (1, 0) (1, 1)],

[(1, 1) (0, 0) (0, 0) (0, 0)]
[(0, 0) (1, 1) (0, 0) (0, 0)]
[(0, 0) (1, 1) (1, 1) (0, 0)]
[(0, 0) (0, 0) (0, 0) (1, 1)]

| (1,1)  (1,0)  (0,0)  (0,0) |   
| (0,0)  (1,1)  (0,0)  (0,0) |   
| (0,0)  (0,0)  (1,1)  (0,1) |  
| (0,0)  (0,0)  (0,0)  (1,1) |,  


| (1,1)  (0,1)  (0,0)  (0,0) |  
| (0,0)  (1,1)  (0,0)  (0,0) |  
| (0,0)  (0,0)  (1,1)  (1,0) |  
| (0,0)  (0,0)  (0,0)  (1,1) |,  


| (1,1)  (0,0)  (0,0)  (0,0) | 
| (0,0)  (1,1)  (1,1)  (0,0) |
| (0,0)  (0,0)  (1,1)  (0,0) |
| (0,0)  (0,0)  (0,0)  (1,1) |,


| (1,1)  (0,0)  (0,0)  (0,0) |  
| (1,0)  (1,1)  (0,0)  (0,0) |  
| (0,0)  (0,0)  (1,1)  (0,0) |  
| (0,0)  (0,0)  (0,1)  (1,1) |,  


| (1,1)  (0,0)  (0,0)  (0,0) |
| (0,1)  (1,1)  (0,0)  (0,0) |
| (0,0)  (0,0)  (1,1)  (0,0) |
| (0,0)  (0,0)  (1,0)  (1,1) |,


| (1,1)  (0,0)  (0,0)  (0,0) |  
| (0,0)  (1,1)  (0,0)  (0,0) |  
| (0,0)  (1,1)  (1,1)  (0,0) |  
| (0,0)  (0,0)  (0,0)  (1,1) |

I attempted to write SageMath code to find these the normal subgroups, subgroups of G but encountered errors. Could someone please assist me in debugging this code?Here's the code I used:

# Define the finite field Z/3Z
Z3 = Integers(3)
Integers(3)    

# Define the ring R as a Cartesian product of Z/3Z and Z/3Z
R = Z3.cartesian_product(Z3)
Z3.cartesian_product(Z3)    

# Define the matrices over R
matrices = [   
    matrix(R, [  
        [(1, 1), (1, 0), (0, 0), (0, 0)],   
        [(0, 0), (1, 1), (0, 0), (0, 0)],   
        [(0, 0), (0, 0), (1, 1), (0, 1)],   
        [(0, 0), (0, 0), (0, 0), (1, 1)]   
    ]),   
    matrix(R, [   
        [(1, 1), (0, 1), (0, 0), (0, 0)],   
        [(0, 0), (1, 1), (0, 0), (0, 0)],   
        [(0, 0), (0, 0), (1, 1), (1, 0)],   
        [(0, 0), (0, 0), (0, 0), (1, 1)]   
    ]),   
    matrix(R, [  
        [(1, 1), (0, 0), (0, 0), (0, 0)],  
        [(0, 0), (1, 1), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (1, 1), (0, 0)],  
        [(0, 0), (0, 0), (0, 0), (1, 1)]  
    ])  
]  

# Include their transposes
matrices += [m.transpose() for m in matrices]

# Generate G as the group generated by these matrices
G = MatrixGroup(matrices)

# Find the normal subgroups of G
normal_subgroups = G.normal_subgroups()

# Display the normal subgroups
normal_subgroups

Expected Outcome: I expected the code to list all the normal subgroups of the group G.

Actual Outcome: I encountered the following error message:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File /home/sc_serv/sage/src/sage/structure/category_object.pyx:847, in sage.structure.category_object.CategoryObject.getattr_from_category()
    846 try:
--> 847     return self._cached_methods[name]
    848 except KeyError:

KeyError: 'normal_subgroups'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
Cell In [1], line 36
     33 G = MatrixGroup(matrices)
     35 # Find the normal subgroups of G
---> 36 normal_subgroups = G.normal_subgroups()
     38 # Display the normal subgroups
     39 normal_subgroups

File /home/sc_serv/sage/src/sage/structure/category_object.pyx:841, in sage.structure.category_object.CategoryObject.__getattr__()
    839         AttributeError: 'PrimeNumbers_with_category' object has no attribute 'sadfasdf'...
    840     """
--> 841     return self.getattr_from_category(name)
    842 
    843 cdef getattr_from_category(self, name) noexcept:

File /home/sc_serv/sage/src/sage/structure/category_object.pyx:856, in sage.structure.category_object.CategoryObject.getattr_from_category()
    854     cls = self._category.parent_class
    855 
--> 856 attr = getattr_from_other_class(self, cls, name)
    857 self._cached_methods[name] = attr
    858 return attr

File /home/sc_serv/sage/src/sage/cpython/getattr.pyx:357, in sage.cpython.getattr.getattr_from_other_class()
    355     dummy_error_message.cls = type(self)
    356     dummy_error_message.name = name
--> 357     raise AttributeError(dummy_error_message)
    358 cdef PyObject* attr = instance_getattr(cls, name)
    359 if attr is NULL:

AttributeError: 'FinitelyGeneratedMatrixGroup_generic_with_category' object has no attribute 'normal_subgroups'

Request: Could someone please help me understand why this error occurs and how to fix it? Specifically, I would like to know:

  1. Why the normal_subgroups method is not available for the matrix group G.

  2. How to correctly find the normal subgroups of G in SageMath.

Any assistance in debugging this code or providing a correct approach would be greatly appreciated.