summaryrefslogtreecommitdiff
path: root/src/simulation/time_evolution.rs
blob: 31ea4b1aa164d922791d130029c9f6691c0dfb09 (plain)
1
2
3
4
5
6
7
8
9
10
11
use super::c64;
use ndarray::Array2;

pub trait MatrixGen {
    fn gen(t: f64) -> Array2<c64>;
}

pub trait State {
    fn fibrate(&self) -> Vec<f64>;
    fn evolve<G: MatrixGen>(self, t: f64) -> Self;
}