Exemplo n.º 1
0
        public RotatingWienerProcess(double diffusionCoefficient, Vector3 angularVelocity)
        {
            _diffusionCoefficient = diffusionCoefficient;
            _angularVelocity      = angularVelocity;

            _stateSpace = new AffineSpace(3);
        }
        public AffineStochasticTransformation(OMatrix matrix, OVector freeTerm, OSymmetricMatrix covariance)
        {
            _domain   = new AffineSpace(matrix.ColumnCount);
            _codomain = new AffineSpace(matrix.RowCount);

            _matrix     = matrix;
            _freeTerm   = freeTerm;
            _covariance = covariance;
        }
        public OrnsteinUhlenbeckProcess(OSymmetricMatrix diffusionMatrix, double relaxationTime, OVector?attractorPoint = null)
        {
            _diffusionMatrix = diffusionMatrix;
            RelaxationTime   = relaxationTime;

            if (attractorPoint != null)
            {
                AttractorPoint = attractorPoint.Value;
            }
            else
            {
                AttractorPoint = Vector.Zero(diffusionMatrix.Dimension);
            }

            _stateSpace = new AffineSpace(diffusionMatrix.Dimension);
        }
Exemplo n.º 4
0
        public WienerProcess(OSymmetricMatrix diffusionMatrix, OVector?driftVelocity = null)
        {
            _stateSpace = new AffineSpace(diffusionMatrix.Dimension);

            _diffusionMatrix = diffusionMatrix;

            if (driftVelocity == null)
            {
                _driftVelocity = Vector.Zero(diffusionMatrix.Dimension);
            }
            else
            {
                ArgAssert.Equal(driftVelocity.Value.Dimension, "driftVelocity.Value.Dimension", diffusionMatrix.Dimension, "diffusionMatrix.Dimension");

                _driftVelocity = driftVelocity.Value;
            }
        }