<jupyter_start><jupyter_text>Define a function for which we'd like to find the roots<jupyter_code>def function_for_roots(x):
    a = 1.1
    b = -3.04
    c = 2.07
    return a*x**2 + b*x + c #get the roots of ax^2 + bx + c<jupyter_output><empty_output><jupyter_text>We need a function to check whether our initial values are valid<jupyter_code>def check_initial_values(f,x_min,x_max,tol):
    
    #check our initial guesses
    y_min = f(x_min)
    y_max = f(x_max)
    
    #check that x_min and x_max contain a zero crossing
    if(y_min*y_max>=0.0):
        print("No zero crossing found in the range = ",x_min,x_max)
        # CONTINUE WRITING PROGRAM HERE<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup