@@ -193,25 +193,24 @@ where
193
193
// inverse of an upper triangular matrix is equal
194
194
// to calculating the inverse its transpose
195
195
// (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 (
197
197
& self ,
198
198
lower_tri_inverse : & [ Vec < ValueType > ] ,
199
199
diagonal : & [ IndexType :: Delta ] ,
200
200
) -> Vec < Vec < ValueType > > {
201
- let mut upper_tri_row : Vec < ValueType > = vec ! [ ] ;
201
+ let mut product_row : Vec < ValueType > = vec ! [ ] ;
202
202
let mut product: Vec < Vec < ValueType > > = vec ! [ ] ;
203
- let one: ValueType = ValueType :: one ( ) ;
204
203
205
204
for i in 0 ..diagonal. len ( ) {
206
- upper_tri_row . clear ( ) ;
205
+ product_row . clear ( ) ;
207
206
for j in 0 ..( i + 1 ) {
208
207
if i == j {
209
- upper_tri_row . push ( one / diagonal[ j] . into_value ( ) )
208
+ product_row . push ( ValueType :: one ( ) / diagonal[ j] . into_value ( ) )
210
209
} 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 ( ) ) ;
212
211
}
213
212
}
214
- product. push ( upper_tri_row . clone ( ) )
213
+ product. push ( product_row . clone ( ) )
215
214
}
216
215
217
216
self . transpose ( product)
@@ -313,7 +312,7 @@ where
313
312
314
313
let mut inv_lower_tri_matrix: Vec < Vec < ValueType > > = self . invert_lower_tri_matrix ( & lower_tri_matrix) ;
315
314
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 (
317
316
& inv_lower_tri_matrix,
318
317
& diag_matrix,
319
318
) ;
@@ -572,7 +571,7 @@ mod tests_cubic_spline_helper_functions {
572
571
}
573
572
574
573
#[ test]
575
- fn lower_tri_transpose_times_diag_inv ( ) {
574
+ fn lower_tri_transpose_inv_times_diag_inv ( ) {
576
575
let xs: Vec < f64 > = vec ! [ 1. , 2. , 3. , 4. , 5. ] ;
577
576
let ys: Vec < f64 > = vec ! [ 1. , 2. , 3. , 4. , 5. ] ;
578
577
@@ -581,7 +580,7 @@ mod tests_cubic_spline_helper_functions {
581
580
let diagonal: Vec < f64 > = vec ! [ 1.0 , 2.0 , 3.0 ] ;
582
581
583
582
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![
585
584
vec![ 1.0 , 2.0 , 4.0 ] ,
586
585
vec![ 0.5 , 2.5 ] ,
587
586
vec![ 0.3333333333333333 ]
0 commit comments