/* Pari
/* Prime conductor for elliptic curves
/* Author: Joachim Wehler
*/
default(format, "f0.10" ); 

print ("====================================================");
print("Modular_forms_theta_01: Start.");

print("Modular_forms_theta_01: Fourier coefficients of r(-,k,e) with r(n,k,e) the number,");
print("of different representations of n as a sum of k summands, each an e-power","\n");

/* Compute the Fourier coefficients of r(-,k), with r(n,k,e) the number of different representations of n as a sum 
of k summands, each a e-powers */ 

/* cases specifies the value (k,e) */
cases =[ [1,2], [2,2], [3,2],[4,2],[8,2] ];

for (case = 1, matsize(cases)[2] ,\
	{ 
	/*
		print("cases[", case, "]: ", cases[case]);
	*/
		param 		=    cases[case];		
		k 			= param[1];
		e 			= param[2];
		prec 		= 9;
					  
		print("parameter: (k,e) = (", k, ",", e, ")");
		
		[mf,F,v]	=	mffromqf(e*matid(k));
		
		/*
		print("case: ", case, ", [mf,F,v] = ", [mf,F,v]);
		*/
			
		gen_ser = Ser(mfcoefs(F,prec),q);
		print("Underlying modular space: ", mfdescribe(mf));
		print("Generating modular form: ", gen_ser); 		
				
	print("---------------------------------------");		
	});

print("Modular_forms_theta_01: End");				
print("====================================================");


