Skip to content

Build and verify an isomorphism between two presentations of F_25

Continuously checked

This is the exact source run by make test-examples and the ordinary Python test gate.

Domains: numthy

Source: examples/09_finite_field_isomorphisms.py

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Build and verify an isomorphism between two presentations of F_25."""

from noether.numthy import FiniteField


def main() -> None:
    source = FiniteField.extension(5, 2)
    target = FiniteField.with_modulus(5, [2, 0, 1])
    isomorphism = source.isomorphism_to(target)
    isomorphism.verify()
    value = source.element_from_coefficients([3, 2])
    assert isomorphism.apply_inverse(isomorphism(value)) == value
    print(f"a maps to {isomorphism.generator_image}")


if __name__ == "__main__":
    main()

Run it

.venv/bin/python examples/09_finite_field_isomorphisms.py