public void CharDistribution() { var rng = DiscreteChar.UniformInRanges("bdgi"); var unif = DiscreteChar.Uniform(); var mix = new DiscreteChar(); mix.SetToSum(0.8, rng, 0.2, unif); DistributionTests.DistributionTest(unif, mix, false); DistributionTests.PointMassTest(mix, 'b'); DistributionTests.UniformTest(rng, 'b'); }
public void SparseGPTest() { // The basis Vector[] basis = new Vector[] { Vector.FromArray(new double[2] { 0.2, 0.2 }), Vector.FromArray(new double[2] { 0.2, 0.8 }), Vector.FromArray(new double[2] { 0.8, 0.2 }), Vector.FromArray(new double[2] { 0.8, 0.8 }) }; // The kernel IKernelFunction kf = new NNKernel(new double[] { 0.0, 0.0 }, 0.0); // The fixed parameters SparseGPFixed sgpf = new SparseGPFixed(kf, basis); // Alpha and beta Vector alpha = Vector.Zero(basis.Length); PositiveDefiniteMatrix beta = new PositiveDefiniteMatrix(basis.Length, basis.Length); for (int i = 0; i < alpha.Count; i++) { alpha[i] = i; for (int j = 0; j < alpha.Count; j++) { beta[i, j] = alpha.Count - System.Math.Abs(i - j); } } SparseGP a = new SparseGP(sgpf); #if false Rank1Pot r1p = new Rank1Pot(); r1p.Xi = basis[0]; // must be a basis point for this test r1p.Yi = 2.2; r1p.LambdaInv = 0.7; SparseGP b = new SparseGP(sgpf, r1p); DistributionTests.SettableToRatioTest(a, b); #endif DistributionTests.ProductWithUniformTest(a); DistributionTests.RatioWithUniformTest(a); DistributionTests.SettableToTest(a); }