roots

Jason Moxham J.L.Moxham@maths.soton.ac.uk
Sat, 30 Nov 2002 23:10:16 +0000


--------------Boundary-00=_4DWEBXFVVHVPRLB9QZ03
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Preliminary replacements (attached) for=20
mpz_root
"mpn_rootrem"


All the basic fns are there now , it just needs tuneing and threshold twe=
eking=20
, and cleaning up (if gmp wants it?)

There is no direct replacement for mpn_rootrem , so I have replaced mpz_r=
oot=20
which is the only function that uses it.

So the only functions that have changed are the undocumented ones.
A mpn_rootrem could be writen if a use for it is found/wanted ,=20
and I do use the existing mpn_rootrem for very small n=20
=20
There is quite a bit of code , but some of it could be used elsewhere eg=20
perfect_power_testing (definitely) and newton inversion(if its fast)

jason

--------------Boundary-00=_4DWEBXFVVHVPRLB9QZ03
Content-Type: application/x-tbz;
  name="root.tar.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="root.tar.bz2"

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
YoRYoWSYZ3c7DqEJ/+LuSKcKEgkdyhOA

--------------Boundary-00=_4DWEBXFVVHVPRLB9QZ03
Content-Type: text/plain;
  charset="us-ascii";
  name="timings"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="timings"

compairing gmp-4.1 int mpz_root(r,n,k)  against new code 
where n has number of bits below

speedups on athlon linux

