summaryrefslogtreecommitdiff
path: root/src/simulation/time_evolution.rs
blob: 61c609eb965daa1ed4e60c63f3bc7145fdc020cc (plain)
1
2
3
4
5
6
7
8
9
10
11
use super::c64;
use ndarray::{Array1, Array2};

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

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