/* Pari */
/* Author: Joachim Wehler */

default(format, "f0.10" ); 

print ("===================================================="); 
print ( "Ramanujan_01, Start \n");

print ("Ramanujan function\n");

default(parisizemax, "16G");

case = 0;
	
p_min 	=	-1;
p_max	=	-1;
n_max 	= 	-1;
q 		= 	-1;
k		=	 4;

N_max					= 	-1;
tau 					=	-1;
product 				=	-1;
tau_p = tau_q = tau_pq 	= 	-1;
tau_n 					=	-1;

N_max = 7;
for(n=2,N_max, tau_n = ramanujantau(n); print("tau(", n , "): ", tau_n));

print("----------------\n");

print("(p, tau(p); q, tau(q); tau(p)*tau(q), tau(p*q))\n");

N_max = 20;
forprime(p=2,N_max, forprime (q=2, p-1, product= p * q; tau_p=ramanujantau(p); tau_q=ramanujantau(q); tau_pq = ramanujantau(product); \
	print("(",p,", ", tau_p, "; ", q, ", ", tau_q, "; ", tau_p * tau_q, ", ", tau_pq, ")") ) )  ;
	
print("----------------\n");	

print("(m, tau(m); n, tau(n); tau(m)*tau(n), tau(m*n))\n");	
N_max = 10;
for(p=2,N_max, for (q=2, p, if(gcd(p,q)==1, product= p * q; tau_p=ramanujantau(p); tau_q=ramanujantau(q); tau_pq = ramanujantau(product); \
	print("(",p,", ", tau_p, "; ", q, ", ", tau_q, "; ", tau_p * tau_q, ", ", tau_pq, ")") ) ) )  ;

print("----------------\n");

print ("\nRamanujan_01, End");
print("====================================================");


