API: Numerical Module (pde)¶
Optimized functions and classes for numerical calculations and solving PDEs.
pysymmetry.pde.nfinitegroup = nFiniteGroup
module-attribute
¶
Numerical Functions¶
pysymmetry.pde.ninner_product(G, left, right)
¶
Inner product of characters using conjugacy class aggregation.
INPUT: - G -- group (nFiniteGroup or Sage permutation group) - left -- dictionary representation (g -> sparse matrix) for the left rep - right -- dictionary representation (g -> sparse matrix) for the right rep
OUTPUT:
- int -- the character inner product
EXAMPLES::
sage: # For a regular representation 'reg', <reg, reg> equals |G|
sage: # ninner_product(G, reg, reg)
pysymmetry.pde.ndegree(G, rep)
¶
Degree (matrix size) of a numerical representation.
INPUT: - G -- group - rep -- dictionary representation (g -> sparse matrix)
OUTPUT: - int -- the dimension of the representation space
pysymmetry.pde.nget_block(columm_base, matrix_equiv)
¶
Compute the block of an equivariant matrix in a given column-space basis.
Given columns B spanning an isotypic component and an equivariant matrix A, returns P * A * B, where P is the pseudoinverse of the dense array of B.
INPUT: - columm_base -- SciPy sparse matrix (columns are basis vectors) - matrix_equiv -- SciPy sparse matrix A that commutes with the group action
OUTPUT: - gcsr_matrix -- the block of A restricted to span(B)
NOTE: - This uses a numerical pseudoinverse (NumPy). For exact arithmetic, adapt to Sage exact linear algebra if needed.