switched to durand-kerner to avoid bugs in numeric.js' eigen decomposition code