mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-11 10:20:19 +01:00
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
=head1 NAME
|
|
|
|
lap - compute least annihilating power of a number
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
lap <a> <m>
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The B<lap> program computes the order of I<a> modulo I<m>, for
|
|
arbitrary precision integers I<a> and I<m>. The B<order> of I<a>
|
|
modulo I<m> is defined as the smallest positive value I<n> for which
|
|
I<a> raised to the I<n>th power, modulo I<m>, is equal to 1. The
|
|
order may not exist, if I<m> is composite.
|
|
|
|
=head1 RESTRICTIONS
|
|
|
|
This program is very slow, especially for large moduli. It is
|
|
intended as a way to help find primitive elements in a modular field,
|
|
but it does not do so in a particularly inefficient manner. It was
|
|
written simply to help verify that a particular candidate does not
|
|
have an obviously short cycle mod I<m>.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
gcd(1), invmod(1), isprime(1)
|
|
|
|
=head1 AUTHOR
|
|
|
|
Michael J. Fromberger <sting@linguist.dartmouth.edu>
|
|
Thayer School of Engineering, Hanover, New Hampshire, USA
|