public class org.apache.commons.math3.fitting.HarmonicCurveFitter extends org.apache.commons.math3.fitting.AbstractCurveFitter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.fitting.HarmonicCurveFitter
  super_class: org.apache.commons.math3.fitting.AbstractCurveFitter
{
  private static final org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric FUNCTION;
    descriptor: Lorg/apache/commons/math3/analysis/function/HarmonicOscillator$Parametric;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final double[] initialGuess;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxIter;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 51
            new org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric
            dup
            invokespecial org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric.<init>:()V
            putstatic org.apache.commons.math3.fitting.HarmonicCurveFitter.FUNCTION:Lorg/apache/commons/math3/analysis/function/HarmonicOscillator$Parametric;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(double[], int);
    descriptor: ([DI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
        start local 1 // double[] initialGuess
        start local 2 // int maxIter
         0: .line 64
            aload 0 /* this */
            invokespecial org.apache.commons.math3.fitting.AbstractCurveFitter.<init>:()V
         1: .line 66
            aload 0 /* this */
            aload 1 /* initialGuess */
            putfield org.apache.commons.math3.fitting.HarmonicCurveFitter.initialGuess:[D
         2: .line 67
            aload 0 /* this */
            iload 2 /* maxIter */
            putfield org.apache.commons.math3.fitting.HarmonicCurveFitter.maxIter:I
         3: .line 68
            return
        end local 2 // int maxIter
        end local 1 // double[] initialGuess
        end local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
            0    4     1  initialGuess  [D
            0    4     2       maxIter  I
    MethodParameters:
              Name  Flags
      initialGuess  
      maxIter       

  public static org.apache.commons.math3.fitting.HarmonicCurveFitter create();
    descriptor: ()Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 82
            new org.apache.commons.math3.fitting.HarmonicCurveFitter
            dup
            aconst_null
            ldc 2147483647
            invokespecial org.apache.commons.math3.fitting.HarmonicCurveFitter.<init>:([DI)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.commons.math3.fitting.HarmonicCurveFitter withStartPoint(double[]);
    descriptor: ([D)Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
        start local 1 // double[] newStart
         0: .line 91
            new org.apache.commons.math3.fitting.HarmonicCurveFitter
            dup
            aload 1 /* newStart */
            invokevirtual double[].clone:()Ljava/lang/Object;
            checkcast double[]
         1: .line 92
            aload 0 /* this */
            getfield org.apache.commons.math3.fitting.HarmonicCurveFitter.maxIter:I
         2: .line 91
            invokespecial org.apache.commons.math3.fitting.HarmonicCurveFitter.<init>:([DI)V
            areturn
        end local 1 // double[] newStart
        end local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
            0    3     1  newStart  [D
    MethodParameters:
          Name  Flags
      newStart  

  public org.apache.commons.math3.fitting.HarmonicCurveFitter withMaxIterations(int);
    descriptor: (I)Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
        start local 1 // int newMaxIter
         0: .line 101
            new org.apache.commons.math3.fitting.HarmonicCurveFitter
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.fitting.HarmonicCurveFitter.initialGuess:[D
         1: .line 102
            iload 1 /* newMaxIter */
         2: .line 101
            invokespecial org.apache.commons.math3.fitting.HarmonicCurveFitter.<init>:([DI)V
            areturn
        end local 1 // int newMaxIter
        end local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
            0    3     1  newMaxIter  I
    MethodParameters:
            Name  Flags
      newMaxIter  

  protected org.apache.commons.math3.fitting.leastsquares.LeastSquaresProblem getProblem(java.util.Collection<org.apache.commons.math3.fitting.WeightedObservedPoint>);
    descriptor: (Ljava/util/Collection;)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresProblem;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
        start local 1 // java.util.Collection observations
         0: .line 109
            aload 1 /* observations */
            invokeinterface java.util.Collection.size:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 110
            iload 2 /* len */
            newarray 7
            astore 3 /* target */
        start local 3 // double[] target
         2: .line 111
            iload 2 /* len */
            newarray 7
            astore 4 /* weights */
        start local 4 // double[] weights
         3: .line 113
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: .line 114
            aload 1 /* observations */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: org.apache.commons.math3.fitting.HarmonicCurveFitter java.util.Collection int double[] double[] int top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.fitting.WeightedObservedPoint
            astore 6 /* obs */
        start local 6 // org.apache.commons.math3.fitting.WeightedObservedPoint obs
         6: .line 115
            aload 3 /* target */
            iload 5 /* i */
            aload 6 /* obs */
            invokevirtual org.apache.commons.math3.fitting.WeightedObservedPoint.getY:()D
            dastore
         7: .line 116
            aload 4 /* weights */
            iload 5 /* i */
            aload 6 /* obs */
            invokevirtual org.apache.commons.math3.fitting.WeightedObservedPoint.getWeight:()D
            dastore
         8: .line 117
            iinc 5 /* i */ 1
        end local 6 // org.apache.commons.math3.fitting.WeightedObservedPoint obs
         9: .line 114
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 121
            new org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction
            dup
            getstatic org.apache.commons.math3.fitting.HarmonicCurveFitter.FUNCTION:Lorg/apache/commons/math3/analysis/function/HarmonicOscillator$Parametric;
        11: .line 122
            aload 1 /* observations */
        12: .line 121
            invokespecial org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction.<init>:(Lorg/apache/commons/math3/analysis/ParametricUnivariateFunction;Ljava/util/Collection;)V
        13: .line 120
            astore 6 /* model */
        start local 6 // org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction model
        14: .line 124
            aload 0 /* this */
            getfield org.apache.commons.math3.fitting.HarmonicCurveFitter.initialGuess:[D
            ifnull 16
        15: .line 125
            aload 0 /* this */
            getfield org.apache.commons.math3.fitting.HarmonicCurveFitter.initialGuess:[D
            goto 17
        16: .line 127
      StackMap locals: org.apache.commons.math3.fitting.HarmonicCurveFitter java.util.Collection int double[] double[] int org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction
      StackMap stack:
            new org.apache.commons.math3.fitting.HarmonicCurveFitter$ParameterGuesser
            dup
            aload 1 /* observations */
            invokespecial org.apache.commons.math3.fitting.HarmonicCurveFitter$ParameterGuesser.<init>:(Ljava/util/Collection;)V
            invokevirtual org.apache.commons.math3.fitting.HarmonicCurveFitter$ParameterGuesser.guess:()[D
        17: .line 124
      StackMap locals:
      StackMap stack: double[]
            astore 7 /* startPoint */
        start local 7 // double[] startPoint
        18: .line 131
            new org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder
            dup
            invokespecial org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.<init>:()V
        19: .line 132
            ldc 2147483647
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.maxEvaluations:(I)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        20: .line 133
            aload 0 /* this */
            getfield org.apache.commons.math3.fitting.HarmonicCurveFitter.maxIter:I
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.maxIterations:(I)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        21: .line 134
            aload 7 /* startPoint */
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.start:([D)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        22: .line 135
            aload 3 /* target */
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.target:([D)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        23: .line 136
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 4 /* weights */
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([D)V
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.weight:(Lorg/apache/commons/math3/linear/RealMatrix;)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        24: .line 137
            aload 6 /* model */
            invokevirtual org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction.getModelFunction:()Lorg/apache/commons/math3/analysis/MultivariateVectorFunction;
            aload 6 /* model */
            invokevirtual org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction.getModelFunctionJacobian:()Lorg/apache/commons/math3/analysis/MultivariateMatrixFunction;
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.model:(Lorg/apache/commons/math3/analysis/MultivariateVectorFunction;Lorg/apache/commons/math3/analysis/MultivariateMatrixFunction;)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresBuilder;
        25: .line 138
            invokevirtual org.apache.commons.math3.fitting.leastsquares.LeastSquaresBuilder.build:()Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresProblem;
        26: .line 131
            areturn
        end local 7 // double[] startPoint
        end local 6 // org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction model
        end local 5 // int i
        end local 4 // double[] weights
        end local 3 // double[] target
        end local 2 // int len
        end local 1 // java.util.Collection observations
        end local 0 // org.apache.commons.math3.fitting.HarmonicCurveFitter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lorg/apache/commons/math3/fitting/HarmonicCurveFitter;
            0   27     1  observations  Ljava/util/Collection<Lorg/apache/commons/math3/fitting/WeightedObservedPoint;>;
            1   27     2           len  I
            2   27     3        target  [D
            3   27     4       weights  [D
            4   27     5             i  I
            6    9     6           obs  Lorg/apache/commons/math3/fitting/WeightedObservedPoint;
           14   27     6         model  Lorg/apache/commons/math3/fitting/AbstractCurveFitter$TheoreticalValuesFunction;
           18   27     7    startPoint  [D
    Signature: (Ljava/util/Collection<Lorg/apache/commons/math3/fitting/WeightedObservedPoint;>;)Lorg/apache/commons/math3/fitting/leastsquares/LeastSquaresProblem;
    MethodParameters:
              Name  Flags
      observations  
}
SourceFile: "HarmonicCurveFitter.java"
NestMembers:
  org.apache.commons.math3.fitting.HarmonicCurveFitter$ParameterGuesser
InnerClasses:
  public Parametric = org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric of org.apache.commons.math3.analysis.function.HarmonicOscillator
  protected TheoreticalValuesFunction = org.apache.commons.math3.fitting.AbstractCurveFitter$TheoreticalValuesFunction of org.apache.commons.math3.fitting.AbstractCurveFitter
  public ParameterGuesser = org.apache.commons.math3.fitting.HarmonicCurveFitter$ParameterGuesser of org.apache.commons.math3.fitting.HarmonicCurveFitter