static GaussianProcessCovarianceOptimizationProblem()
        {
            // cumbersome initialization because of ConstrainedValueParameters
            maternIso1 = new CovarianceMaternIso(); SetConstrainedValueParameter(maternIso1.DParameter, 1);
            maternIso3 = new CovarianceMaternIso(); SetConstrainedValueParameter(maternIso3.DParameter, 3);
            maternIso5 = new CovarianceMaternIso(); SetConstrainedValueParameter(maternIso5.DParameter, 5);

            piecewisePoly0 = new CovariancePiecewisePolynomial(); SetConstrainedValueParameter(piecewisePoly0.VParameter, 0);
            piecewisePoly1 = new CovariancePiecewisePolynomial(); SetConstrainedValueParameter(piecewisePoly1.VParameter, 1);
            piecewisePoly2 = new CovariancePiecewisePolynomial(); SetConstrainedValueParameter(piecewisePoly2.VParameter, 2);
            piecewisePoly3 = new CovariancePiecewisePolynomial(); SetConstrainedValueParameter(piecewisePoly3.VParameter, 3);

            poly2 = new CovariancePolynomial(); poly2.DegreeParameter.Value.Value = 2;
            poly3 = new CovariancePolynomial(); poly3.DegreeParameter.Value.Value = 3;

            spectralMixture1 = new CovarianceSpectralMixture(); spectralMixture1.QParameter.Value.Value = 1;
            spectralMixture3 = new CovarianceSpectralMixture(); spectralMixture3.QParameter.Value.Value = 3;
            spectralMixture5 = new CovarianceSpectralMixture(); spectralMixture5.QParameter.Value.Value = 5;

            linear          = new CovarianceLinear();
            linearArd       = new CovarianceLinearArd();
            neuralNetwork   = new CovarianceNeuralNetwork();
            periodic        = new CovariancePeriodic();
            ratQuadraticArd = new CovarianceRationalQuadraticArd();
            ratQuadraticIso = new CovarianceRationalQuadraticIso();
            sqrExpArd       = new CovarianceSquaredExponentialArd();
            sqrExpIso       = new CovarianceSquaredExponentialIso();
        }
 private CovarianceLinearArd(CovarianceLinearArd original, Cloner cloner)
     : base(original, cloner)
 {
 }
 private CovarianceLinearArd(CovarianceLinearArd original, Cloner cloner)
   : base(original, cloner) {
 }