This project uses various Laguerre methods to solve polynomials.
Научный руководитель: Парфенов Денис Васильевич (promasterden@yandex.ru)
КМБО-03-20: Александр Шашков (alexandershashkov0@yandex.ru), Вячеслав Иванов (noviacheslav1@gmail.com), Глеб Дорошенко (dgleb02@mail.ru), Дмитрий Балашов (dimabalash0v@yandex.ru), Роман Охотников (roma.ohotnikov@gmail.com), Шахин Гаджиев (shakhingadzhiev@yandex.ru)
-
SOLVER: The solver to use. Default is2. Options are:0: Original Laguerre implementation1: On a family of Laguerre methods to find multiple roots of nonlinear equations2: An effective implementation of a modified Laguerre method for the roots of a polynomial
-
NUMBER: The number type to use. Default isdouble. -
EXPONENTandMANTISSA: Used for root generator. Default values are4and32respectively. -
DEGREE: The degree of the polynomials. Default is100. -
N_TESTS: The number of tests to run. Default is10000. -
N_PAIRS_OF_COMPLEX_ROOTS,N_CLUSTERED_ROOTS,N_MULTIPLE_ROOTS: Parameters for the generator. If all are zero, then the generator will create only simple roots. Default values are0,0, and0respectively. -
MAX_DISTANCE_BETWEEN_CLUSTERED: Used only for clustered roots. Default is1e-5. -
ROOT_SWEEP_LOWandROOT_SWEEP_HIGH: The range for the root sweep. Default values are-1.0and1.0respectively. -
TRIES: The number of iterations Laguerre should try to solve the polynomial. Default is80.
To compile the program, run make.
To clean up the compiled files, run make clean.
For example, to run modified version of Laguerre with float type for polynomials degree of 5: make SOLVER=2 NUMBER=float DEGREE=5
We dont recommend to use float type for polynomial generation with degree higher than 5 - resulting coefficients will loose huge amount of precision during convertation from bignum to float. Double fails to work on degree greater than or equal to 200.