public static OrbitalDesignation TransformUnderSymmetry(OrbitalDesignation des, Matrix sym) { switch (des) { case OrbitalDesignation.s: return(OrbitalDesignation.s); case OrbitalDesignation.px: return(TransformP(sym[0, 0], sym[0, 1], sym[0, 2])); case OrbitalDesignation.py: return(TransformP(sym[1, 0], sym[1, 1], sym[1, 2])); case OrbitalDesignation.pz: return(TransformP(sym[2, 0], sym[2, 1], sym[2, 2])); case OrbitalDesignation.dxy: return(TransformT2g(sym, 0, 1)); case OrbitalDesignation.dxz: return(TransformT2g(sym, 0, 2)); case OrbitalDesignation.dyz: return(TransformT2g(sym, 1, 2)); case OrbitalDesignation.dz2: return(TransformDz2(sym)); case OrbitalDesignation.dx2y2: return(TransformDx2y2(sym)); } return(OrbitalDesignation.none); }
public static OrbitalDesignation TransformUnderSymmetry(OrbitalDesignation des, Matrix sym) { switch (des) { case OrbitalDesignation.s: return OrbitalDesignation.s; case OrbitalDesignation.px: return TransformP(sym[0, 0], sym[0, 1], sym[0, 2]); case OrbitalDesignation.py: return TransformP(sym[1, 0], sym[1, 1], sym[1, 2]); case OrbitalDesignation.pz: return TransformP(sym[2, 0], sym[2, 1], sym[2, 2]); case OrbitalDesignation.dxy: return TransformT2g(sym, 0, 1); case OrbitalDesignation.dxz: return TransformT2g(sym, 0, 2); case OrbitalDesignation.dyz: return TransformT2g(sym, 1, 2); case OrbitalDesignation.dz2: return TransformDz2(sym); case OrbitalDesignation.dx2y2: return TransformDx2y2(sym); } return OrbitalDesignation.none; }