Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/04/13 16:06:26 (11 years ago)
Author:
gkronber
Message:

#1902 fixed bugs in ARD covariance functions (checked if parameter and gradient order matches for all functions)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/CovarianceFunctions/CovarianceRationalQuadraticArd.cs

    r9106 r9108  
    8888      int c = 0;
    8989      // gather parameter values
     90      if (InverseLengthParameter.Value != null) {
     91        inverseLength = InverseLengthParameter.Value.ToArray();
     92      } else {
     93        int length = p.Length;
     94        if (ScaleParameter.Value == null) length--;
     95        if (ShapeParameter.Value == null) length--;
     96        inverseLength = p.Select(e => 1.0 / Math.Exp(e)).Take(length).ToArray();
     97        c += inverseLength.Length;
     98      }
    9099      if (ScaleParameter.Value != null) {
    91100        scale = ScaleParameter.Value.Value;
     
    99108        shape = Math.Exp(p[c]);
    100109        c++;
    101       }
    102       if (InverseLengthParameter.Value != null) {
    103         inverseLength = InverseLengthParameter.Value.ToArray();
    104       } else {
    105         inverseLength = p.Skip(c).Select(e => 1.0 / Math.Exp(e)).ToArray();
    106         c += inverseLength.Length;
    107110      }
    108111      if (p.Length != c) throw new ArgumentException("The length of the parameter vector does not match the number of free parameters for CovarianceRationalQuadraticArd", "p");
Note: See TracChangeset for help on using the changeset viewer.