2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 GMP Library
Сообщение22.04.2011, 20:34 
Здравствуйте!
Кто-нибудь работал с библиотекой GMP?

Проблема в том, что у меня каждый раз генерируется одна и та же последовательность случайных
чисел. В хелпе к либе написано, что за последовательности отвечает функция gmp_randseed(gmp _rand_state state,mpz_t seed)
Значение seed я ставлю побольше (ну там 1000000)

Сначала я иницилиализирую генератор чисел
gmp_randinit_default(GENERATOR);

Затем ставлю распределение
gmp_randseed(GENERATOR,10000000)

и после этого вызываю функции для генерации чисел..

 
 
 
 Re: GMP Library
Сообщение22.04.2011, 20:41 
Если Вы все время используете одно и то же значение seed, то всегда будете получать одну и ту же последовательность псевдослучайных чисел.

Инициализируйте чем-нибудь типа системного времени.

 
 
 
 Re: GMP Library
Сообщение22.04.2011, 20:45 
Ага, теперь все ясно, спасибо ;)
Тогда типа:

srand(time(NULL);
gmp_randseed(G,rand()%RAND_MAX)

 
 
 
 Re: GMP Library
Сообщение24.04.2011, 19:07 
Снова вопрос по GMP

При генерации вещественных чисел получаемые значения не дотягивают до заданной точности (если ставить точность от 20 и выше знаков)
Точность задаю через mpf_set_default_prec(pr);

Например, если ставить точность 90 знаков, генерируются знаков 30 :roll:
В чем может быть дело?

 
 
 
 Re: GMP Library
Сообщение25.04.2011, 00:00 
Может, точность промежуточных значений должна быть больше?

 
 
 
 Re: GMP Library
Сообщение26.04.2011, 06:33 
venco, не понимаю ответа, что значит точность промежуточных значений?

 
 
 
 Re: GMP Library
Сообщение28.04.2011, 22:35 
Функция mpf_set_default_prec(pr) задает точность в битах, а не знаках!
если pr=90, то максимальное десятичное число, которое может уместиться в 90 битах $2^9^0=1237940039285380274899124224$, т.е. около 27 знаков.

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group