Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/19 19:19:14 (6 years ago)
Author:
gkronber
Message:

#2994: another unit test, smaller fixes and checks for invalid parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2994-AutoDiffForIntervals/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/Interpreter.cs

    r16727 r16738  
    389389      for (int i = 0; i < paramNodes.Length; ++i) {
    390390        if (paramNodes[i] == null) continue;
    391         lowerGradient[i] = l.Gradient.Elements[paramNodes[i]];
    392         upperGradient[i] = u.Gradient.Elements[paramNodes[i]];
     391        if (l.Gradient.Elements.TryGetValue(paramNodes[i], out AlgebraicDouble value)) lowerGradient[i] = value;
     392        if (u.Gradient.Elements.TryGetValue(paramNodes[i], out value)) upperGradient[i] = value;
    393393      }
    394394      return new Interval(code[0].value.LowerBound.Value.Value, code[0].value.UpperBound.Value.Value);
     
    827827      return this;
    828828    }
     829
     830//     Exponentiation by a natural power[a, b] k:
     831//
     832// if 0∈[a, b], then
     833//   [a, b]^0  =  [0, 1]
     834//   [a, b]^2n   =  [0, max(a2n, b2n)]
     835//   [a, b]^2n+1   =  [a2n+1, b2n+1]
     836// if [a, b]>0, then
     837//   [a, b]^0  =  [1, 1]
     838//   [a, b]^k>0  =  [ak, bk]
     839// if [a, b]<0, then
     840//   [a, b]^0  =  [1, 1]
     841//   [a, b]^2n   =  [b2n, a2n]
     842//   [a, b]^2n+1   =  [a2n+1, b2n+1]
    829843
    830844    public AlgebraicInterval AssignIntPower(AlgebraicInterval a, int p) {
Note: See TracChangeset for help on using the changeset viewer.