This repository is a collection of physics problems solutions using Jupyter Notebooks that I was working on them during my degree in Physics Engineering.
The repository is divided into the following folders:
- Classical Mechanics ~ Problems related to classical mechanics (Newtonian mechanics, Lagrangian mechanics, Hamiltonian mechanics, etc.)
- Classical Electrodynamics ~ Problems related to classical electrodynamics (Maxwell's equations, etc.)
- Quantum Mechanics ~ Problems related to quantum mechanics (Schrödinger equation, etc.)
- Thermodynamics ~ Problems related to thermodynamics (Laws of thermodynamics, etc.)
- Dynamical Systems ~ Problems related to dynamical systems (Chaos theory, etc.)
- Python 3.6 or higher
I recommend using Anaconda to install all the requirements. You can download Anaconda from here. Or create a virtual environment using virtualenv.
You can create a new environment using the following commands:
conda create --name py_physics python=3.8
conda activate py_physics
conda install -c conda-forge notebook
First, you need to install virtualenv using the following command:
pip install virtualenv
Then, you can create a new environment using the following commands:
virtualenv py_physics
source py_physics/bin/activate
pip install notebook
- Jupyter Notebook
- Numpy
- Matplotlib
- Scipy
- Sympy
- Sklearn
- Numba
You can install all the requirements using the following command:
pip install -r requirements.txt
You can run the notebooks using the following command:
jupyter notebook
This repository contains some techniques based on the YouTube channel Mr. P Solver
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.