Skip to content

Commit

Permalink
Version 0.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperFluffy committed Mar 12, 2019
1 parent bbba1da commit d449fd3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gramschmidt"
version = "0.4.1"
version = "0.5.0"
edition = "2018"
authors = ["Richard Janis Goldschmidt <[email protected]>"]
license = "MIT"
Expand Down
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,36 @@ This crate provides the following methods:
# Usage

```rust
extern crate gramschmidt;
extern crate ndarray;

// Import openblas_src or another blas source to have the linker find all symbols.
extern crate openblas_src;

fn main() {
use gramschmidt::{
GramSchmidt,
Reorthogonalized,
Result,
};
use ndarray::arr2;

fn main() -> Result<()> {
let small_matrix = arr2(
&[[2.0, 0.5, 0.0, 0.0],
[0.0, 0.3, 0.0, 0.0],
[0.0, 1.0, 0.7, 0.0],
[0.0, 0.0, 0.0, 3.0]]
);
let mut cgs2 = ReorthogonalizedGramSchmidt::from_matrix(&small_matrix);
cgs2.compute(&small_matrix);
let mut cgs2 = Reorthogonalized::from_matrix(&small_matrix)?;
cgs2.compute(&small_matrix)?;
assert!(small_matrix.all_close(&cgs2.q().dot(cgs2.r()), 1e-14));
Ok(())
}
```

# Recent versions

+ `0.5.0`: Refactored the library and updated for edition 2018
+ the Gram Schmidt factorizations are now all implemented via the `GramSchmidt` trait;
+ introduce some error handling;
+ provide convenience functions `cgs`, `cgs2`, and `mgs`.
+ `0.4.1`: Fixed doc tests and expanded + simplified tests.
+ `0.4.0`: Major rework of the library structure:
+ The algorithms are now configured via structs, the traits are dropped.
Expand Down

0 comments on commit d449fd3

Please sign in to comment.