Beispiel #1
0
        public virtual Matrix integratedCovariance(double t, Vector x = null)
        {
            // this implementation is not intended for production.
            // because it is too slow and too inefficient.
            // This method is useful for testing and R&D.
            // Please overload the method within derived classes.

            Utils.QL_REQUIRE(x == null, () => "can not handle given x here");

            Matrix tmp = new Matrix(size_, size_, 0.0);

            for (int i = 0; i < size_; ++i)
            {
                for (int j = 0; j <= i; ++j)
                {
                    Var_Helper           helper     = new Var_Helper(this, i, j);
                    GaussKronrodAdaptive integrator = new GaussKronrodAdaptive(1e-10, 10000);
                    for (int k = 0; k < 64; ++k)
                    {
                        tmp[i, j] += integrator.value(helper.value, k * t / 64.0, (k + 1) * t / 64.0);
                    }
                    tmp[j, i] = tmp[i, j];
                }
            }
            return(tmp);
        }
Beispiel #2
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GaussKronrodAdaptive obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Beispiel #3
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GaussKronrodAdaptive obj) {
   return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }