source: George Datseris | Why Julia is the most suitable language for science Nick Eubank | What Julia Offers Academic Researchers
- Figure out how the computer and language can help answer my question.
- Realize and implement the idea in code.
- Run the code.
- Fetch results, visualize, debug.
- Release
- Solving the problem, i.e. the language has to allow you to solve it.
- We would like to solve it quickly from the point of view of design and implementation.
- "Performance of doing the science."
- Speed in the computation phase, as it is the thing that will run many times.
- Concise, intuitive, easy to read code.
- Don't be afraid to show the code.
- Code that is easy to share, install, use and replicate.
- I would also add easy to extend.
- Free and open source
- number types and their hierarchy
- extensive LinearAlgebra
- native parallelism
- zero overhead units using Unitful
- see potential of plotting the result, where on each axis there is also the unit defined, as there is metadata along the real data
source: http://www.stochasticlifestyle.com/category/math/differential-equations/ Confederated Modular Differential Equation APIs for Accelerated Algorithm Development and Benchmarking
- SOTA pkg for solving PDE, ODE,
- modular in its design
- defined in one meta-package
- solve method is the core of the design
- input: problem, solver, args, kwargs
- dispatched based on the given problem
- output is standardized with common access methods
- solver can be defined in its own pkg
- type hierarchy plus some heuristics allow for automatic specialization of solver for a given problem and solution requirements