New Features:
Features a single variable solver (for x) that uses a modified version of Newton's method to solve. It takes up to 7 arguments: eq, guess, accuracy, shouldGuessImag, [alter], [epsilon], and [maxIter].
Eq is the equation that it should solve. The equation is given as an expression that is assumed to equal zero.
("4x^{2} + 3x - 2 = 5" should be inputted as "4x^{2} + 3x - 7") This is because under the hood, NewtonMethod() uses str.replace("x", guess) and has predefined derivative intersection equations that are presumed to equal 0.
Guess is the initial guess that it should use to find the root. Changing this value will change how long it takes to calculate the root, and inputting an accurate root will make it much faster. Also, changing this value will change which root the function returns. Specifically, it will find the nearest root in the direction of the derivative with respect to the guess.
Accuracy is the number of digits that it should calculate the solution to. If you want 8 digits of accuracy, accuracy should be set to 8.
ShouldGuessImag tells it whether it should check for imaginary solutions. Setting this to true will increment the guess by 1i. It will also remove the domain-check-reguess cycle.
Alter tells it how much to increment or decrement by in the domain-check-reguess cycle.
Epsilon tells it when to stop if the function is too flat. (derivative < epsilon: break)
MaxIter tells it after how many iterations to stop if a root with the desired accuracy is not found.
Notes:
NewtonMethod() includes guess-check-domain-reguess cycle. If the guess creates a new iteration where the function is not defined, or returns an imaginary value when shouldGuessImag is set to false, it will alter the guess by 'alter' based on the second derivative of the function.
Evaluator features a more robust operation calculator. It still follows order of operations, but is more heavily left to right, and more accurately deals with negative numbers and complex numbers because it no longer confuses the + in a+bi as a real operation, and same with "-2 + 3"