This is a list of useful software tools for research in control, optimization, and networks.
Miscellaneous
- arXiv Sanity Preserver
- Quickly parse and search CS, ML, and Math papers on arXiv
- Connected Papers
- Visualize and explore citation networks of published papers
- WolframAlpha
- Computational knowledge engine
- Phase plane plotter
- Plot phase space of nonlinear systems w/ 2 states
- Desmos
- 2D plotting
- Geogebra
- 3D plotting
- TensorFlow Playground
- Interactive visual intro to neural networks
LaTeX
- Detexify
- Convert a single drawn symbol to a LaTeX command
- MathPix
- Convert entire scanned or screenshot images to LaTeX command chunks
- bibtex-tidy
- Standardize formatting, remove duplicate entries, etc. from BibTeX files
- arxiv-latex-cleaner
- Clean LaTeX code to submit to arXiv
Python
Programming
- Python
- PyCharm IDE
- Spyder IDE
- Anaconda
- Package management
- Jupyter
- Interactive notebooks
- Kite
- AI-based autocomplete
- Atom IDE
- Packages: Script(Compile), Hydrogen + Python module (Interactive/Compile)
Numerical and scientific computing
Optimization
Control
Simulation
- PyBullet
- Physics simulation for robotics, games, visual effects and machine learning
- MuJoCo
- Physics engine for robotics, biomechanics, graphics, animation, and machine learning
Reinforcement Learning
- Spinning Up in RL
- Intro to deep RL
- OpenAI
- Dopamine
- Rapid prototyping of RL algorithms
- ReAgent
- End-to-end platform for applied RL
- Previously “Horizon”
- Ray
- rlpyt
- Deep RL in PyTorch
- Compatible w/ Gym
- Blog post from BAIR
- SUMO
- Traffic simulation
- Developed by the Institute of Transportation Systems at the German Aerospace Center
Machine Learning
MATLAB
Programming
Optimization
Control
- Control System Toolbox
- Robust Control Toolbox
- System Identification Toolbox
- Model Predictive Control Toolbox
Machine Learning
Julia
Programming
Numerical and scientific computing
- Linear Algebra
- LightGraphs – Network Graph Creation and Analysis with extensions
Plots & Visualization
- Plots with back-end packages
- StatsPlots – statistics plots
- Network graph visualization
- GraphPlot
- TikzGraphs + TikzPictures
- GraphRecipes (earlier PlotRecipes)
- NetworkViz
- ThreeJS
- Colors – Control over color profiles, gradient packages
- LaTeXStrings – LaTeX to string functionality
Data Storage
Integration with other software
- MATLAB – requires MATLAB installed for local automation server
- Run command “regmatlabserver” in MATLAB command prompt
- Conda + Python
Competitions
Bugfixes
- Disable Type 3 fonts in Python matplotlib http://phyletica.org/matplotlib-fonts/
- Issue arises when uploading a paper that has pdf figures generated by Python matplotlib and get the error “The paper has Type 3 fonts” (happens w/ IEEE PaperPlaza)