You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define a unitary version of the SGA DFT
By ensuring every representation of G is unitary, the overall DFT can be made unitary by including \sqrt{d_\rho/|G|} in front of each Fourier coefficient. To make the rep'ns unitary, we make use of Weyl's unitary trick. Rather than using Gram-Schmidt orthonormalization, we opt to compute the "sum of squares" matrix P = \sum_{g \in G} \rho(g)\rho(g)*dg and set Q=\sqrt{P} where Q is the principal square root.
use self.group() instead of G
remove a def lines maintaining readability
include form option for "unitary"
remove whitespace
remove whitespace in doctest
remove all whitespace
Revert "remove all whitespace"
This reverts commit b6d289c.
remove all whitespace
one line before nested def
more whitespace
proper usage of order, cardinality, degree
for 1/|G|, should use G.cardinality
for n, one should use n = G.degree()
simplify the output which is in symbolic ring SR
compute a square root in the base ring of Q
note Q is the change-of-basis matrix making the representation unitary. when we extend to positive characteristic, we will need to ensure square roots are computable in that field
simplify conjugate_transpose_pos_char
remove .simplify_full() from doctest
need to be computing square roots in some ring. some problems may be occurring if the working over the symbolic ring
just use sqrt
manually use principal_square_root
need to ensure that the resulting matrix is defined over some field rather than just the SymbolicRing.
use self instead of "SGA"
remove blank line before def
remove whitespace
add blank line before def
just remove comments
self instead of SGA
just return with simplify_full() for now
working over a ring which contains all required square roots will take some time
slight difference in expected output
change polynomial ring notation to remove lint error
work over a number field
when working over \Q or extensions thereof, we need to ensure all required square roots are available. precompute a field extension of self.base_ring() containing all roots, which are the roots on the diagonal in the unitary change-of-basis matrix square root, as well as the unitary factors \sqrt{d_\rho/|G|}.
0 commit comments