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); }
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; } }