Skip to main content

Module multi_fdata

Module multi_fdata 

Source
Expand description

Multi-domain functional data container.

MultiFunData holds several FdComponent blocks that may live on different domains/grids (the multi-domain feature). The only shared invariant across components is that they must all have the same number of observations (rows). Each component carries its own evaluation grid (argvals), whose length must equal the number of columns in its FdMatrix.

This mirrors the funData::multiFunData capability from the R funData package (REP-01 SC2).

§Examples

use fdars_core::matrix::FdMatrix;
use fdars_core::multi_fdata::{FdComponent, MultiFunData};

// Two components: 5 observations on different grids (10-point and 4-point).
let data1 = FdMatrix::zeros(5, 10);
let argvals1: Vec<f64> = (0..10).map(|i| i as f64 / 9.0).collect();
let comp1 = FdComponent { data: data1, argvals: argvals1 };

let data2 = FdMatrix::zeros(5, 4);
let argvals2: Vec<f64> = vec![0.0, 1.0, 2.0, 3.0];
let comp2 = FdComponent { data: data2, argvals: argvals2 };

let mfd = MultiFunData::new(vec![comp1, comp2]).unwrap();
assert_eq!(mfd.n_obs(), 5);
assert_eq!(mfd.n_components(), 2);

Structs§

FdComponent
A single component of a MultiFunData object.
MultiFunData
Multi-domain functional data container.