AutoEq: Error: "numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares"

Describe the bug When using results\update_results.py, the program produces the error shown in the title numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares.

To Reproduce py -3 results\update_results.py on the current master.

Expected behavior Results would be generated.

Console Output

(venv) %USERPROFILE%\Downloads\GitHub\AutoEq-master>py -3 results\update_results.py

Processing oratory1990 on-ear measurements...
1/259 (0.4%) 11s: Adam SP-5
 ** On entry to DLASCLS parameter number  4 had an illegal value
 ** On entry to DLASCLS parameter number  4 had an illegal value
Traceback (most recent call last):
  File "results\update_results.py", line 256, in <module>
    main()
  File "results\update_results.py", line 135, in main
    batch_processing(
  File "%USERPROFILE%\Downloads\GitHub\AutoEq-master\autoeq.py", line 84, in batch_processing
    peq_filters, n_peq_filters, peq_max_gains, fbeq_filters, n_fbeq_filters, fbeq_max_gain = fr.process(
  File "%USERPROFILE%\Downloads\GitHub\AutoEq-master\frequency_response.py", line 1665, in process
    self.smoothen_fractional_octave(
  File "%USERPROFILE%\Downloads\GitHub\AutoEq-master\frequency_response.py", line 1214, in smoothen_fractional_octave
    self.smoothed = self._smoothen_fractional_octave(
  File "%USERPROFILE%\Downloads\GitHub\AutoEq-master\frequency_response.py", line 1179, in _smoothen_fractional_octave
    y_normal = savgol_filter(y_normal, self._window_size(window_size), 2)
  File "%USERPROFILE%\AppData\Roaming\Python\Python38\site-packages\scipy\signal\_savitzky_golay.py", line 337, in savgol_filter
    coeffs = savgol_coeffs(window_length, polyorder, deriv=deriv, delta=delta)
  File "%USERPROFILE%\AppData\Roaming\Python\Python38\site-packages\scipy\signal\_savitzky_golay.py", line 139, in savgol_coeffs
    coeffs, _, _, _ = lstsq(A, y)
  File "%USERPROFILE%\AppData\Roaming\Python\Python38\site-packages\scipy\linalg\basic.py", line 1218, in lstsq
    raise LinAlgError("SVD did not converge in Linear Least Squares")
numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares

System:

  • OS: Windows 10
  • Python 3.8.7
  • numpy-1.18.5
  • scipy-1.3.3

Additional context I did not use my fork of AutoEQ for this, so the changes on that fork shouldn’t be affecting this.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (7 by maintainers)

Most upvoted comments

@NekoAlosama I updated the scipy version to ~=1.5.4 in the numpy-1.19.5 branch. Could you do a fresh venv and check that everything works for you as expected. When I get a thumbs up from you, I’ll merge to master.