Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.Designer.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.Designer.cs	(revision 9337)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.Designer.cs	(revision 9338)
@@ -32,4 +32,5 @@
       this.splitContainer1 = new System.Windows.Forms.SplitContainer();
       this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
+      this.dataButton = new System.Windows.Forms.Button();
       ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@@ -37,4 +38,5 @@
       this.splitContainer1.Panel2.SuspendLayout();
       this.splitContainer1.SuspendLayout();
+      this.flowLayoutPanel1.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -57,5 +59,5 @@
       series2.Name = "GP (mean)";
       series3.ChartArea = "ChartArea1";
-      series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine;
+      series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastPoint;
       series3.Legend = "Legend1";
       series3.Name = "GP SEiso (mean)";
@@ -87,4 +89,5 @@
       // flowLayoutPanel1
       // 
+      this.flowLayoutPanel1.Controls.Add(this.dataButton);
       this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
       this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
@@ -92,4 +95,14 @@
       this.flowLayoutPanel1.Size = new System.Drawing.Size(735, 126);
       this.flowLayoutPanel1.TabIndex = 0;
+      // 
+      // dataButton
+      // 
+      this.dataButton.Location = new System.Drawing.Point(3, 3);
+      this.dataButton.Name = "dataButton";
+      this.dataButton.Size = new System.Drawing.Size(75, 23);
+      this.dataButton.TabIndex = 0;
+      this.dataButton.Text = "Data...";
+      this.dataButton.UseVisualStyleBackColor = true;
+      this.dataButton.Click += new System.EventHandler(this.dataButton_Click);
       // 
       // Form1
@@ -106,4 +119,5 @@
       ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
       this.splitContainer1.ResumeLayout(false);
+      this.flowLayoutPanel1.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -115,4 +129,5 @@
     private System.Windows.Forms.SplitContainer splitContainer1;
     private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
+    private System.Windows.Forms.Button dataButton;
   }
 }
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.cs	(revision 9337)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessDemo/Form1.cs	(revision 9338)
@@ -10,4 +10,5 @@
 using HeuristicLab.Algorithms.DataAnalysis;
 using HeuristicLab.Core;
+using HeuristicLab.Data;
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.Instances.DataAnalysis;
@@ -27,5 +28,7 @@
 
       var sum = new CovarianceSum();
-      sum.Terms.Add(new CovariancePeriodic());
+      var t = new CovarianceSquaredExponentialIso();
+      t.InverseLengthParameter.Value = new DoubleValue(1.0 / Math.Exp(-2));
+      sum.Terms.Add(t);
       sum.Terms.Add(new CovarianceNoise());
       this.covFunction = sum;
