package jsci.maths.chaos;
import jsci.maths.*;
/**
* The StandardMap class provides an object that encapsulates the Standard map.
* xn+1 = (xn + yn+1) mod 2
* yn+1 = (yn + k sin(xn)) mod 2
* (Chirikov, Taylor).
* @version 1.0
* @author Mark Hale
*/
public final class StandardMap extends Object implements MappingND {
private final double k;
/**
* Constructs a Standard map.
* @param kval the value of the k parameter
*/
public StandardMap(double kval) {
k=kval;
}
/**
* Performs the mapping.
* @param x a 2-D double array
* @return a 2-D double array
*/
public double[] map(double x[]) {
double ans[]=new double[2];
ans[1]=(x[1]+k*Math.sin(x[0]))%NumericalConstants.TWO_PI;
ans[0]=(x[0]+ans[1])%NumericalConstants.TWO_PI;
return ans;
}
/**
* Iterates the map.
* @param n the number of iterations
* @param x the initial values (2-D)
* @return a 2-D double array
*/
public double[] iterate(int n,double x[]) {
double xn[]=map(x);
for(int i=1;i
Ads help maintain this website.