A web application for analyzing, solving, and visualizing differential equations. This application provides tools for checking linearity, verifying solutions, and visualizing differential equations.
- Linearity Checker: Determine if a differential equation is linear or non-linear
- Solution Verifier: Check if a function is a solution to a given differential equation
- Visualization: Plot solutions to differential equations
- API Endpoints: Access the functionality programmatically
- Python 3.9
- pip (Python package manager)
- Virtual environment (recommended)
-
Clone the repository:
git clone <repository-url> cd differential-equation-app -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Run the application:
./run_app_simple.shOr directly with Python:
python app.py -
Access the application at: http://127.0.0.1:5001
- Docker
- Docker Compose
-
Build and start the container:
./docker-run.shOr manually:
docker-compose build docker-compose up -d -
Access the application at: http://localhost:5001
-
View logs:
docker-compose logs -f -
Stop the container:
docker-compose down
The application is configured for deployment on Netlify using the following files:
netlify.toml: Configuration for build settings and redirectsnetlify-build.sh: Custom build script for Netlify
The application is configured for deployment on Vercel using the following files:
vercel.json: Configuration for build settings and environment variablesvercel-build.sh: Custom build script for Vercel.vercel/project.json: Project configuration for Vercel
- Linear first-order equation:
y' + 2*y = sin(x) - Non-linear equation:
y' = y^2 * sin(x) - Second-order linear equation:
y'' + 4*y = 0
The application provides API endpoints for programmatic access:
/api/check_linearity: Check if an equation is linear/api/verify_solution: Verify if a function is a solution to an equation/api/visualize: Generate visualization data for an equation
Example API request:
curl -X POST http://localhost:5001/api/check_linearity \
-H "Content-Type: application/json" \
-d '{"equation": "y\' + 2*y = sin(x)"}'