This is my experimental project to use Rust for numerical calculation of graph theory.
My goal is to perform numerical calculation of percolation procedure and measure the time, compare it with the C/C++ one.
The struct Network is the universe of the system in mathmatics literature.
This struct is the simplest expression of the network or graph. See page of struct Network.
Functions exist to manage struct Network.
This is the design of this crate.
I think we should use C/C++ or Fortran for numerical calculation thanks to the calculation time.
Rust may be the member of them.
But here is the problem : the existance of the intel compiler.
I know icc, which is a c compiler made by Intel, is the killer one for my field of study.
Rust's Strong Point
- Cargo. I want cargo like utility for C++.
- Wasm. I think the document for "wasm+rust" is great, or "wasm+c" is too bad. I want easy access to visualization for numerial simulation, with same code for non-visual simulation. Browser is the most powerful tool for visualization. If we want to add visualization to lifecycle of the program, which should be browser with wasm.
- Intelligence of compiler. I hate bug, error, panic.
- Reuse of code. I couldn't find a smart way to manage the C/C++ library project. I experiment creates.io lifecycle.
- New. We are young and go further.
Rust's Weak Point
- Intel Compiler. This is the fatal point.
- Limitation of language itself. C/C++ can do everything literatually. This may be angel, or demon.
- Less of history. Is there a library for conjugate gradient method?
- Few people use Rust for numerical simulation. Yah, I may become the one of them if I conclude C/C++ is the better way. Now on judge procedure.
Definition of struct Network, the implementation of network in mathmatics.