
function PStr(v,k,g)
// Erzeugt einen Polynomstring über die Variable v mit den Koeffizienten k[]
{
	if(g==null)g=k.length-1;
	var t="",kk=new Array(g+1);
	kk[0]=String(k[0]);
	for(i=1;i<=g;i++) kk[i]=((k[i]==1)||(k[i]==-1))?((k[i]==1)?"":"-"):String(k[i]);
	for(i=0;i<=g;i++) {kk[i]=kk[i].replace(/\-\./,"-0,").replace(/\./,",");if(kk[i].charAt(0)==",")kk[i]="0"+kk[i];}
	for(i=g;i>1;i--) if(k[i]!=0)t+="+"+kk[i]+v+"^"+i;
	if((k[1]!=0)&&(g>0))t+="+"+kk[1]+v; if(k[0]!=0)t+="+"+kk[0];
	t=t.replace(/\+\-/g,"-").replace(/\+/g," + ").replace(/\-/g," - ").replace(/\+/g," + ").replace(/\s\s/g," ");
	if(t.substr(0,3)==" - ")t="-"+t.substring(3,t.length);
	if(t.substr(0,2)==" +")t=t.substring(2,t.length);
	while(t.substr(0,1)==" ")t=t.substring(1,t.length);
	if(t=="")t="0";
	//if(g<4)t=t.replace(/\^3/g,"³").replace(/\^2/g,"²");
	return t.replace(/e - /g,"e-");
}
function pstr(k)
{
	return PStr("x",k);
}

function KStr(r,i)
{
	var t=new String(r);
	if (i>0)
		t+=" + "+i+"·î";
	else if (i<0)
		t+=" - "+Math.abs(i)+"·î"
	if(t.charAt(0)==".")t=0+t;
	return t.replace(/\./g,",").replace(/-,/g,"-0,").replace(/ ,/g," 0,").replace(/ 1·î/," î").replace(/0 \+ /,"").replace(/0 - /,"-");
}
function PStrR(v,k)
// Erzeugt einen Polynomstring über die Variable v mit den Koeffizienten k[]
{
	var t="",g=k.length-1;kk=new Array(g+1);
	kk[0]=k[0].str();
	for(i=1;i<=g;i++) kk[i]=((k[i].z==k[i].n)||(k[i].z==-k[i].n))?((k[i].z==k[i].n)?"":"-"):k[i].str();
	for(i=0;i<=g;i++) {kk[i]=kk[i].replace(/\-\./,"-0,").replace(/\./,",");if(kk[i].charAt(0)==",")kk[i]="0"+kk[i];}
	for(i=g;i>1;i--) if(k[i].z!=0)t+="+"+kk[i]+((k[i].n!=1)?"·":"")+v+"^"+i;
	if((k[1].z!=0)&&(g>0))t+="+"+kk[1]+((k[i].n!=1)?"·":"")+v; if(k[0].z!=0)t+="+"+kk[0];
	t=t.replace(/\+\-/g,"-").replace(/\+/g," + ").replace(/\-/g," - ").replace(/\+/g," + ").replace(/\s\s/g," ");
	if(t.substr(0,3)==" - ")t="-"+t.substring(3,t.length);
	if(t.substr(0,2)==" +")t=t.substring(2,t.length);
	while(t.substr(0,1)==" ")t=t.substring(1,t.length);
	if(t=="")t="0";
	return t.replace(/\^2/,"²");
}

