Skip to content

Commit e18406a

Browse files
committed
Cubic-Splines: Naming amendments for clarity + remove redundant variable
1 parent b4f8553 commit e18406a

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

crates/RustQuant_math/src/interpolation/cubic_spline.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -193,25 +193,24 @@ where
193193
// inverse of an upper triangular matrix is equal
194194
// to calculating the inverse its transpose
195195
// (a lower triangular matrix) then transposing the result.
196-
fn lower_tri_transpose_times_diag_inv(
196+
fn lower_tri_transpose_inv_times_diag_inv(
197197
&self,
198198
lower_tri_inverse: &[Vec<ValueType>],
199199
diagonal: &[IndexType::Delta],
200200
) -> Vec<Vec<ValueType>> {
201-
let mut upper_tri_row: Vec<ValueType> = vec![];
201+
let mut product_row: Vec<ValueType> = vec![];
202202
let mut product: Vec<Vec<ValueType>> = vec![];
203-
let one: ValueType = ValueType::one();
204203

205204
for i in 0..diagonal.len() {
206-
upper_tri_row.clear();
205+
product_row.clear();
207206
for j in 0..(i + 1) {
208207
if i == j {
209-
upper_tri_row.push(one / diagonal[j].into_value())
208+
product_row.push(ValueType::one() / diagonal[j].into_value())
210209
} else {
211-
upper_tri_row.push(lower_tri_inverse[i][j] / diagonal[j].into_value());
210+
product_row.push(lower_tri_inverse[i][j] / diagonal[j].into_value());
212211
}
213212
}
214-
product.push(upper_tri_row.clone())
213+
product.push(product_row.clone())
215214
}
216215

217216
self.transpose(product)
@@ -313,7 +312,7 @@ where
313312

314313
let mut inv_lower_tri_matrix: Vec<Vec<ValueType>> = self.invert_lower_tri_matrix(&lower_tri_matrix);
315314

316-
let upper_tri_matrix: Vec<Vec<ValueType>> = self.lower_tri_transpose_times_diag_inv(
315+
let upper_tri_matrix: Vec<Vec<ValueType>> = self.lower_tri_transpose_inv_times_diag_inv(
317316
&inv_lower_tri_matrix,
318317
&diag_matrix,
319318
);
@@ -572,7 +571,7 @@ mod tests_cubic_spline_helper_functions {
572571
}
573572

574573
#[test]
575-
fn lower_tri_transpose_times_diag_inv() {
574+
fn lower_tri_transpose_inv_times_diag_inv() {
576575
let xs: Vec<f64> = vec![1., 2., 3., 4., 5.];
577576
let ys: Vec<f64> = vec![1., 2., 3., 4., 5.];
578577

@@ -581,7 +580,7 @@ mod tests_cubic_spline_helper_functions {
581580
let diagonal: Vec<f64> = vec![1.0, 2.0, 3.0];
582581

583582
assert!(
584-
interpolator.lower_tri_transpose_times_diag_inv(&lower_tri_inverse, &diagonal) == vec![
583+
interpolator.lower_tri_transpose_inv_times_diag_inv(&lower_tri_inverse, &diagonal) == vec![
585584
vec![1.0, 2.0, 4.0],
586585
vec![0.5, 2.5],
587586
vec![0.3333333333333333]

0 commit comments

Comments
 (0)