(cov: &DMatrix<f64>, indices: &[usize])
| 367 | } |
| 368 | |
| 369 | fn cluster_variance(cov: &DMatrix<f64>, indices: &[usize]) -> Result<f64, HcaaError> { |
| 370 | let w = inverse_variance_weights(cov, indices)?; |
| 371 | let mut v = 0.0; |
| 372 | for (ii, &i) in indices.iter().enumerate() { |
| 373 | for (jj, &j) in indices.iter().enumerate() { |
| 374 | v += w[ii] * cov[(i, j)] * w[jj]; |
| 375 | } |
| 376 | } |
| 377 | Ok(v.max(0.0)) |
| 378 | } |
| 379 | |
| 380 | fn cluster_sharpe( |
| 381 | expected: &[f64], |
no test coverage detected