PARI include (printre multe alte lucruri) o implementare a algoritmului lui Schoof (mai precis algoritmul Schoof-Elkies-Atkin).
? p = 115792089237316195423570985008687907853269984665640564039457584007908834671663
%1 = 115792089237316195423570985008687907853269984665640564039457584007908834671663
? ellcard(ellinit([0,7], p))
%2 = 115792089237316195423570985008687907852837564279074904382605163141518161494337
Este open source, așa că puteți privi cu ușurință în interior.
Dacă nu doriți să instalați PARI, CoCalc vă permite să rulați PARI (sau Sage) într-un browser. Doar porniți un nou proiect și în interiorul acestuia un nou terminal Linux, introduceți „gp” și sunteți oprit și rulați în PARI.
Alternativ, puteți face calculul direct în Salvie (pe care îl puteți rula și prin CoCalc: New â Sage worksheet), dar acest lucru nu vă oferă nicio implementare nouă, deoarece Sage doar apelează PARI pentru această funcție:
salvie: p = 115792089237316195423570985008687907853269984665640564039457584007908834671663
sage: EllipticCurve(GF(p), [0,7]).order()
115792089237316195423570985008687907852837564279074904382605163141518161494337
Pentru documentare în PARI:
? ?ellcard
ellcard(E,{p}): dată o curbă eliptică E definită pe un câmp finit Fq,
returnează ordinea grupului E(Fq); pentru alte domenii de definiție K, p trebuie
definiți un câmp finit de reziduuri, (p prim pentru K = Qp sau Q; p un ideal maxim pentru
K un câmp numeric), returnează ordinea reducerii (nesingulare) a lui E.
Pentru documentare în Sage:
salvie: E = Curba eliptică(GF(p), [0,7])
sage: E.comanda?
sage: E.comanda??