var searchIndex = {}; searchIndex["roots"] = {"doc":"A set of functions to find real roots of numerical equations.","items":[[3,"SimpleConvergency","roots","A very basic convergency rules that must be sufficient for many cases.\nThe absolute precision is the same for x and y axes, no relative precision.",null,null],[12,"eps","","Precision for both X and Y axes",0,null],[12,"max_iter","","Maximum number of iterations",0,null],[3,"DebugConvergency","","Convergency provider for debugging.\nIt will print out the error at each iteration.",null,null],[4,"Roots","","Sorted and unique list of roots of an equation.",null,null],[13,"No","","Equation has no roots",1,null],[13,"One","","Equation has one root (or all roots of the equation are the same)",1,null],[13,"Two","","Equation has two roots",1,null],[13,"Three","","Equation has three roots",1,null],[13,"Four","","Equation has four roots",1,null],[5,"find_roots_linear","","Solves a linear equation a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_quadratic","","Solves a quadratic equation a2*x^2 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_cubic","","Solves a cubic equation a3*x^3 + a2*x^2 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_cubic_depressed","","Solves a depressed cubic equation x^3 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_cubic_normalized","","Solves a normalized cubic equation x^3 + a2*x^2 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_biquadratic","","Solves a bi-quadratic equation a4*x^4 + a2*x^2 + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_quartic_depressed","","Solves a depressed quartic equation x^4 + a2*x^2 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_roots_quartic","","Solves a quartic equation a4*x^4 + a3*x^3 + a2*x^2 + a1*x + a0 = 0.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"f"},{"name":"f"},{"name":"f"}],"output":{"name":"roots"}}],[5,"find_root_newton_raphson","","Find a root of the function f(x) = 0 using the Newton-Raphson method.",null,{"inputs":[{"name":"f"},{"name":"fn"},{"name":"fn"},{"name":"convergency"}],"output":{"name":"result"}}],[5,"find_root_brent","","Find a root of the function f(x) = 0 using the Brent method.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"fn"},{"name":"convergency"}],"output":{"name":"result"}}],[5,"find_root_secant","","Find a root of the function f(x) = 0 using the secant method.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"fn"},{"name":"convergency"}],"output":{"name":"result"}}],[5,"find_root_regula_falsi","","Find a root of the function f(x) = 0 using the Illinois modification of the regula falsi method.",null,{"inputs":[{"name":"f"},{"name":"f"},{"name":"fn"},{"name":"convergency"}],"output":{"name":"result"}}],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"as_ref","","",1,null],[11,"add_new_root","","Add a new root to existing ones keeping the list of roots ordered and unique.",1,null],[11,"is_root_found","","",0,null],[11,"is_converged","","",0,null],[11,"is_iteration_limit_reached","","",0,null],[11,"new","","",2,{"inputs":[{"name":"f"},{"name":"usize"}],"output":{"name":"debugconvergency"}}],[11,"reset","","",2,{"inputs":[{"name":"debugconvergency"}],"output":null}],[11,"get_iter_count","","",2,{"inputs":[{"name":"debugconvergency"}],"output":{"name":"usize"}}],[11,"is_root_found","","Prints the value being checked",2,null],[11,"is_converged","","Prints values being checked",2,null],[11,"is_iteration_limit_reached","","Updates internal iteration counter",2,null],[8,"FloatType","","Generic type that lists functions and constants needed in calculations.\nDefault implementations for f32 and f64 are provided.",null,null],[10,"zero","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"one","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"two","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"three","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"pi","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"one_third","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"four","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"five","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"nine","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"twenty_seven","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"two_third_pi","","",3,{"inputs":[],"output":{"name":"self"}}],[10,"sqrt","","",3,null],[11,"cbrt","","The cubic root function is pow(x, 1/3) accepting negative arguments",3,null],[10,"acos","","",3,null],[10,"cos","","",3,null],[10,"abs","","",3,null],[10,"powf","","",3,null],[8,"Convergency","","The way to check if the algorithm has finished by either finding a root\nor reaching the iteration limit.",null,null],[10,"is_root_found","","Return true if the given Y value is close enough to the zero",4,null],[10,"is_converged","","Return true if given x values are close enough to each other",4,null],[10,"is_iteration_limit_reached","","Return true if no more iterations desired",4,null],[11,"one_third","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"four","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"five","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"nine","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"twenty_seven","","",3,{"inputs":[],"output":{"name":"self"}}],[11,"cbrt","","The cubic root function is pow(x, 1/3) accepting negative arguments",3,null]],"paths":[[3,"SimpleConvergency"],[4,"Roots"],[3,"DebugConvergency"],[8,"FloatType"],[8,"Convergency"]]}; initSearch(searchIndex);