public DerivedFrameSystem(GaFrame baseFrame, GaFrame derivedFrame, GaOuterMorphism derivedToBaseOm) { BaseFrame = baseFrame; DerivedFrame = derivedFrame; DerivedToBaseOm = derivedToBaseOm; BaseToDerivedOm = derivedToBaseOm.InverseOm(); }
internal GaFrameNonOrthogonal(GaFrame baseOrthoFrame, ISymbolicMatrix ipm, GaOuterMorphism derivedToBaseOm, GaOuterMorphism baseToDerivedOm) { if (baseOrthoFrame.IsOrthogonal == false) { throw new GMacSymbolicException("Base frame must be orthogonal"); } if (ipm.IsSymmetric() == false || ipm.IsDiagonal()) { throw new GMacSymbolicException("Inner product matrix must be symmetric and non-diagonal"); } InnerProductMatrix = ipm.ToMathematicaMatrix(); Dfs = new DerivedFrameSystem(baseOrthoFrame, this, derivedToBaseOm, baseToDerivedOm); }