double maxTimeConstant = 10000; //big enough to cover plasticity?
double minTimeConstant = .0001; //small enough to cover channel kinetics (including auditory neurons)
float[][] A = system.getA(0f);
Matrix m = new Matrix(MU.convert(A));
double[] eigenvalues = m.eig().getRealEigenvalues();
double[] eigRange = range(eigenvalues, minTimeConstant, maxTimeConstant);
//We will give an approximation of an impulse, then let the system decay for 10 X the longest time constant,
//then step in increments of 1/2 X the longest time constant until there is little change in the integral
Integrator integrator = new EulerIntegrator(-1f / (10f * (float) eigRange[0]));