MCPcopy Create free account
hub / github.com/Open-Quant/openquant / quasi_diagonalization

Function quasi_diagonalization

crates/openquant/src/hrp.rs:288–302  ·  view source on GitHub ↗
(
    num_assets: usize,
    clusters: &[[usize; 2]],
    curr_index: usize,
)

Source from the content-addressed store, hash-verified

286}
287
288fn quasi_diagonalization(
289 num_assets: usize,
290 clusters: &[[usize; 2]],
291 curr_index: usize,
292) -> Vec<usize> {
293 if curr_index < num_assets {
294 return vec![curr_index];
295 }
296 let row = curr_index - num_assets;
297 let left = clusters[row][0];
298 let right = clusters[row][1];
299 let mut out = quasi_diagonalization(num_assets, clusters, left);
300 out.extend(quasi_diagonalization(num_assets, clusters, right));
301 out
302}
303
304fn seriate_matrix(mat: &DMatrix<f64>, order: &[usize]) -> DMatrix<f64> {
305 let n = order.len();

Callers 1

allocateMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected