TEBD algorithm fails to converge #192
Unanswered
manthan-badbaria
asked this question in
Q&A
Replies: 2 comments 4 replies
-
Yes, I also get a lot of "Internal algorithm failed to converge" errors when using the .compress() function. Did something change between update? EDIT: I'm using Mac's accelerate framework for the M1 Max CPU. Might this be an issue? |
Beta Was this translation helpful? Give feedback.
4 replies
-
Hi Johnnie,
Thanks for your reply.
I am sharing the error msg I get if that helps, also my numba version is 0.56.4
Traceback (most recent call last):
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/joblib/externals/loky/process_executor.py",
line 436, in _process_worker
r = call_item()
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/joblib/externals/loky/process_executor.py",
line 288, in __call__
return self.fn(*self.args, **self.kwargs)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/joblib/_parallel_backends.py",
line 595, in __call__
return self.func(*args, **kwargs)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/joblib/parallel.py",
line 263, in __call__
return [func(*args, **kwargs)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/joblib/parallel.py",
line 263, in <listcomp>
return [func(*args, **kwargs)
File "/var/folders/dw/9qb0srzj4zs78hy3wnh069mw0000gn/T/ipykernel_34242/288811871.py",
line 17, in Evolution
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 438, in at_times
self.update_to(t, dt=dt, tol=False, order=order, progbar=False)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 391, in update_to
self.step(order=order, progbar=progbar, dt=None, queue=True)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 333, in step
{2: self._step_order2,
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 328, in _step_order4
self._step_order2(tau1, **sweep_opts)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 316, in _step_order2
self.sweep('left', tau, **sweep_opts)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d_tebd.py",
line 266, in sweep
self._pt.gate_split_(
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_1d.py",
line 1608, in gate_split
return self.gate_inds(
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_core.py",
line 3488, in tensor_network_gate_inds
_tensor_network_gate_inds_basic(
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_core.py",
line 3198, in _tensor_network_gate_inds_basic
tln, *maybe_svals, trn = tlGr.split(
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_core.py",
line 2231, in split
return tensor_split(self, *args, **kwargs)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/quimb/tensor/tensor_core.py",
line 514, in tensor_split
left, s, right = _SPLIT_FNS[method](array, **opts)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/autoray/autoray.py",
line 834, in __call__
return fn(*args, **kwargs)
File "/Users/manthanbadbaria/anaconda3/lib/python3.10/site-packages/numba/np/linalg.py",
line 879, in _handle_err_maybe_convergence_problem
raise ValueError("Internal algorithm failed to converge.")
ValueError: Internal algorithm failed to converge.
It's very tricky to reproduce it even using the same parameters
…On Fri, Jul 14, 2023 at 7:40 PM nikitn2 ***@***.***> wrote:
Hi Johnnie,
Thank you for the reply.
My numba version is 0.56.4, from back in Nov 2022, so I don't know if it's
the issue. Only real change I've done to my environment is to use the Apple
“accelerate” framework for BLAS, which I've heard can be more unstable than
openblas. However, since several others are apparently sufering from
similar problems, Apple might not be to blame for this one unless the
others also happen to use accelerate-BLAS.
What I do notice however, is that the eig & isvd methods seem more stable
than svd and svds. I wonder if renorm = True might be helpful? I did some
tests with this, but can't say anything too conclusive.
However, I tested the workaround in #189
<#189> where the scipy-svd is used
as a fall-back, and it works quite well for me.
—
Reply to this email directly, view it on GitHub
<#192 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AWKXFJS7NMSVNXN4NJCCKV3XQFHMLANCNFSM6AAAAAA2HKJEHA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I need to evolve an MPS state(pure state) in real time. For the same I am using TEBD function provided by quimb.
My parameters are as follows:
tebd.split_opts['cutoff']=1e-12 # I require large accuracy
tol=1e-7
I evolve different pure states in MPS form using TEBD but for some states I get the following issue:
"Internal algorithm failed to converge".
Just to mention I have played around with various values of tolerance and cutoff but I end up getting this issue. Also the same calculation worked fine months back.
Beta Was this translation helpful? Give feedback.
All reactions