public void TestARDKernelDerivs()
        {
            double[] logLengths = { -0.123, 0.456, 1.789 };
            double   log_sig_sd = System.Math.Log(3.456);
            ARD      ardk       = new ARD(logLengths, log_sig_sd);

            double[]      x1    = { 0.1, 0.2, 0.3 };
            double[]      x2    = { 0.9, 0.7, 0.5 };
            Vector        v1    = Vector.FromArray(x1);
            Vector        v2    = Vector.FromArray(x2);
            List <Vector> xlist = new List <Vector>(2);

            xlist.Add(v1);
            xlist.Add(v2);
            Vector y = Vector.Zero(2);

            y[0] = 0.3;
            y[1] = 0.5;

            ardk.InitialiseFromData(xlist, y);
            Vector x1Vec = Vector.FromArray(x1);
            Vector x2Vec = Vector.FromArray(x2);

            TestDerivatives(ardk, x1Vec, x1Vec);
            TestDerivatives(ardk, x1Vec, x2Vec);
        }
        public void TestARDReadWrite()
        {
            double[] logLengths = { -0.123, 0.456, 1.789 };
            double   log_sig_sd = System.Math.Log(3.456);
            ARD      ardk       = new ARD(logLengths, log_sig_sd);

            TestReadWrite(ardk);
        }