Skip to content

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.