bits/k	2	3	4	5	6	7	8	23	54	321
10	0.78791	0.72039	0.67372	0.63075	0.65773	0.7044	0.73222	2.4176	2.4383	2.3734	
13	0.781	0.78725	0.69317	0.70367	0.67824	0.64255	0.65897	2.4357	2.4282	2.3845	
16	0.77904	0.81416	0.70829	0.71517	0.70632	0.71668	0.62616	2.3974	2.409	2.387	
20	0.81061	0.79815	0.7929	0.72513	0.72405	0.72406	0.70948	2.4796	2.4449	2.3893	
26	0.8108	0.82155	0.82508	0.82074	0.79984	0.76148	0.73999	0.76029	2.4662	2.3974	
33	0.82289	0.8379	0.83065	0.84633	0.84612	0.81926	0.78646	0.73017	2.5057	2.488	
42	0.83351	0.82824	0.86488	0.86234	0.86489	0.86577	0.84609	0.69798	2.5218	2.5812	
54	0.84198	0.8685	0.87724	0.88454	0.86979	0.87932	0.87984	0.79502	2.5533	2.5795	
70	0.90903	0.91326	0.89966	0.89506	0.89724	0.90333	0.89192	0.80984	0.77089	2.6457	
91	0.91458	0.89776	0.91356	0.9186	0.91005	0.90595	0.90754	0.81793	0.7086	3.2174	
118	0.91142	0.91914	0.9106	0.91561	0.91208	0.90842	0.91021	0.8731	0.82154	2.7835	
153	0.9435	0.92918	0.93282	0.9183	0.91513	0.94356	0.94605	0.91622	0.80855	3.6201	
198	1.1663	1.2239	1.0272	0.97677	0.89822	0.69654	0.84449	0.7765	0.35173	3.7111	
257	1.1984	1.1949	1.0849	1.0296	1.0593	1.2633	0.93829	0.9809	0.43854	3.8521	
334	1.472	1.4101	1.3907	1.4462	1.1217	1.3331	1.4096	0.99344	0.59881	0.44774	
434	1.6107	1.7144	1.7706	1.5073	1.6082	1.2898	1.5221	1.1518	1.064	0.44464	
564	1.998	1.9118	2.1227	1.8479	1.6957	2.029	2.1656	1.5738	1.3081	0.33169	
733	2.3184	2.3219	2.4426	2.4438	2.0477	2.5635	2.4188	1.738	1.7945	0.79777	
952	2.4591	2.9346	3.0528	2.8377	2.7676	3.3658	3.1479	3.3411	2.2821	0.70681	
1237	3.1208	3.4446	3.8411	3.5591	3.7044	4.0029	4.1929	4.0361	3.4013	1.8676	
1608	3.4562	4.234	4.8282	5.1119	5.0087	5.4705	5.8508	5.9274	4.0698	3.0924	
2090	3.8351	4.9559	6.3123	6.2434	6.0428	7.1503	7.7967	7.6092	6.9769	5.0225	
2717	4.3653	6.0374	7.8948	7.6454	8.1596	9.3108	9.6656	10.587	9.6524	7.9372	
3532	4.6533	7.0174	9.1511	9.6503	10.831	11.41	12.554	14.956	13.173	14.968	
4591	5.2267	7.4988	10.886	11.792	12.74	15.769	17.009	21.807	19.085	22.772	
5968	5.5672	8.4886	11.936	14.35	16.453	19.783	20.897	30.578	27.785	32.877	
7758	5.7382	9.3798	12.763	15.768	19.656	24.214	27.131	38.122	39.875	52.393	
10085	6.4197	9.9171	14.273	16.499	20.83	26.797	31.863	53.593	55.634	79.284	
13110	6.6278	10.793	14.917	18.033	23.669	29.125	34.428	67.655	70.98	106.75	
17043	7.3037	11.155	16.204	19.529	24.293	31.76	38.73	88.941	105.71	139.43	
22155	7.5009	11.416	16.416	20.879	24.261	33.632	40.113	113.87	138.05	217.48	
28801	7.5818	12.207	16.091	20.153	26.8	34.401	40.715	105.81	180.63	208.23	
37441	8.1752	12.178	17.37	19.958	27.4	37.159	44.243	140.81	220.77	480.1	
48673	8.4129	12.23	17.437	22.622	27.292	36.843	44.302	157.11	274.52	642.42	
63274	8.4544	13.71	17.626	22.33	28.796	39.041	43.975	158.55	312.83	863.39	
82256	9.1615	13.804	17.969	23.76	28.561	39.272	46.783	160.86	327.81	1099.2	
106932	9.2837	14.655	18.769	23.839	30.736	39.407	45.953	174.32	341.99	1537	
139011	10	14.758	19.904	23.94	30.354	41.4	49.527	171.98	370.79	1849.2	
180714	9.7685	14.896	18.304	25.024	30.879	41.091	48.729	171.09	367.59	2292.4	
234928	10.111	15.599	19.588	24.991	31.153	42.488	47.698	172.12	359.83	1614.3	
305406	10.665	15.885	21.023	24.79	31.953	43.046	50.53	171.76	363.62	1968.3	
397027	10.912	16.657	21.162	26.482	33.45	43.324	51.195	182.55	360.86	2260.7	
516135	10.956	16.789	21.142	26.406	34.011	45.686	50.7	180.05	383.58	2296	
670975	11.737	17.138	22.745	28.192	34.019	45.39	54.412	185.54	391.05	3079.8	
872267	12.251	18.29	22.467	27.753	35.675	44.309	53.911	184.69	367.71	3017.4	
1133947	13.304	18.555	23.508	27.969	34.803	47.051	55.832	184.03	376.62	3073	
1474131	13.51	18.681	23.241	28.55	34.818	45.743	54.416	179.25	366.17	3261.3	
1916370	14.079	20.446	23.161	27.101	36.027	49.269	53.922	180.73	379.6	3237.1	
2491281	14.912	20.262	23.983	26.765	36.496	48.135	57.232	175.56	362.71	3050.6	
3238665	15.536	21.576	23.863	28.462	36.777	46.92	56.84	175.82	367.59	3359.4	
4210264	16.885	22.151	25.139	27.943	35.258	47.293	57.894	172.5	353.95	3152.7	
5473343	17.857	22.448	25.493	29.197	35.226	46.02	54.193	171.32	350.49	2954.1	

--------------Boundary-00=_4DWEBXFVVHVPRLB9QZ03--