ClimateMachine.jl
BlockBandedMatrices.jl
ClimateMachine.jl | BlockBandedMatrices.jl | |
---|---|---|
1 | 2 | |
433 | 56 | |
- | - | |
0.0 | 7.9 | |
about 1 year ago | 7 days ago | |
Julia | Julia | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ClimateMachine.jl
-
Is Julia suitable for computational physics?
There are some big projects using all of this. The CLIMA climate model is a good example, and you can find 20 other fluid dynamics simulators. There's differentiable N-body simulators, rigid body and robotics simulators, DFT libraries, etc.
BlockBandedMatrices.jl
-
State of Machine Learning in Julia
This isn't quite true. Differently ordered operations can lead to different results due to floating point math, but in general, the point of multiple dispatch isn't to produce different results for different types. The example from Stefan's talk does this when contrasting with operator overloading because it's easier to show a difference in results than a difference in performance.
I don't know the specifics of how Matlab/Octave do this, but you're probably right about runtime checks.
It's true that compilation time will make Julia slower than Octave for a single multiplication, but if you are doing a bunch of them (especially if they are small), Julia can perform the computations with much lower overhead since it doesn't have to do type checks for stable programs. Also, Julia lets you define specialized matrix types which can be asymptotically faster than Octave for specific circumstances. A great example of this is BandedBlockBandedMatrix from https://github.com/JuliaMatrices/BlockBandedMatrices.jl which are extremely useful solving of PDEs quickly, but aren't implemented in any of the other languages because they have to write all their dispatch systems manually for each algorithm.
-
Is Julia suitable for computational physics?
Of course, (GPU-based) numerical linear algebra, complex numbers, etc. is all there. There's a bunch of fancy special matrix libraries for faster PDE calculations that can be mixed with all sorts of solvers, etc.
What are some alternatives?
SciMLBenchmarks.jl - Scientific machine learning (SciML) benchmarks, AI for science, and (differential) equation solvers. Covers Julia, Python (PyTorch, Jax), MATLAB, R
ParallelKMeans.jl - Parallel & lightning fast implementation of available classic and contemporary variants of the KMeans clustering algorithm
Oceananigans.jl - 🌊 Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs
julia - The Julia Programming Language
Metal.jl - Metal programming in Julia
Makie.jl - Interactive data visualizations and plotting in Julia