numpy.linalg.LinAlgError: SVD did not converge for a 3D system

Dear Alex,
I am calculating the conductivity for a 3D system. All was going well on AMSET until I changed the doping part from -1E18:-1E21:17 to -1E6:-1E9:17. There is an error like “numpy.linalg.LinAlgError: SVD did not converge for a 3D system”.

The settings.yaml is as follow:

# general settings
doping: -1E6:-1E9:17
temperatures: 300:1800:17
scattering_type: ["IMP", "ADP", "POP"]#, "MFP", "CRT"]

# electronic_structure settings
interpolation_factor: 70

wavefunction_coefficients: "wavefunction.h5"

# material settings# material settings
acceptor_charge: 1
donor_charge: 1
free_carrier_screening: true
deformation_potential: "deformation.h5"
elastic_constant:
  - [   33.909,   11.660,    7.431,    0.005,   -0.783,   -0.004 ]
  - [   11.660,   41.657,    9.479,    0.007,    0.278,   -0.004 ]
  - [    7.431,    9.479,   28.838,    0.007,    0.415,   -0.004 ]
  - [    0.005,    0.007,    0.007,    9.348,   -0.003,    0.254 ]
  - [   -0.783,    0.278,    0.415,   -0.003,    8.011,    0.002 ]
  - [   -0.004,   -0.004,   -0.004,    0.254,    0.002,   14.417 ]
static_dielectric:
    - [9.749399,    0.013434,    0.269193]
    - [   0.013434, 9.871608,    -0.002159]
    - [   0.269193,    -0.002159, 7.82715]
high_frequency_dielectric:
    - [2.912250,    0,    0]
    - [   0, 2.931501,    0]
    - [   0,    0, 2.941479]
#piezoelectric_constant:the material you're looking at is not piezoelectric

pop_frequency: 4.92
mean_free_path: 20
constant_relaxation_time: 1e-14

write_mesh: true
nworkers: 32

the error output is as follow:

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TRANSPORT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Calculating conductivity, Seebeck, and electronic thermal
  conductivity


    ERROR: amset exiting on 11 May 2023 at 08:35
  Traceback (most recent call last):
    File "/home/ucczfz3/Documents/miniconda3/envs/amset/bin/amset",
  line 8, in <module>
      sys.exit(cli())
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/click/core.py", line 1130, in __call__
      return self.main(*args, **kwargs)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/click/core.py", line 1055, in main
      rv = self.invoke(ctx)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/click/core.py", line 1657, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/click/core.py", line 1404, in invoke
      return ctx.invoke(self.callback, **ctx.params)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/click/core.py", line 760, in invoke
      return __callback(*args, **kwargs)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/tools/run.py", line 139, in run
      runner.run()
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/run.py", line 65, in run
      mem_usage, (amset_data, usage_stats) = memory_usage(
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/memory_profiler.py", line 379, in memory_usage
      returned = f(*args, **kw)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/run.py", line 124, in _run_wrapper
      amset_data, timing = self._do_fd_tol(amset_data, directory,
  prefix, timing)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/run.py", line 135, in _do_fd_tol
      amset_data, transport_time = self._do_transport(amset_data)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/run.py", line 282, in _do_transport
      transport_properties = solve_boltzman_transport_equation(
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/transport.py", line 39, in
  solve_boltzman_transport_equation
      sigma, seebeck, kappa = _calculate_transport_properties(
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/amset/core/transport.py", line 186, in
  _calculate_transport_properties
      sigma[n, t], seebeck[n, t], kappa[n, t], _ =
  calc_Onsager_coefficients(
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/BoltzTraP2/bandlib.py", line 530, in
  calc_Onsager_coefficients
      pL11 = np.linalg.pinv(L11[iT, imu])
    File "<__array_function__ internals>", line 180, in pinv
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/numpy/linalg/linalg.py", line 1998, in pinv
      u, s, vt = svd(a, full_matrices=False, hermitian=hermitian)
    File "<__array_function__ internals>", line 180, in svd
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/numpy/linalg/linalg.py", line 1657, in svd
      u, s, vh = gufunc(a, signature=signature, extobj=extobj)
    File
  "/home/ucczfz3/Documents/miniconda3/envs/amset/lib/python3.8/site-
  packages/numpy/linalg/linalg.py", line 98, in
  _raise_linalgerror_svd_nonconvergence
      raise LinAlgError("SVD did not converge")
  numpy.linalg.LinAlgError: SVD did not converge

Hello, is your problem solved now?I’m having the same issue as you。