Compare commits
2 Commits
5839882ed7
...
5332fda6e4
Author | SHA1 | Date | |
---|---|---|---|
|
5332fda6e4 | ||
|
22a93bee28 |
@ -500,4 +500,41 @@ mod tests {
|
|||||||
println!("{:<4} │ {}", step, scaled_loss);
|
println!("{:<4} │ {}", step, scaled_loss);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TO DO */
|
||||||
|
// --- new test placed here to avoid merge conflict ---
|
||||||
|
|
||||||
|
// at the frozen indices, the optimization steps should have exact zeros,
|
||||||
|
// and the realized configuration should match the initial guess
|
||||||
|
#[test]
|
||||||
|
fn frozen_entry_test() {
|
||||||
|
let gram = {
|
||||||
|
let mut gram_to_be = PartialMatrix::new();
|
||||||
|
for j in 0..2 {
|
||||||
|
for k in j..2 {
|
||||||
|
gram_to_be.push_sym(j, k, if (j, k) == (1, 1) { 1.0 } else { 0.0 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gram_to_be
|
||||||
|
};
|
||||||
|
let guess = DMatrix::from_columns(&[
|
||||||
|
point(0.0, 0.0, 2.0),
|
||||||
|
sphere(0.0, 0.0, 0.0, 1.0)
|
||||||
|
]);
|
||||||
|
let frozen = [(3, 0), (3, 1)];
|
||||||
|
println!();
|
||||||
|
let (config, success, history) = realize_gram(
|
||||||
|
&gram, guess.clone(), &frozen,
|
||||||
|
1.0e-12, 0.5, 0.9, 1.1, 200, 110
|
||||||
|
);
|
||||||
|
assert_eq!(success, true);
|
||||||
|
for base_step in history.base_step.into_iter() {
|
||||||
|
for index in frozen {
|
||||||
|
assert_eq!(base_step[index], 0.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for index in frozen {
|
||||||
|
assert_eq!(config[index], guess[index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user