pub fn generate_diis_error_vector( hamiltonian: &[MatrixUpper<f64>; 2], ovlp: &MatrixUpper<f64>, density_matrix: &mut [Vec<MatrixFull<f64>>; 2], spin_channel: usize) -> (Vec<f64>, [MatrixFull<f64>; 2])