Version 1 smart fitter in IIRrational library. Uses SVD method with high order over fitting, then switches to nonlinear fits with heuristics to remove poles and zeros down to a reasonable system order.
## `1` initial
### `1.1` initial_direct
...
...
@@ -13,8 +12,7 @@ Version 1 smart fitter in IIRrational library. Uses SVD method with high order o
initial guess without SVD technique


### `1.2` initial_poles
...
...
@@ -22,8 +20,7 @@ initial guess without SVD technique
Performs the SVD for a rough initial guess


### `1.3` initial_zeros
...
...
@@ -31,270 +28,85 @@ Performs the SVD for a rough initial guess
Performs the SVD for a rough initial guess


### `1.4` choose direct
### `1.4` choose poles
> `if`
Chose the direct (non-SVD) fitter as it had the smallest residual of 2.94e+02
Chose the Poles SVD fitter as it had the smaller residual of 4.87e+02 vs. 2.35e+03 for the zeros
### `1.5` seq_iter_1
### `1.5` seq_iter_3
> `IIRrational.fit_poles, IIRrational.fit_zeros`
First iterations, enforcing mindelay and stabilized poles residual of 1.46e+13
First iterations, enforcing stabilized poles residual of 1.91e+02


### `1.6` seq_iter_2
### `1.6` seq_iter_4
> `IIRrational.fit_poles, IIRrational.fit_zeros`
First iterations, enforcing stabilized poles residual of 2.81e+02

### `1.7` seq_iter_3
> `IIRrational.fit_poles, IIRrational.fit_zeros`
First iterations, enforcing stabilized poles residual of 4.56e+02

### `1.8` seq_iter_4
> `IIRrational.fit_poles, IIRrational.fit_zeros`
First iterations, enforcing stabilized poles residual of 5.51e+02
First iterations, enforcing stabilized poles residual of 1.89e+02


### `1.9` Final
### `1.7` Final
> `SVD_method`
Uses SVD to create initial guess of fit for data, followed by several iterative fits
create initial guess of fit for data, followed by several iterative fits
(see reference ???).
* It is a linear method, finding global optimum (nonlocal). This makes it get stuck if systematics are bad. To prevent this,
it requires gratuitous overfitting to reliably get good fits.
* It requires a nyquist frequency that is very low, near the last data point. This can cause artifacts due to phasing discontinuity near the nyquist.
* The provided nyquist frequency is shifted up at the end, removing the real poles/zeros that are typically due to phasing discontinuity