@@ -38,4 +41,5 @@
     private void UpdateSliders() {
       flowLayoutPanel1.Controls.Clear();
+      flowLayoutPanel1.Controls.Add(dataButton);
       for (int i = 0; i < covFunction.GetNumberOfParameters(1); i++) {
         var sliderControl = new TrackBar();
@@ -49,5 +53,5 @@
 
     private void InitData() {
-      int n = 20;
+      int n = 200;
       data = new List<List<double>>();
       data.Add(ValueGenerator.GenerateSteps(0, 1, 1.0 / n).ToList());
@@ -69,13 +73,27 @@
       }
 
+      var trainingData = new List<List<double>>();
+      var trainingIndices = RandomEnumerable.SampleRandomWithoutRepetition(Enumerable.Range(0, y.Count), random, 10);
+      var trainingY = trainingIndices.Select(i => y[i]).ToList();
+      var trainingX = trainingIndices.Select(i => data[0][i]).ToList();
+      trainingData.Add(trainingY);
+      trainingData.Add(trainingX);
+      
+      //chart1.Series[2].Points.Clear();
+      //foreach (var p in trainingY.Zip(trainingX, (t, x) => new { t, x })) {
+      //  chart1.Series[2].Points.AddXY(p.x, p.t);
+      //}
+
       var allData = new List<List<double>>();
       allData.Add(y);
       allData.Add(data[0]);
       var variableNames = new string[] { "y", "x" };
-      var ds = new Dataset(variableNames, allData);
-      var rows = Enumerable.Range(0, data[0].Count);
-      var correctModel = new GaussianProcessModel(ds, variableNames.First(), variableNames.Skip(1), rows, hyp, new MeanZero(),
+      var fullDataSet = new Dataset(variableNames, allData);
+      var trainingDataSet = new Dataset(variableNames, trainingData);
+      var trainingRows = Enumerable.Range(0, trainingIndices.Count());
+      var fullRows = Enumerable.Range(0, data[0].Count);
+      var correctModel = new GaussianProcessModel(fullDataSet, variableNames.First(), variableNames.Skip(1), fullRows, hyp, new MeanZero(),
                                                 (ICovarianceFunction)covFunction.Clone());
-      var yPred = correctModel.GetEstimatedValues(ds, rows);
+      var yPred = correctModel.GetEstimatedValues(fullDataSet, fullRows);
       chart1.Series[1].Points.Clear();
       foreach (var p in yPred.Zip(data[0], (t, x) => new { t, x })) {
@@ -86,5 +104,5 @@
     private double[] GetSliderValues() {
       var hyp = new List<double>();
-      foreach (var slider in flowLayoutPanel1.Controls.Cast<TrackBar>()) {
+      foreach (var slider in flowLayoutPanel1.Controls.OfType<TrackBar>()) {
         Console.Write(slider.Value / 10.0 + " ");
         hyp.Add(slider.Value / 10.0);
@@ -94,4 +112,22 @@
       return hyp.ToArray();
     }
+
+    private void dataButton_Click(object sender, EventArgs e) {
+      var dataForm = new Form();
+      var dataTextField = new TextBox();
+      dataTextField.Multiline = true;
+      dataTextField.Text = DataToText();
+      dataTextField.Dock = DockStyle.Fill;
+      dataForm.Controls.Add(dataTextField);
+      dataForm.ShowDialog();
+    }
+
+    private string DataToText() {
+      var str = new StringBuilder();
+      foreach (var p in chart1.Series[1].Points) {
+        str.AppendLine(p.XValue + "\t" + p.YValues.First());
+      }
+      return str.ToString();
+    }
   }
 }
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessTuning.csproj
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessTuning.csproj	(revision 9337)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/GaussianProcessTuning.csproj	(revision 9338)
@@ -156,5 +156,18 @@
     <Compile Include="TreeNodes.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <None Include="Plugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+</PreBuildEvent>
+  </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
Index: anches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Plugin.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Plugin.cs	(revision 9337)
+++ 	(revision )
@@ -1,24 +1,0 @@
-﻿
-using HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.Problems.GaussianProcessTuning {
-  [Plugin("HeuristicLab.Problems.GaussianProcessTuning", "Gaussian process configuration problem for genetic programming", "1.0.0")]
-  [PluginFile("HeuristicLab.Problems.GaussianProcessTuning-1.0.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Algorithms.DataAnalysis", "3.4")]
-  [PluginDependency("HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm", "3.3")]
-  [PluginDependency("HeuristicLab.Collections", "3.3")]
-  [PluginDependency("HeuristicLab.Common", "3.3")]
-  [PluginDependency("HeuristicLab.Core", "3.3")]
-  [PluginDependency("HeuristicLab.Data", "3.3")]
-  [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
-  [PluginDependency("HeuristicLab.Operators", "3.3")]
-  [PluginDependency("HeuristicLab.Optimization", "3.3")]
-  [PluginDependency("HeuristicLab.Parameters", "3.3")]
-  [PluginDependency("HeuristicLab.Persistence", "3.3")]
-  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
-  [PluginDependency("HeuristicLab.Random", "3.3")]
-  [PluginDependency("HeuristicLab.Selection", "3.3")]
-  [PluginDependency("HeuristicLab.SequentialEngine", "3.3")]
-  public class HeuristicLabProblemsGaussianProcessTuningPlugin : PluginBase {
-  }
-}
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Plugin.cs.frame
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Plugin.cs.frame	(revision 9338)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Plugin.cs.frame	(revision 9338)
@@ -0,0 +1,24 @@
+﻿
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Problems.GaussianProcessTuning {
+  [Plugin("HeuristicLab.Problems.GaussianProcessTuning", "Gaussian process configuration problem for genetic programming", "1.0.0.$WCREV$")]
+  [PluginFile("HeuristicLab.Problems.GaussianProcessTuning-1.0.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Algorithms.DataAnalysis", "3.4")]
+  [PluginDependency("HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm", "3.3")]
+  [PluginDependency("HeuristicLab.Collections", "3.3")]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Data", "3.3")]
+  [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
+  [PluginDependency("HeuristicLab.Operators", "3.3")]
+  [PluginDependency("HeuristicLab.Optimization", "3.3")]
+  [PluginDependency("HeuristicLab.Parameters", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")]
+  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
+  [PluginDependency("HeuristicLab.Random", "3.3")]
+  [PluginDependency("HeuristicLab.Selection", "3.3")]
+  [PluginDependency("HeuristicLab.SequentialEngine", "3.3")]
+  public class HeuristicLabProblemsGaussianProcessTuningPlugin : PluginBase {
+  }
+}
Index: anches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Properties/AssemblyInfo.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Properties/AssemblyInfo.cs	(revision 9337)
+++ 	(revision )
@@ -1,35 +1,0 @@
-﻿using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("HeuristicLab.Problems.GaussianProcessTuning")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("HEAL")]
-[assembly: AssemblyProduct("HeuristicLab")]
-[assembly: AssemblyCopyright("Copyright © HEAL 2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c75ca6a0-0d72-4ca8-a24c-8d7b03c81caa")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Properties/AssemblyInfo.cs.frame
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Properties/AssemblyInfo.cs.frame	(revision 9338)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.GaussianProcessTuning/Properties/AssemblyInfo.cs.frame	(revision 9338)
@@ -0,0 +1,35 @@
+﻿using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Problems.GaussianProcessTuning")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("HEAL")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("Copyright © HEAL 2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("c75ca6a0-0d72-4ca8-a24c-8d7b03c81caa")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.$WCREV$")]
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionDemo.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionDemo.cs	(revision 9338)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionDemo.cs	(revision 9338)
@@ -0,0 +1,79 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Algorithms.DataAnalysis;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class GaussianProcessRegressionDemo : ArtificialRegressionDataDescriptor {
+
+    public override string Name {
+      get { return "Gaussian Process Demo " + name; }
+    }
+    public override string Description {
+      get { return ""; }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override string[] VariableNames { get { return new string[] { "X1","Y" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "X1"}; } }
+    protected override int TrainingPartitionStart { get { return 0; } }
+    protected override int TrainingPartitionEnd { get { return 30; } }
+    protected override int TestPartitionStart { get { return 30; } }
+    protected override int TestPartitionEnd { get { return 230; } }
+
+    private ParameterizedCovarianceFunction cov;
+    private string name;
+
+    public GaussianProcessRegressionDemo(string name, ICovarianceFunction covarianceFunction, double[] hyp) {
+      this.name = name;
+      cov = covarianceFunction.GetParameterizedCovarianceFunction(hyp, null);
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      List<List<double>> trainingData = new List<List<double>>() {
+        ValueGenerator.GenerateUniformDistributedValues(30,0, 1).ToList(),
+      };
+
+      List<List<double>> testData = new List<List<double>>() {
+        ValueGenerator.GenerateSteps(-0.1, 1.1, 1.2 / 200).ToList(),
+      };
+
+      var trainingComb = ValueGenerator.GenerateAllCombinationsOfValuesInLists(trainingData).ToList<IEnumerable<double>>();
+      var testComb = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList<IEnumerable<double>>();
+
+      List<List<double>> data = new List<List<double>>();
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(trainingComb[i].ToList());
+        data[i].AddRange(testComb[i]);
+      }
+
+      var mt = new MersenneTwister();
+
+      var target = Util.SampleGaussianProcess(mt, cov, data);
+      data.Add(target);
+
+      return data;
+    }
+  }
+}
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj	(revision 9337)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj	(revision 9338)
@@ -178,4 +178,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="GaussianProcessRegressionDemo.cs" />
     <Compile Include="GaussianProcess2dPeriodic.cs" />
     <Compile Include="GaussianProcessRegressionInstance1D.cs" />
Index: /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs
===================================================================
--- /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs	(revision 9337)
+++ /branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs	(revision 9338)
@@ -135,4 +135,36 @@
       {
         var cov = new CovarianceSum();
+        cov.Terms.Add(new CovarianceSquaredExponentialIso());
+        cov.Terms.Add(new CovarianceNoise());
+        var hyp = new double[] { -2.5, 0, -7 };
+        descriptorList.Add(new GaussianProcessRegressionDemo("1D: SE Noise", cov, hyp));
+      }
+      {
+        var cov = new CovarianceSum();
+        cov.Terms.Add(new CovarianceRationalQuadraticIso());
+        cov.Terms.Add(new CovarianceNoise());
+        var hyp = new double[] { -2.5, 0, -1, -7 };
+        descriptorList.Add(new GaussianProcessRegressionDemo("1D: RQ Noise", cov, hyp));
+      }
+      {
+        var cov = new CovarianceSum();
+        var t = new CovarianceMaternIso();
+        t.DParameter.Value = t.DParameter.ValidValues.First(x => x.Value == 3);
+        cov.Terms.Add(t);
+        cov.Terms.Add(new CovarianceNoise());
+        var hyp = new double[] { -1.5, 0, -7 };
+        descriptorList.Add(new GaussianProcessRegressionDemo("1D: Matern3 Noise", cov, hyp));
+      }
+      {
+        var cov = new CovarianceSum();
+        var t = new CovariancePeriodic();
+        t.PeriodParameter.Value = new DoubleValue(0.3);
+        cov.Terms.Add(t);
+        cov.Terms.Add(new CovarianceNoise());
+        var hyp = new double[] { 0, 0, -7 };
+        descriptorList.Add(new GaussianProcessRegressionDemo("1D: Periodic Noise", cov, hyp));
+      }
+      {
+        var cov = new CovarianceSum();
         cov.Terms.Add(new CovarianceRationalQuadraticIso());
         cov.Terms.Add(new CovarianceNoise());
