HP Forums
(33S) Pollard's Rho Factorisation - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: General Software Library (/forum-13.html)
+--- Thread: (33S) Pollard's Rho Factorisation (/thread-3764.html)



(33S) Pollard's Rho Factorisation - Gerald H - 05-02-2015 10:40 AM

The main programme is SPLIT: given a positive composite integer input N, SPLIT returns a factor < N , possibly neither the smallest nor prime. Maximum value of N is 10^12-1.

LN= gives the size of the programme, CK= is the check sum - these two measures are depressingly meaningful in this calculator, if length or check sum is different on your machine, this has no transcendent meaning, you have simply mis-typed the programme.

The sub programme F takes input integer & calculates the square modulo A, -A must be in B.

F1 LBL F SQUARE MODULO 

F2 ENTER

F3 ENTER

F4 1000000

F5 RMDR

F6 STO Z

F7 -

F8 ENTER

F9 x2

F10 RCL B

F11 RMDR

F12 x<>y

F13 RCL* Z

F14 RCL A

F15 RMDR

F16 ENTER

F17 RCL- A

F18 +

F19 RCL A

F20 RMDR

F21 +

F22 RCL B

F23 RMDR

F24 RCL Z

F25 x2

F26 +

F27 RCL A
LN=99
F28 RMDR
CK=9D84
F29 RTN

Given integers in stack levels X & Y programme X returns the greatest common divisor of the two integers.

X1 LBL X GREATEST COMMON FACTOR

X2 RMDR

X3 LASTx

X4 x<>y

X5 x≠0?

X6 GTO X

X7 R↓
LN=27
X8 ABS
CK=848A
X9 RTN

Programme L finds small factors of input N, the number to be factored. Line 21 suggests alternative upper limits for the search.

L1 LBL L SMALL FACTORS

L2 +/-

L3 STO B

L4 +/-

L5 STO A

L6 4

L7 x>y?

L8 RTN

L9 CLx

L10 2

L11 RMDR

L12 x=0?

L13 RTN

L14 RCL A

L15 √x

L16 FP

L17 x=0?

L18 RTN

L19 LASTx

L20 IP

L21 113 Or 199 Or 283

L22 x>y?

L23 x<>y

L24 1000

L25 ÷

L26 300.002
LN=144
L27 +
CK=BFDC
L28 STO I

A1 LBL A

A2 RCL A

A3 RCL I

A4 IP

A5 RMDR

A6 x=0?

A7 RTN

A8 ISG I

A9 GTO A

A10 1
LN=48
A11 STO C
CK=1B8C
A12 RTN

N1 LBL N

N2 CLx

N3 RCL A

N4 x<>y

N5 x≠y?
LN=21
N6 RTN
CK=33B3
N7 ISG C

D1 LBL D POLLARD’S RHO

D2 1

D3 STO V

D4 STO U

D5 RANDOM

D6 RCL* A
LN=36
D7 IP
CK=9C81
D8 STO X

J1 LBL J

J2 XEQ F

J3 RCL+ C

J4 ENTER

J5 RCL- X

J6 RCL A

J7 XEQ X

J8 1

J9 x≠y?

J10 GTO N

J11 R↓

J12 R↓

J13 DSE U

J14 GTO J

J15 RCL V

J16 RCL+ V

J17 STO V
LN=69
J18 STO U
CK=3D16
J19 R↓

V1 LBL V

V2 XEQ F

V3 RCL+ C

V4 DSE U

V5 GTO V

V6 STO X

V7 RCL V
LN=30
V8 STO U

V9 R↓
CK=098A
V10 GTO J

S1 LBL S SPLIT

S2 XEQ L

S3 x≠0?

S4 GTO D

S5 RCL A
LN=21
S6 LASTx
CK=90F8
S7 RTN