README.md

Sat, 10 Dec 2022 16:23:58 +0200

author
Tuomo Valkonen <tuomov@iki.fi>
date
Sat, 10 Dec 2022 16:23:58 +0200
changeset 21
62bdbff9a288
parent 20
76e7d61874eb
permissions
-rw-r--r--

Add rust-version specification to Cargo.toml

0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
2 # alg_tools
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
3
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
4 This package contains some general utility routines and tools for implementing
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
5 iterative algorithms and (abstract) numerical computing in [Rust]. Former versions
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
6 of the package were for Julia. They are no longer maintained. Included are:
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
7
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
8 * [Linear operator], [mapping], [Euclidean space], and [norm] abstractions.
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
9 Matrices and vectors are supported via [nalgebra].
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
10 There is also abstraction for [`AXPY`][AXPY] and [`GEMV`][GEMV] operations.
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
11 * Small (on stack) [vectors] and [cubes] that implement the relevant
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
12 abstractions and vector space operations.
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
13 * Multi-dimensional [linear grids], including the familiar-from-Matlab
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
14 one-dimensional [`linspace`][linspace].
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
15 * [Algorithm iterator abstraction] for generically implementing
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
16 intermittent verbosity and stopping rules in iterative algorithms.
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
17 * The algorithm iterators can employ a [logger] to store intermittent results
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
18 (e.g. function values) in memory to later [write] into a csv-file.
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
19 * Additional [iterators and iteration tools], especially variants of `map`
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
20 with predictable type signatures.
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
21 * The `Float` and [associated traits] build upon [num_traits] to
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
22 conveniently write code that works with any floating point number type.
17
51bfde513cfa README beautification
Tuomo Valkonen <tuomov@iki.fi>
parents: 16
diff changeset
23 * Geometrical [bisection trees] for efficient representations of sums of
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
24 functions and branch-and-bound optimisation.
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
25
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
26 ## Building the documentation
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
27
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
28 Integrated source code documentation may be built and opened with
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
29 ```console
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
30 cargo doc # build dependency docs
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
31 misc/cargo-d --open # build and open KaTeX-aware docs for this crate
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
32 ```
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
33 The `cargo-d` script ensures that KaTeX mathematics is rendered in the
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
34 generated documentation through an ugly workaround. Unfortunately,
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
35 `rustdoc`, akin to Rust largely itself, is stuck in 80's 7-bit gringo ASCII
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
36 world, and does not support modern markdown features, such as mathematics.
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
37
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
38
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
39 [Rust]: https://www.rust-lang.org
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
40 [nalgebra]: https://www.nalgebra.org
20
76e7d61874eb Some README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 17
diff changeset
41 [num_traits]: https://docs.rs/num-traits/latest/num_traits/
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
42 [norm]: crate::norms
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
43 [linear grids]: crate::lingrid
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
44 [Euclidean space]: crate::euclidean
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
45 [Linear operator]: crate::linops
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
46 [AXPY]: crate::linops::AXPY
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
47 [GEMV]: crate::linops::GEMV
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
48 [linspace]: crate::lingrid::linspace
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
49 [Algorithm iterator abstraction]: crate::iterate
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
50 [logger]: crate::logger
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
51 [write]: crate::tabledump
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
52 [iterators and iteration tools]: crate::iter
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
53 [Float]: crate::types::Float
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
54 [bisection trees]: crate::bisection_tree
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
55 [mapping]: crate::mapping::Mapping
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
56 [associated traits]: crate::types
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
57 [vectors]: crate::loc::Loc
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
58 [cubes]: crate::sets::Cube
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
59

mercurial