forked from StudioInfinity/dyna3
Adds a `Diagnostics` component that shows the following diagnostics from the last realization: - Confirmation of success or a short description of what failed. - The value of the loss function at each step. - The spectrum of the Hessian at each step. The loss and spectrum plots are shown on switchable panels. Also includes some refactoring/renaming of existing code. Co-authored-by: Aaron Fenyes <aaron.fenyes@fareycircles.ooo> Reviewed-on: StudioInfinity/dyna3#92 Co-authored-by: Vectornaut <vectornaut@nobody@nowhere.net> Co-committed-by: Vectornaut <vectornaut@nobody@nowhere.net>
23 lines
No EOL
766 B
Rust
23 lines
No EOL
766 B
Rust
#[path = "common/print.rs"]
|
|
mod print;
|
|
|
|
use dyna3::engine::{ConfigNeighborhood, examples::realize_irisawa_hexlet};
|
|
|
|
fn main() {
|
|
const SCALED_TOL: f64 = 1.0e-12;
|
|
let realization = realize_irisawa_hexlet(SCALED_TOL);
|
|
print::title("Irisawa hexlet");
|
|
print::realization_diagnostics(&realization);
|
|
if let Ok(ConfigNeighborhood { config, .. }) = realization.result {
|
|
// print the diameters of the chain spheres
|
|
println!("\nChain diameters:");
|
|
println!(" {} sun (given)", 1.0 / config[(3, 3)]);
|
|
for k in 4..9 {
|
|
println!(" {} sun", 1.0 / config[(3, k)]);
|
|
}
|
|
|
|
// print the completed Gram matrix
|
|
print::gram_matrix(&config);
|
|
}
|
|
print::loss_history(&realization.history);
|
|
} |