Computational Physics:
Links to Interpreted Programming Packages with Graphics: - anaconda: (free download) large python distribution with many packages (multiple platforms)
- numba : JIT compiler for python 3 subroutines (included in anaconda 3)
- cupy : version of python/numpy and scipy array libraries using GPU acceleration
- python: (free download) high level dynamic typing scripting
laguage, add
numpy,
scipy
and pylab (matploib) to get graphics.
- python tutorial : documentation and turorials
- spyder: (free download) IDE for python (multiple platforms)
- pycharm : (paid download) another IDE for python
- scipy.special : special functions in python
- scipy.integrate : integration and ODE solvers in python
- matplotlib: (free download) plotting in python.
- mplot3d:
(free download) 3d plotting in python.
- animate graphs in python (tutorial)
- vpython : 3D graphics package for python 3
- guizero : simple GUI builder for python
- Visual Studio Code (VScode): (Win,Mac,Linux) general purpose code editor (can be used for python and julia)
- TIOBE index : ranking of most popular programming languages
Links to Free C/C++ Compilers and IDE's:
- code::blocks C++: A nice cross-platform (free) GUI
front end for gcc/g++.
- mingw-w64: gcc/g++ (32 and 64 bit) compiler for 64 bit ms-windows. A simple collection of
command line
utilities for MS-Windows including the gcc/g++ compiler. This is fairly
easy to setup and
use and runs from the normal MS-Windows command line. Download and run MinGW-W64-install.exe to install. Select Architecture=x86_64 for 64 bit compiler and Architecture=i686 for 32 bit compiler.
- WinLibs-gcc : newer build of mingw-w64 gcc
- gcc with VScode : using mingw gcc with Visual Studio Code
- tdm-gcc: another version of gcc/g++ for ms-windows (has both 32 bit and 64 bit)
- cygwin: This produces a UNIX style
command
line interface (in a separate window) under MS-Windows. It includes a
large variety of UNIX style utilities in addition to the gcc/g++
compiler. This is a more advanced package and is a
little difficult to set up (32 and 64 bit versions available, uninstall can be difficult).
- bloodshed C++: A (free) GUI front
end for gcc/g++ under windows (uses mingw compiler).
- Orwell Dev-C++: another GUI front end for gcc under windows (I have not tested this one either)
-
documentation for gcc: This includes everything and is on the
long side.
- status of C99 in gcc: List of what
features are supported in gcc (for example native complex data type).
- Microsoft Visual Studio Community: free editor and compiler- click on "Desktop Development with C++" and registration required
- mac-hpc: high performance computing on mac-os, new compilers (macports below may be a better option)
- Xcode Tools: Apple Mac OS-X
development tools including clang.
- Xcode command line tools
- CodeRunner: light-weight program editor for macOS
- MacPorts: Nice Mac utility to easily install a large number of free software packages such as gcc, FFTW etc.
- Fink: Unix tools for Apple Mac
OS-X: I have NOT tested any of these, use at your own risk.
- eclipse: IDE front end (multiplatform, java, C/C++, etc.)
- netbeans: IDE front end (multiplatform, java, C/C++, etc.)
Links to C/C++ Programming Tutorials
Links to Free Graphics Software for Data Plotting: - octave: (free download) Very
similar to matlab in function and syntax, but it is free (Windows, Mac
and Linux).
- freemat: (free download) matlab like program (multiple platforms)
- prestoplot: (free download)
Simple data plotting program for MS-Windows. Modeled after the UNIX
program Grace/mgr.
-
grace: (free download) Sophisticated scientific data plotting
program with GUI. (mainly UNIX/Linux, mac version in macports -below).
- gnuplot: (free download) Simple
data plotting program. (Windows, UNIX, Linux, Mac).
- scilab: (free download)
Functionally similar to matlab but it is free, and does a lot of useful
things (MS-Windows, Linux, UNIX and old Mac version).
Document Preparation: - MikTeX: Free LaTeX for Windows, MacOS, Linux
- TeXmaker:
Free GUI front end and editor for LaTeX (MS-Windows, Linux, Mac)
- TeXstudio: Free GUI front end and editor for LaTeX (MS-Windows, Linux, Mac)
- TeXShop:
Free GUI front end and editor for LaTeX (Apple-Mac)
- Beginners guide to LaTeX :
HTML ,
PDF ,
HTML-2
- TeXmacs:
Free wysiwyg editor for LaTeX (Windows, UNIX/LINUX, Mac/Fink)
- TeXniq: editor for LaTex
- WinEdt:
Shareware GUI front end and editor for LaTeX (MS-Windows)
- LaTeX Guide: from Cornell Library
Links to Numerical Subroutine Libraries:
Links to Machine Learning:
- OpenML : machine learning lab, data sets and algorithms
- PyTorch : Deep Learning module with python interface
- scikit-learn : machine learning for classification and clustering with python interface
- TensorFlow : Deep Learning module with python interface (production grade)
Links to Graphics Subroutine Libraries:
-
openGL: Interactive 2D and 3D graphics.
-
GLUT: openGL utility toolkit for MS-windows (controls windows etc.).
-
GLUT+minGw: How to use OpenGL Utility Toolkit (GLUT) with MinGW.
-
freeglut: newer OpenGL Utility Toolkit.
- GLEW (extension manager) and GLFW (windows manager) are newer cross-platform openGL packages
-
GUI packages: Comparison of different GUI software packages.
- wxWidgets, QT, FLTK (simple with minimal features), GTK (mainly linux); cross platfrom GUI packages
Links to Parallel Programming Libraries:
-
openMP: parallel programming on multiple processor computers with shared memory
(now supported in gcc 4.2, which is available with minGW)
-
openMPI: parallel programming on multiple processor computers
connected via a network
- openCL: parallel programming on graphical processor unit, GPU (open source)
- CUDA: parallel programming on graphical processor unit, GPU (NVIDIA)
- CUDA_vs_openCL:
Other Links:
-
On-line version of Numerical Recipes in C++.
-
Crimson Editor: Nice free plain text editor for writing programs
(MS-Windows). Highlights C/C++ syntax in color and gives you the line numbers
to use with gcc/g++ error messages. Also highlights syntax for LaTeX and
other programming languages.
-
Notepad++: Another nice free plain text editor for writing programs
(MS-Windows). Highlights C/C++ syntax in color and gives you the line numbers
to use with gcc/g++ error messages. Also highlights syntax for LaTeX and
other programming languages.
- maxima: Free
symbolic math package with graphics (derived from Macsyma). Windows, Mac and
Linux executables and source code can be downloaded.
-
maxima manuals: How to use maxima.
- symPy: symbolic mathematics Python
-
pdfcreator: free Windows utility to make pdf files
-
Abramowitz and Stugun, Handbook of Mathematical Functions; A classic reference
text with many numerical approximation (hosted by C. B. MacDonald). Some also available from from Google
- DLMF NIST library of math functions
- atomic structure data (NIST)
- AEP home page
Links to Computational Physics Software: (large packages) - Abinit: electronic structure calculations (DFT, psuedopotentials, etc.)
- AlphaFold : protein folding using machine learning (Nature 596, (2021), p.583,590)
- JDFTx: electronic structure calculations (DFT, psuedopotentials, etc.)
- openFoam: open source computational fluid dynamics toolbox and Helyx-OS GUI front-end
- MEEP: free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems
- QuantumExpresso: electronic structure calculations (DFT, psuedopotentials, etc.)
- ParaView: large data set visualization
- Rosseta; computation modeling of proteins structure
- PTSG: Plasma Theory and Simulation Group
- Lawrence Livermore National Laboratory software collection
- Sandia National Laboratory open source software portal
- Los Alamos National Laboratory open source software
Links to Research Programs for Undergraduates at Cornell:
|