README.md

Wed, 07 Dec 2022 07:00:27 +0200

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 07 Dec 2022 07:00:27 +0200
changeset 18
2b75e98df693
parent 17
51bfde513cfa
child 19
8e297c1dcd3a
child 20
76e7d61874eb
permissions
-rw-r--r--

Added tag v0.1.0 for changeset 51bfde513cfa

0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
2 # AlgTools
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
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
5 iterative algorithms and (abstract) numerical computing in Rust. Former versions
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
6 of the package were for Julia. They are no longer mintained. 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.
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
19 * Additional [iterators and iteration tools][], especially variants of `map`
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
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
34 generated documentation. Unfortunately, `rustdoc`, akin to Rust largely itself,
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
35 is stuck in 80's 7-bit gringo ASCII world, and does not support modern markdown
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
36 features, such as mathematics. Instead, to render mathematics, an ugly
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
37 workaround is needed together with lots of painful raw HTML escapes in the
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
38 documentation.
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
39
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
40
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
41
16
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
42 [nalgebra]: https://www.nalgebra.org
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
43 [norm]: crate::norms
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
44 [linear grids]: crate::lingrid
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
45 [Euclidean space]: crate::euclidean
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
46 [Linear operator]: crate::linops
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
47 [AXPY]: crate::linops::AXPY
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
48 [GEMV]: crate::linops::GEMV
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
49 [linspace]: crate::lingrid::linspace
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
50 [Algorithm iterator abstraction]: crate::iterate
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
51 [logger]: crate::logger
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
52 [write]: crate::tabledump
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
53 [iterators and iteration tools]: crate::iter
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
54 [Float]: crate::types::Float
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
55 [bisection trees]: crate::bisection_tree
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
56 [mapping]: crate::mapping::Mapping
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
57 [associated traits]: crate::types
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
58 [vectors]: crate::loc::Loc
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
59 [num_traits]: num_traits
703482dffd87 README improvements
Tuomo Valkonen <tuomov@iki.fi>
parents: 5
diff changeset
60 [cubes]: crate::sets::Cube
0
9f27689eb130 Initialise new clean repository
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
61

mercurial