DeRhamComputation/as_covers/group_action_matrices.sage

53 lines
1.9 KiB
Python
Raw Normal View History

2024-02-08 20:25:10 +01:00
def as_group_action_matrices(F, space, list_of_group_elements, basis):
n = len(list_of_group_elements)
d = len(space)
A = [matrix(F, d, d) for i in range(n)]
for i, g in enumerate(list_of_group_elements):
for j, omega in enumerate(space):
omega1 = omega.group_action(g)
v1 = omega1.coordinates(basis = basis)
A[i][:, j] = vector(v1)
return A
2024-02-08 20:25:10 +01:00
def as_group_action_matrices_holo(AS, basis=0, threshold=10):
n = AS.height
generators = []
for i in range(n):
ei = n*[0]
ei[i] = 1
generators += [ei]
2023-11-29 09:50:29 +01:00
if basis == 0:
basis = AS.holomorphic_differentials_basis(threshold=threshold)
2024-01-23 19:53:29 +01:00
F = AS.base_ring
2024-02-08 20:25:10 +01:00
return as_group_action_matrices(F, basis, generators, basis = basis)
as_cover.group_action_matrices_holo = as_group_action_matrices_holo
2024-06-10 19:55:49 +02:00
def as_group_action_matrices_dR(AS, basis = 0, threshold=8):
n = AS.height
generators = []
2024-06-10 19:55:49 +02:00
F = AS.base_ring
for i in range(n):
ei = n*[0]
ei[i] = 1
generators += [ei]
2024-06-10 19:55:49 +02:00
if basis == 0:
holo_basis = AS.holomorphic_differentials_basis(threshold = threshold)
str_basis = AS.cohomology_of_structure_sheaf_basis(holo_basis = holo_basis, threshold = threshold)
dr_basis = AS.de_rham_basis(holo_basis = holo_basis, cohomology_basis = str_basis, threshold=threshold)
basis = [holo_basis, str_basis, dr_basis]
2024-02-08 20:25:10 +01:00
return as_group_action_matrices(F, basis[2], generators, basis = basis)
as_cover.group_action_matrices_dR = as_group_action_matrices_dR
2022-11-18 15:00:34 +01:00
2024-02-08 20:25:10 +01:00
def as_group_action_matrices_log_holo(AS):
2023-09-22 08:45:48 +02:00
n = AS.height
generators = []
for i in range(n):
ei = n*[0]
ei[i] = 1
generators += [ei]
2024-01-23 19:53:29 +01:00
F = AS.base_ring
2024-02-08 20:25:10 +01:00
return as_group_action_matrices(F, AS.at_most_poles_forms(1), generators, basis = AS.at_most_poles_forms(1))
as_cover.group_action_matrices_log_holo = as_group_action_matrices_log_holo