コード例 #1
0
        static void TestLorentzTransform(EuclideanVector3 v)
        {
            LorentzVectorVariableU x0 = new LorentzVectorVariableU("t", "x", "y", "z");

            LorentzVectorU x1 = x0.Transform(v);
            LorentzVectorU x2 = x1.Transform(-v);

            Assert.AreEqual(x0, x2);
            Assert.AreEqual(LorentzMatrixUL.One, LorentzTransform.Matrix(v) * LorentzTransform.Matrix(-v));
        }
コード例 #2
0
 public LorentzVectorOperatorU Transform(EuclideanVector3 velocity)
 {
     return(LorentzTransform.Matrix(velocity) * this);
 }
コード例 #3
0
 public RelativisticParticle Transform(EuclideanVector3 velocity)
 {
     LorentzMatrixUL L = LorentzTransform.Matrix(velocity);
     return new RelativisticParticle(this.Mass, L * this.Position, this.InvariantTimeDerivative);
 }
コード例 #4
0
        public ElectromagneticField Transform(EuclideanVector3 velocity)
        {
            LorentzMatrixUL L = LorentzTransform.Matrix(velocity);

            return(new ElectromagneticField(L * this.Potential, L.Invert() * this.Del));
        }
コード例 #5
0
 public LorentzVectorL Transform(EuclideanVector3 velocity)
 {
     return(this * LorentzTransform.Matrix(velocity));
 }