public void Common_IStochasticProcess_validation() { var baseProcess = new RotatingWienerProcess(diffusionCoefficient: 0.577, angularVelocity: new Vector3(-0.8, 0.4, 1.3)); var integralProcess = CreateIntegralProcess(baseProcess); ProbabilityTestUtils.ValidateProcess(integralProcess, _point, _time, eps: 1e-5, tolerance: 1e-7); }
public void Apply_Expectation_has_base_point_as_in_base_process_and_fiber_point_as_original_fiber_point_plus_time_times_average_velocity() { var baseProcess = new RotatingWienerProcess(diffusionCoefficient: 0.577, angularVelocity: new Vector3(-0.8, 0.4, 1.3)); var integralProcess = CreateIntegralProcess(baseProcess); var result = integralProcess.Apply(_point, _time).Expectation; var baseResult = (OVector)ExtensionStochasticProcess.GetBaseState(result); var fiberResult = (OVector)ExtensionStochasticProcess.GetFiberState(result); var expectedBaseResult = (OVector)baseProcess.Apply(_basePoint, _time).Expectation; Expect((baseResult - expectedBaseResult).Norm(), Is.LessThan(_tolerance)); var exepectedFiberResult = ExpectedFiberResult(baseResult); Expect((fiberResult - exepectedFiberResult).Norm(), Is.LessThan(_tolerance)); }