## Point multiplication with PARI

Calculating point multiplication with a very big number in PARI

```Last login: Thu Nov 19 10:29:35 on ttys002
CGs-MacBook:~ chika\$ gp

GP/PARI CALCULATOR Version 2.1.7 (released)
unknown 32-bit version
(readline v5.0 enabled, extended help available)

Copyright (C) 2002 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and
comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?12 for how to get moral (and possibly technical) support.

realprecision = 28 significant digits
seriesprecision = 16 significant terms
format = g0.28

parisize = 4000000, primelimit = 500000
(13:50) gp > ? ellpow
ellpow(e,x,n): n times the point x on elliptic curve e (n in Z).

(14:00) gp > ellpow(E,z,10)
%9 = [Mod(4180294501348368083809563235021370057375591405930992803205, 6277101735386680763835789423207666416083908700390324961279), Mod(1227781623738814009517798297176766391967714436501424281520, 6277101735386680763835789423207666416083908700390324961279)]
(14:00) gp > u=ellpow(E,z,10)
%10 = [Mod(4180294501348368083809563235021370057375591405930992803205, 6277101735386680763835789423207666416083908700390324961279), Mod(1227781623738814009517798297176766391967714436501424281520, 6277101735386680763835789423207666416083908700390324961279)]
(14:00) gp > ellisoncurve(E, u)
%11 = 1
(14:01) gp > ellpow(E,z,x)
***   sorry, powell for nonintegral or non CM exponents is not yet implemented.
(14:01) gp > x
%12 = Mod(602046282375688656758213480587526111916698976636884684818, 6277101735386680763835789423207666416083908700390324961279)
(14:02) gp > z
%13 = [Mod(602046282375688656758213480587526111916698976636884684818, 6277101735386680763835789423207666416083908700390324961279), Mod(174050332293622031404857552280219410364023488927386650641, 6277101735386680763835789423207666416083908700390324961279)]
(14:02) gp > n = 602046282375688656758213480587526111916698976636884684818
%14 = 602046282375688656758213480587526111916698976636884684818
(14:02) gp > ellpow(E,z,n)
%15 = [Mod(4013698849075654558075584527424681810007648214270260418090, 6277101735386680763835789423207666416083908700390324961279), Mod(849673542270026574908323327879249398221278430546058704302, 6277101735386680763835789423207666416083908700390324961279)]
(14:02) gp > u=ellpow(E,z,n)
%16 = [Mod(4013698849075654558075584527424681810007648214270260418090, 6277101735386680763835789423207666416083908700390324961279), Mod(849673542270026574908323327879249398221278430546058704302, 6277101735386680763835789423207666416083908700390324961279)]
(14:03) gp > ellisoncurve(E, u)
%17 = 1
(14:03) gp > d = n
%18 = 602046282375688656758213480587526111916698976636884684818
(14:04) gp > Q = ellpow(d,z)
***   expected character: ',' instead of: Q=ellpow(d,z)
^-

(14:04) gp > Q=ellpow(E,z,d)
%19 = [Mod(4013698849075654558075584527424681810007648214270260418090, 6277101735386680763835789423207666416083908700390324961279), Mod(849673542270026574908323327879249398221278430546058704302, 6277101735386680763835789423207666416083908700390324961279)]
(14:05) gp >
```