Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import gradio as gr | |
| def solve_polynomial(coeffs): | |
| """ | |
| Find roots of a polynomial with given coefficients. | |
| coeffs: list or array-like, highest degree first (e.g., [a, b, c, d, ...]) | |
| Returns a numpy array of roots (complex or real). | |
| """ | |
| if not coeffs or all(c == 0 for c in coeffs): | |
| raise ValueError("Coefficient list must not be empty or all zeros.") | |
| return np.roots(coeffs) | |
| def polynomial_solver_interface(coeffs): | |
| """ | |
| Gradio wrapper for solving higher order polynomials. | |
| coeffs: comma-separated string of coefficients, highest degree first. | |
| """ | |
| import numpy as np | |
| try: | |
| coeff_list = [float(c) for c in coeffs.split(",") if c.strip() != ""] | |
| if not coeff_list: | |
| return "Please enter at least one coefficient." | |
| roots = solve_polynomial(coeff_list) | |
| output = f"Polynomial coefficients: {coeff_list}\n\n" | |
| for i, root in enumerate(roots): | |
| if np.isreal(root): | |
| output += f"Root {i+1}: {root.real}\n" | |
| else: | |
| output += f"Root {i+1}: {root}\n" | |
| return output | |
| except Exception as e: | |
| return f"Error: {e}" | |
| poly_solver_interface = gr.Interface( | |
| fn=polynomial_solver_interface, | |
| inputs=gr.Textbox(label="Coefficients (comma-separated, highest degree first)", placeholder="e.g. 1, 0, -2, -8"), | |
| outputs="text", | |
| title="Polynomial Equation Solver", | |
| description=""" | |
| Find roots of any polynomial equation. Enter the coefficients separated by commas, starting with the highest degree. | |
| Example: For x⁴ - 2x² - 8 = 0, enter: 1, 0, -2, 0, -8 | |
| Supports real and complex roots for polynomials of any degree. | |
| """, | |
| examples=[ | |
| ["1, 0, -2, 0, -8"], | |
| ["2, -3, 0, 1"], | |
| ["1, -6, 11, -6"] | |
| ] | |
| ) |