Last change
on this file since 3 was 1, checked in by Marek Rychlik, 17 years ago |
First import of a version circa 1997.
|
File size:
1.1 KB
|
Rev | Line | |
---|
[1] | 1 | \begin{lisp:documentation}{modular$-$inverse}{FUNCTION}{x p }
|
---|
| 2 | Find the inverse of X modulo prime P, using Euclid algorithm.
|
---|
| 3 | \end{lisp:documentation}
|
---|
| 4 |
|
---|
| 5 | \begin{lisp:documentation}{modular$-$division}{FUNCTION}{x y p }
|
---|
| 6 | Divide X by Y modulo prime P.
|
---|
| 7 | \end{lisp:documentation}
|
---|
| 8 |
|
---|
| 9 | \begin{lisp:documentation}{*inverse$-$by$-$lookup$-$limit*}{VARIABLE}{100000 }
|
---|
| 10 | If prime modulus is $<$ this number then the division algorithm
|
---|
| 11 | will use a lookup table of inverses created at the time when
|
---|
| 12 | field$-$modulo$-$prime is called.
|
---|
| 13 | \end{lisp:documentation}
|
---|
| 14 |
|
---|
| 15 | \begin{lisp:documentation}{make$-$inverse$-$table}{FUNCTION}{modulus {\sf \&aux} (table (list 0)) }
|
---|
| 16 | Make a vector of length MODULUS containing all inverses modulo
|
---|
| 17 | MODULUS, which should be a prime number. The inverse of 0 is 0.
|
---|
| 18 | \end{lisp:documentation}
|
---|
| 19 |
|
---|
| 20 | \begin{lisp:documentation}{make$-$modular$-$division}{FUNCTION}{modulus }
|
---|
| 21 | Return a function of two arguments which will perform division
|
---|
| 22 | modulo MODULUS. Currently, if MODULUS is $<$
|
---|
| 23 | *INVERSE$-$BY$-$LOOKUP$-$LIMIT* then the returned function does table
|
---|
| 24 | lookup, otherwise it uses the Euclid algorithm to find the inverse.
|
---|
| 25 | \end{lisp:documentation}
|
---|
| 26 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.