mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Factoring (https://www.mersenneforum.org/forumdisplay.php?f=19)
-   -   Questions about GGNFS (https://www.mersenneforum.org/showthread.php?t=4983)

ValerieVonck 2005-11-12 17:37

Questions about GGNFS
 
1 Attachment(s)
Hi group,

I have been following the discussions here & at the yahoo group for several moths and so I decided to do a small factorization of my own with a C97 already factored with Msieve.

First question: How long should polyselect run? May I stop it beforehand?

Here is the input file of wich the factorization is to be based:

[code]
n: 6473505215178210198448635234580512345563700196916507763953780507168677982174813186065451228191421
name: C97
deg: 5
bf: best.poly
maxs1: 58
maxskew: 1500
enum: 8
e0: 1
e1: 1000000000
cutoff: 1.5e-3
examinefrac: 0.25
j0: 220
j1: 15

# type,digits,deg,maxs1,maxskew,goodScore,efrac,j0,j1,eStepSize,
# maxTime,rlim,alim,lpbr,lpba,mfbr,mfba,rlambda,alambda,qintsize

#gnfs,100
[/code]

So after a while (1+ hour) I ended it.
It produced the following best.poly file & all.poly file:

[code]
name: C97
n: 6473505215178210198448635234580512345563700196916507763953780507168677982174813186065451228191421
m: 729025966006600964
deg: 5
c5: 31435800
c4: 1595602934
c3: -35326910305229
c2: 58973480284143409
c1: -287043566529644939
c0: -46816359669162186215
skew: 895.848
type: gnfs
# These parameters should be manually set:
rlim: 1800000
alim: 1800000
lpbr: 26
lpba: 26
mfbr: 48
mfba: 48
rlambda: 2.5
alambda: 2.5
qintsize: 100000
q0: 1800000
[/code]

Then I proceded to sieving step (from the pdf file)
The siever produced about 580K lines in 60M file:

[code]
gnfs-lasieve4I12e -k -o spairs.out -v -a best.poly
[/code]

Next step (following the pdf from the Yahoo! group) makefb

[code]
C:\...\ggnfs>makefb.exe -of c97.fb -rl 1800000 -al 1800000 -lpbr 26 -lpba 29 -3p -if best.poly
Making factor base...Generating AFB with norms upto 1800000...
Making algebraic factor base.
Checking p=1583539...(total=120000)
Elapsed time: 7 seconds.
Factor base sucessfully created.

C:\....\ggnfs>
[/code]

Next step is procrels


[code]
procrels -fb snfs.fb -newrel spairs.out -maxrelsinff 40
[/code]

This produced rels.bin.0

Next step matbuild

[code]
C:\...\ggnfs>matbuild -fb c97.fb -prel rels.bin
[/code]

It stated that it need much more relations!

[code]
.......
mkLT: There appear to be no large primes in the specified range.
* There are now 6288 full relations.
After keepFulls(), R->numFields = 6288
More columns needed (current = 6288, min = 270287)
[/code]

Can anyone pleae give me a kind of documented manual on how to work with ggnfs (no perl script please)
and point out what I have done wrong?

And how to correct it?

Thank you.

Ps. Sorry for the long post
PPs. I am not very good @ maths :whistle: :whistle: :coffee: :nuke: :redface:

smh 2005-11-12 19:40

[QUOTE=CedricVonck]
First question: How long should polyselect run? May I stop it beforehand?
[/QUOTE]

Don't use polyselect. There's a [B]much[/B] better poly selection tool in the latest versions. It can be found under ..\src\pol5

[QUOTE=CedricVonck]
Next step matbuild

[code]
C:\...\ggnfs>matbuild -fb c97.fb -prel rels.bin
[/code]

It stated that it need much more relations!

[code]
.......
mkLT: There appear to be no large primes in the specified range.
* There are now 6288 full relations.
After keepFulls(), R->numFields = 6288
More columns needed (current = 6288, min = 270287)
[/code]

Can anyone pleae give me a kind of documented manual on how to work with ggnfs (no perl script please)
and point out what I have done wrong?[/QUOTE]

Sorry, no manual.

But what makes you think you've done something wrong? You just need (a lot) more sieving.

IIRC even a c97 takes a long time with polynomials generated by polyselect.

With the current polyselect tool a c97 takes about as long as (some older version of) msieve on my P4

ValerieVonck 2005-11-12 20:23

Ok tommorow I will play a bit with pol5m0n (?) & pol5opt (included in tha package) :wink:

But my question remains, how lonng it usual take to select a decent polynomial?

Will the program end itself when it finds it most perfect one?

How do I tell the siever to sieve much more?

BTW, I use the supplied def-par.txt from the Yahoo! group.

Thank you.

R.D. Silverman 2005-11-12 23:14

[QUOTE=CedricVonck]Ok tommorow I will play a bit with pol5m0n (?) & pol5opt (included in tha package) :wink:

But my question remains, how lonng it usual take to select a decent polynomial?

Will the program end itself when it finds it most perfect one?

How do I tell the siever to sieve much more?

BTW, I use the supplied def-par.txt from the Yahoo! group.

Thank you.[/QUOTE]

You should spend perhaps 5-10% of the total CPU effort
on finding a good polynomial. It does pay off.

There is no such thing as a 'perfect' polynomial.

Perhaps if you read some papers on the algorithm, you might
understand it better?

Kosmaj 2005-11-13 00:07

[QUOTE=CedricVonck]How do I tell the siever to sieve much more?[/QUOTE]

In the best.poly file set, for example
qintsize: 300000
q0: 1900000

Then run lasieve again, followed by procrels and mathbuild. If even more relations are required then repeat the {lasieve, procrels, mathbuild } sequence setting always:
q0 = q0 + qintsize
and qintsize to a certain value between 50000 and 300000 (for this particular case) until you have enough relations.

The supplied perl script is doing exactly the same thing automatically.

ValerieVonck 2005-11-13 10:46

[QUOTE=R.D. Silverman]You should spend perhaps 5-10% of the total CPU effort
on finding a good polynomial. It does pay off.

There is no such thing as a 'perfect' polynomial.

Perhaps if you read some papers on the algorithm, you might
understand it better?[/QUOTE]

Mr. Silverman,

I have read the "bob.pdf" & the ggnfs manual from the Yahoo! group and also about every topic here & over @ Yahoo!.

But [B]everything[/B] about NFS is way beyond my mathematical capabilities.
What I need I some one who explains to me with clear & in low level terms how a factorization is done.

I am only want to learn something new. I know its gonna take some time.
But I know I will arrive there!!

ValerieVonck 2005-11-13 10:48

[QUOTE=Kosmaj]In the best.poly file set, for example
qintsize: 300000
q0: 1900000

Then run lasieve again, followed by procrels and mathbuild. If even more relations are required then repeat the {lasieve, procrels, mathbuild } sequence setting always:
q0 = q0 + qintsize
and qintsize to a certain value between 50000 and 300000 (for this particular case) until you have enough relations.

The supplied perl script is doing exactly the same thing automatically.[/QUOTE]

Ok will do!

VJS 2005-11-15 19:18

Yes it would certainly be nice to have a step1 step2 step3 etc for the noobie, I learn through example as well.

I tried doing a ggnfs this weekend, using the perlscript... had a logical disk error and lost everything, not sure if the c108 factored or not I'll have to redo obviously.

-------------------------

Regardless does anyone have a direct link to the latest and greatest factlat.pl?
I'm starting from scratch (again) ...
This time I'm starting with the athlon snapshot as opposed to a compile, weird I'm now getting a low 0.013 sec/rel as opposed to 0.018 sec/rel from the c108. Both times I used polyselect.

WHat is the command line for pol51m0b anyways? is it the same

poly51m0b -if number.n

where
number.n contains

name: name
n: the number
deg: 4-5
type: gnfs

I believe the above is the absolute min to start with... other parameters can be entered at this time using def-par.txt?

Anyways this is the .poly files I started an older version of factlat.pl with

name: c109a
n: 3161408079236972418648762395003025398567069728621718592957270452731414521227196914294390930687994503364643777
m: 192672626643261667764
deg: 5
c5: 11906400
c4: 7001524203
c3: -18725523571157238
c2: -293653309905877447
c1: 718961681593150391157
c0: 41684310800435063945965
skew: 327.387
type: gnfs
# adj. I(F,S) = 52.438
# E(F1,F2) = 1.910665e-004
# GGNFS version 0.77.1-20050930-athlon polyselect.
# Options were:
# lcd=1, enumLCD=0, maxS1=61.00000000, seed=1132078922.
# maxskew=2000.0
# These parameters should be manually set:
rlim:
alim:
lpbr:
lpba:
mfbr:
mfba:
rlambda:
alambda:
qintsize:

VJS 2005-11-15 19:23

Maybe an easier question to answer...

Can anyone give a step by step for creating a poly from pol51 and time investment.

According to Dr.Silverman and smh I'm now wondering if I spent enough time running polyselect (2 hours for a c109) or if I should just start again using pol51.

FYI: I'm getting 0.013 sec/rel with a deg:5 on a c109 with a 2.3G barton chip.

ValerieVonck 2005-11-15 20:02

1 Attachment(s)
VJS,

You have to put confugre poly5opt with options from the following file.
For the rest I do not know how to run it.

I don't know where to get the latest perl script.

Regards

VJS 2005-11-15 20:33

1 Attachment(s)
Thanks,

In my haste to get things working again I missed the two different def-par files. This explains the a5 error...

I'm pretty sure the simplest non-efficient way of getting this started is as follows...

create one file in notepad with the following lines

name: "some simple name c109 etc"
n: the decimal number

example:

name: c109
n: 3161408079236972418648762395003025398567069728621718592957270452731414521227196914294390930687994503364643777

save it as c109.n not c109.n.txt or anthing else.

Then run the perlscript

factlat.pl -if c109.n

It worked!!! Efficently probably not if your Dr. Silverman. Does it work if you don't know where to start, Yes... I think. Personally I'd rather create my own poly file but this way is easy.

I'll attach the perscript I'm using hopefully everything is working now.


All times are UTC. The time now is 04:39.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.