Spaces:
Sleeping
Sleeping
Fetching metadata from the HF Docker repository...
- 1.52 kB initial commit
- 1.03 kB Update README.md
- 4.92 kB import streamlit as st import numpy as np import sympy as sp import matplotlib.pyplot as plt from sympy.plotting import plot from sympy import symbols, sin, cos, tan st.set_page_config(page_title="VMathLab Ultimate", layout="wide") st.title("VMathLab Ultimate 2.0: Complete Interactive Math Lab") # Sidebar: Module selection module = st.sidebar.selectbox("Hitamo Module:", [ "Algebra", "Calculus", "Trigonometry", "Linear Algebra", "Statistics", "Differential Equations", "Graphing", "Number Theory" ]) x = symbols('x') # --------------------- Algebra --------------------- if module == "Algebra": st.header("Algebra Module") eq_input = st.text_input("Shyiramo equation (urugero: x**2 - 5*x + 6):") if eq_input: try: expr = sp.sympify(eq_input) solutions = sp.solve(expr, x) st.write(f"Solutions: {solutions}") except: st.error("Error: Enter a valid algebraic expression.") # --------------------- Calculus --------------------- elif module == "Calculus": st.header("Calculus Module") func_input = st.text_input("Shyiramo function (urugero: x**3 - 2*x + 1):") if func_input: try: func = sp.sympify(func_input) st.write(f"Derivative: {sp.diff(func, x)}") st.write(f"Integral: {sp.integrate(func, x)} + C") except: st.error("Error: Enter a valid function.") # --------------------- Trigonometry --------------------- elif module == "Trigonometry": st.header("Trigonometry Module") trig_func = st.selectbox("Hitamo function:", ["sin(x)", "cos(x)", "tan(x)"]) x_vals = np.linspace(-2*np.pi, 2*np.pi, 400) if trig_func == "sin(x)": y_vals = np.sin(x_vals) elif trig_func == "cos(x)": y_vals = np.cos(x_vals) else: y_vals = np.tan(x_vals) fig, ax = plt.subplots() ax.plot(x_vals, y_vals, label=trig_func) ax.set_title(f"{trig_func} plot") ax.grid(True) st.pyplot(fig) # --------------------- Linear Algebra --------------------- elif module == "Linear Algebra": st.header("Linear Algebra Module") st.write("Matrix Calculator") matrix_input = st.text_area("Shyiramo matrix (urugero: [[1,2],[3,4]]):") if matrix_input: try: mat = np.array(eval(matrix_input)) st.write("Determinant:", np.linalg.det(mat)) st.write("Inverse (if exists):", np.linalg.inv(mat)) except: st.error("Invalid matrix input.") # --------------------- Statistics --------------------- elif module == "Statistics": st.header("Statistics Module") data_input = st.text_area("Shyiramo data (urugero: 1,2,3,4,5):") if data_input: try: data = np.array([float(i) for i in data_input.split(",")]) st.write("Mean:", np.mean(data)) st.write("Median:", np.median(data)) st.write("Variance:", np.var(data)) except: st.error("Invalid data input.") # --------------------- Differential Equations --------------------- elif module == "Differential Equations": st.header("Differential Equations Module") de_input = st.text_input("Shyiramo DE (urugero: f(x).diff(x) - f(x) = 0):") f = sp.Function('f') if de_input: try: de = eval(de_input) sol = sp.dsolve(de) st.write("Solution:", sol) except: st.error("Invalid differential equation.") # --------------------- Graphing --------------------- elif module == "Graphing": st.header("Graphing Module") func_input = st.text_input("Shyiramo function y(x):") x_min = st.number_input("X min", value=-10.0) x_max = st.number_input("X max", value=10.0) color = st.color_picker("Graph Color", "#FF0000") if func_input: try: x_vals = np.linspace(x_min, x_max, 400) f = sp.lambdify(x, sp.sympify(func_input), "numpy") y_vals = f(x_vals) fig, ax = plt.subplots() ax.plot(x_vals, y_vals, color=color, label=func_input) ax.axhline(0, color='black', linewidth=0.7) ax.axvline(0, color='black', linewidth=0.7) ax.grid(True) ax.legend() st.pyplot(fig) except: st.error("Enter a valid function.") # --------------------- Number Theory --------------------- elif module == "Number Theory": st.header("Number Theory Module") num = st.number_input("Shyiramo integer:", step=1) if num: try: def is_prime(n): if n < 2: return False for i in range(2,int(n**0.5)+1): if n % i == 0: return False return True st.write(f"Prime: {is_prime(num)}") st.write("Factors:", [i for i in range(1,num+1) if num % i == 0]) except: st.error("Invalid input.")
- 45 Bytes streamlit numpy sympy matplotlib scipy pandas