yield[p];// presented as an array, so it can be generalized (see below)
}while(true);
}
phi2=
Math.pow(1/2+Math.sqrt(69)/18,1/3)+
Math.pow(1/2-Math.sqrt(69)/18,1/3)
phi(3)
R(3)
R(39)
functionphi(d){
returnsolve(x=>pow(x,d+1)-x-1,0,1);
}
function*R(d){
constf=phi(d),
a=[];
letp=[];
for(letl=1.0,i=0;i<d;i++){
a.push((l=l/f));
p.push(0.5);
}
do{
yield(p=p.map((d,i)=>(p[i]+a[i])%1));
}while(true);
}
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.