/** * Computes the inverse of this transformation. * * @param target the target point * @param result array in which to store the result * @param tolerance the desired precision - must be greater than zero * @param maxIters maximum number of iterations * @return true if the result is within the specified tolerance, false otherwise */ public double inverse( final double[] target, final double[] result, final double tolerance, final int maxIters ) { assert tolerance > 0.0; double[] guess = initialGuessAtInverse( target ); double error = inverseTol( target, guess, tolerance, maxIters ); for ( int d = 0; d < ndims; d++ ) result[ d ] = guess[ d ]; return error; }