Skip to content

A React component for exploring Homogeneous Ordinary Differential Equations (ODEs).

License

Notifications You must be signed in to change notification settings

Wondermongering/HomoGenius

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

HomoGenius

A well-structured and comprehensive React component for exploring Homogeneous Ordinary Differential Equations (ODEs).

HomoGenius: Interactive Homogeneous ODE Explorer

📚 Overview

HomoGenius is an interactive educational tool that brings homogeneous differential equations to life through dynamic visualization and step-by-step exploration. By bridging rigorous mathematical theory with intuitive visual representation, HomoGenius transforms abstract concepts into tangible understanding.

"Mathematics is not about numbers, equations, computations, or algorithms: it is about understanding." — William Paul Thurston

✨ Key Features

  • Intelligent Equation Parsing: Enter complex expressions with support for algebraic, trigonometric, and exponential functions
  • Automated Homogeneity Verification: Hybrid symbolic-numerical system validates equation homogeneity
  • Multi-mode Visualization:
    • Solution Curves: Explore families of solutions with adjustable integration constants
    • Phase Plane: Examine direction fields with magnitude-weighted vectors
    • Logarithmic Scaling: Toggle logarithmic axes for better visualization near singularities
  • Scale Invariance Animation: Visualize the fundamental property that makes homogeneous ODEs special
  • Interactive Substitution Process: Step-by-step walkthrough of the u=y/x transformation with color-coded animations
  • Trajectory Exploration: Add custom initial conditions and see solution trajectories using Runge-Kutta integration
  • Accessible Design: Screen reader compatibility, keyboard navigation, and optimized for all devices

🧮 Mathematical Background

What Makes an ODE Homogeneous?

A first-order ODE is homogeneous if it can be written in the form:

$$\frac{dy}{dx} = f\left(\frac{y}{x}\right)$$

Equivalently, when you replace x with λx and y with λy, the equation remains unchanged. This scale invariance property is the key to both identifying and solving homogeneous equations.

The Power of Substitution

Homogeneous ODEs are solved through a clever substitution:

$$u = \frac{y}{x}$$

This transforms the equation into a separable form:

  1. Let $u = \frac{y}{x}$, so $y = ux$
  2. Differentiate: $\frac{dy}{dx} = u + x\frac{du}{dx}$
  3. Substitute into original equation: $u + x\frac{du}{dx} = f(u)$
  4. Rearrange: $x\frac{du}{dx} = f(u) - u$
  5. Separate variables: $\frac{du}{f(u) - u} = \frac{dx}{x}$
  6. Integrate to obtain the general solution

HomoGenius visualizes this entire process, making each step transparent and intuitive.

🚀 Getting Started

Installation

# Clone the repository
git clone https://github.com/yourusername/homogenius.git

# Navigate to project directory
cd homogenius

# Install dependencies
npm install

# Start development server
npm start

Basic Usage

  1. Enter an Equation: Type a homogeneous differential equation (e.g., (y^2 + xy)/x^2 or sin(y/x)/x)
  2. Explore Solution Curves: Adjust the integration constant C to see different solution families
  3. Switch Visualization Modes: Toggle between Solution Curves and Phase Plane views
  4. Walk Through Substitution: Click "Show Substitution" to see the step-by-step solution process

Advanced Features

  • Toggle Logarithmic Scaling: Better visualize solutions with logarithmic terms
  • Add Trajectories: Set initial conditions (x₀, y₀) and see how solutions evolve
  • Animate Scale Invariance: See how solutions transform under scaling
  • Export Visualizations: Save your work as SVG or PNG (coming soon)

💡 Educational Applications

HomoGenius shines in various educational contexts:

  • Classroom Demonstrations: Instructors can illustrate complex concepts visually
  • Independent Learning: Students can explore at their own pace with interactive guidance
  • Problem Solving: Check work by comparing analytical solutions with visualizations
  • Research: Quickly visualize behavior of homogeneous systems
  • Intuition Building: Develop deeper understanding of scale invariance and substitution methods

🧠 Technical Implementation

HomoGenius leverages modern web technologies:

  • React: Component-based architecture and state management
  • D3.js: Advanced data visualizations
  • Math.js: Robust mathematical expression parsing and computation
  • RK4 Integration: 4th-order Runge-Kutta method for numerical trajectories
  • Responsive Design: Optimized for all devices from mobile to desktop

🔮 Future Development

We're constantly improving HomoGenius. Planned enhancements include:

  • Additional ODE Types: Support for linear, Bernoulli, and exact equations
  • Isocline Visualization: View curves where dy/dx is constant
  • Bifurcation Analysis: Explore parameter-dependent behavior changes
  • Custom Method Creation: Design your own substitution strategies
  • Advanced Export Options: Data export for further analysis
  • Dark Mode: Enhanced viewing in low-light environments

🤝 Contributing

Contributions are welcome! Whether you're fixing a bug, adding a feature, or improving documentation, please feel free to make a pull request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License

🙏 Acknowledgments

  • This tool was inspired by the challenges students face when learning differential equations
  • Special thanks to the open-source mathematics and visualization communities
  • Built with a passion for making advanced mathematics more accessible and intuitive

HomoGenius: Transforming abstract equations into visual understanding, one substitution at a time.

About

A React component for exploring Homogeneous Ordinary Differential Equations (ODEs).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published