11-17-2017, 09:35 AM
For natural number input N the programme below returns the Nth element of the series
https://oeis.org/A111138
described as
"For a subgroup H of order p^n (p an odd prime) of the subgroup generated by all commutators [x_j,x_i] in the relatively free group F of class three and exponent p, freely generated by x_1, x_2,..., x_k, (k sufficiently large) the minimum size of the subgroup of [H,F] of F_3 is p^{kn - a(n)}.
The sequence arises when finding a purely numerical sufficient condition for the capability of p-groups of class two and exponent p, where p is an odd prime."
Whatever you make of the description, the programme below is fairly simple but slow.
Could everyone please try to find a faster programme &/or a better algorithm?
The sub-programme ID ISQRT is here
http://www.hpmuseum.org/forum/thread-383...quare+root
Size: 179.5
CkSum: # 36635d
https://oeis.org/A111138
described as
"For a subgroup H of order p^n (p an odd prime) of the subgroup generated by all commutators [x_j,x_i] in the relatively free group F of class three and exponent p, freely generated by x_1, x_2,..., x_k, (k sufficiently large) the minimum size of the subgroup of [H,F] of F_3 is p^{kn - a(n)}.
The sequence arises when finding a purely numerical sufficient condition for the capability of p-groups of class two and exponent p, where p is an odd prime."
Whatever you make of the description, the programme below is fairly simple but slow.
Could everyone please try to find a faster programme &/or a better algorithm?
The sub-programme ID ISQRT is here
http://www.hpmuseum.org/forum/thread-383...quare+root
Size: 179.5
CkSum: # 36635d
Code:
::
CK1&Dispatch
# FF
::
ZINT 0
SWAP
BEGIN
DUP
ZINT 3
Z>
WHILE
::
ZINT 1
FPTR2 ^RSUBext
DUP
ZINT 8
FPTR2 ^RMULText
ZINT 1
FPTR2 ^RADDext
ID ISQRT
DROP
ZINT 1
FPTR2 ^RSUBext
DUP
FPTR2 ^ZAbs
FPTR2 ^QIsZero?
?SEMI
ZINT 2
FPTR2 ^ZQUOText
FPTR2 ^RSUBext
DUPUNROT
FPTR2 ^RADDext
SWAP
;
REPEAT
ZINT 3
EQUAL
NOT?SEMI
ZINT 1
FPTR2 ^RADDext
;
;