[go: up one dir, main page]

Activity for Matrix Product State (MPS) Simulations

  • Mina Fasihi Dolatabadi Mina Fasihi Dolatabadi created ticket #57

    Negative interaction

  • Daniel Jaschke Daniel Jaschke committed [614a7e]

    Bugfix for using empty list to fill default reduced density matrices in ED.

  • Daniel Jaschke Daniel Jaschke committed [a01d1e]

    Bugfix detection complex operators in init method.

  • Daniel Jaschke Daniel Jaschke committed [7b089c]

    Bugfix Krylov method for pure states and non-hermitian case.

  • Daniel Jaschke Daniel Jaschke committed [472079]

    Bugfix problem with assignment after reshape.

  • Daniel Jaschke Daniel Jaschke committed [5eb4d4]

    Enable mpiifort for compiling with MPI sections.

  • Daniel Jaschke Daniel Jaschke committed [807ce1]

    Enable Lambda measurement for pure states.

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    Good afternoon, When running my code attached, I am running into an error when N >= 8. After the state has evolved for about 14 seconds (of 20 seconds), I get the following error: ** On entry to ZHSEQR parameter number 4 had an illegal value ** On entry to ZGEBAL parameter number 3 had an illegal value ** On entry to ZGEHRD parameter number 2 had an illegal value ** On entry to ZUNGHR ZUNGQR parameter number 2 had an illegal value I could not find much information for what caused this error, and...

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    Hi Matthew, For these data points, I ran openMPS using docker on my personal laptop. It is a Surface laptop 3 with an i5 Intel core (Intel(R) Core(TM) i5-1035G7 CPU @ 1.20GHz, 1498 Mhz, 4 Core(s), 8 Logical Processor(s)). My question isn't so much about the specific runtimes in the table, it is more about the distinct change in trends. There seems to be one trend for N -> {1, 5} and a separate one for N > 5. I have attached a plot to more properly display this. Thanks again for your help!

  • Matthew Jones Matthew Jones posted a comment on discussion Technical

    Thanks Pablo. Can you summarize the system specifications upon which these results were generated?

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    I could not add the image of the table in my original post, so here it is.

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    I have been benchmarking the runtimes of the MPDO method against my own Lindblad Master Equation method and noticed that there is a jump in time when N > 6. Why might this be happening? Attached is an image of a table with the runtimes (in seconds) and my code used to create the times.

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    Hi Pablo, a few points: You have no Lindblad operators defined, so you cannot expect any decay. The default initial state for the time evolution is the ground state of the Hamiltonian. Then, you evolve under the same Hamiltonian, i.e., you will stay in the eigenstate. The time step you set is taken as-is by OSMPS. A time-step dt=1 is a bit big, especially TDVP will have problems. Suggestions: - Switch off J for the ground state search, your initial state will be a product state of all spins aligned....

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    Thanks for the help Daniel! I believe I made all of your suggested changes. I added the QT key-value pair to the parameter dictionary, but when the number of trajectories is greater than 1 I get the following error: Execute_MPSMain testwrite/testB_1.0Main.nml 2 running with 0 0 1 At line 21081 of file /openmps/MPSFortLib/Mods/ObsOps.f90 (unit = 18) Fortran runtime error: Cannot open file 'testwrite//testB_1.00ObsMPO_1.dat': No such file or directory Error termination. Backtrace: #0 0x7fd017a98f81...

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    Hi Pablo, the quick feedback is: 1) Use TDVP, do not use Krylov. 2) There is no key-value pair in the parameter dictionary for the "QT", see at the end of the function description https://openmps.sourceforge.io/pyautodoc/tools.html?highlight=writefiles#tools.WriteFiles 3) There are no Lindblad operators defined, i.e., we have pure Hamiltonian dynamics. The seed is for each trajectory different and you do not have to run the script multiple time. It is done internally once (2) is set. 4) An MPS with...

  • Pablo Pinedo Pablo Pinedo posted a comment on discussion Technical

    Attached is a simplification of the main script I have been using. Listed are some issues that I have encountered: The output files have extra spaces which lead to errors when reading the observables. I added a few lines of code to fix this issue, but I think it's important to take note that this is happening. I can't seem to find a way to specify the number of trajectories over which the code is running. Along with this, running the code multiple times gives the exact same results. This to me indicated...

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Users

    P.S. Assuming that one added myObservables.AddObservable('State', True) in the original examples, which stores states not only under a hash, but also a human-readable filename. On Thu, Jan 6, 2022 at 10:37 AM Daniel Jaschke djaschke@users.sourceforge.net wrote: Hi, statics_initial is enough as a flag. The MPS to False probably came up in a discussion about how to provide input state for the dynamics and skips the ground state search completely, i.e., starting right away with the time evolution. Let's...

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Users

    Hi, statics_initial is enough as a flag. The MPS to False probably came up in a discussion about how to provide input state for the dynamics and skips the ground state search completely, i.e., starting right away with the time evolution. Let's say you want to pick up the ground state search for the Ising model from the Examples, copy-paste that file, change the write and output directory, and add (constructed from the output directory, id, and unique ID of the first simulation) 'statics_initial'...

  • Amz Sin Amz Sin posted a comment on discussion Users

    Dear Developers and Users, Supposing that at the end of a simulation I find that more sweeps need to be performed, then is there a way to resume the simulation forward from the initially obtained ground state? After reading some previous posts my guess is that it may be possible and we need to add 'MPS' : False and 'statics_initial' : <.bin file name here> in the dictionary, but I am not completely sure about it and about the other changes we need to make. It will be really helpful if can get some...

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Users

    Hi, it is as intuitive as you might expect. Step 1) define a new operator or multiple of them as already done with the interaction term Operators = mps.BuildBoseOperators(6) Operators['delta_n_3'] = np.diag(np.array([0, 0, 0, 1, 0, 0, 0])) ... (remaining non-default operators) Step 2) add it to your Hamiltonian H = mps.MPO(Operators) H.AddMPOTerm('site', 'delta_n_3', hparam='U_d3', weight=1.0) ... (remaining terms of the Hamiltonian) Then, you can parameterize the term in your simulation dictionary...

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    Hi Alex, yes indeed, it does slow down due to Gram-Schmidt. Moreover, the code has to do the Gram-Schmidt via fitting new MPS states in contrast to the simple subtraction known from vectors. Subtracting MPSs would increase the bond dimension. From the algorithmic point of view, your approach would be working. But we should think about computational scaling, too. Psi has probably bond dimension chi, |psi><psi| inside the MPO has an MPO bond dimension of chi^2. My first intuition is that we won't be...

  • Amz Sin Amz Sin posted a comment on discussion Users

    Dear Developers and Users, I wish to add an on-site interaction term of the form U_dx (\delta{n_i, x}) to the standard Bose-Hubbard Hamiltonian. Here U_dx denotes the interaction strength and (\delta{n_i, x}) = 1 only when the number of atoms at a site i (n_i ) = x, a fixed number. What will be the best way to code such a term in the existing BoseHubbard example file? Any help would be much appreciated. Thanks!

  • Alex W Alex W posted a comment on discussion Technical

    I've noticed that the excited state search will become quite slow and eventually stop working beyond some highly energetic state (i.e. it's impossible to get the full spectrum unlike in exact diagonalization). I would assume it's because you have to keep subtracting off your new state , resulting in a shrinking state space similar to what happens in a Gran Schmidt procedure What if for each new state from the search, you add a term \lambda |\Psi > < \Psi | to the Hamiltonian and repeat the search...

  • Mostafa Ali Mostafa Ali created ticket #56

    Segmentation Fault when using FiniteFunction

  • Matthew Jones Matthew Jones modified ticket #55

    Issues with Installing OpenMPS

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Problem fixed.

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    No problem! Feel free to open another ticket if you have questions.

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    Sure. I ran the codes successfully for the first and third examples. Thank you for your time. I appreciate it.

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Great!! May I close this issue, or did you have other questions?

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Looks like it! Only one way to find out, though: conda activate openmps && \ python Examples/03_BoseHubbardDynamics.py --PostProcess False && \ python Examples/03_BoseHubbardDynamics.py --PostProcess True

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    I think it did. I ran the example code and got the pdf output file. Thank you so much, Matthew!

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    Did it work?

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Great! Thanks. Can you try this command and send me the output? conda activate openmps && \ python setup.py install && \ python BuildOSMPS.py --clean python BuildOSMPS.py --prefix=$CONDA_PREFIX/bin \ --option=FC:$CONDA_PREFIX/bin/x86_64-conda_cos6-linux-gnu-gfortran \ --option=INCFLAGS:-I$CONDA_PREFIX/include \ --option=LIBFLAGS:-L$CONDA_PREFIX/lib

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    I got this lrwxrwxrwx 1 mostafa mostafa 36 Jun 9 17:48 x86_64-conda_cos6-linux-gnu-f95 -> x86_64-conda_cos6-linux-gnu-gfortran -rwxrwxr-x 1 mostafa mostafa 226 Jun 9 17:47 x86_64-conda_cos6-linux-gnu-gfortran -rwxrwxr-x 2 mostafa mostafa 904240 Aug 21 2018 x86_64-conda_cos6-linux-gnu-gfortran.bin

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Apologies! I had a typo in one of the commands, can you try again?

  • Matthew Jones Matthew Jones modified a comment on ticket #55

    Can you send me the output of the following command? conda activate openmps ls -la $CONDA_PREFIX/bin | grep -i "fortran"

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    both of them don't return any output

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Can you send me the output of the following command? conda activate openmps ls -la $CONDA_PREFIX | grep -i "fortran"

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    I hope I didn't do this wrong

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Can you try the following and send me the output (please add the output as a text file ... it will be large)? conda activate openmps conda list conda activate openmps python BuildOSMPS.py --clean python BuildOSMPS.py --prefix=$CONDA_PREFIX/bin \ --option=FC:$CONDA_PREFIX/bin/gfortran \ --option=INCFLAGS:-I$CONDA_PREFIX/include \ --option=LIBFLAGS:-L$CONDA_PREFIX/lib

  • Matthew Jones Matthew Jones modified a comment on ticket #55

    Hi Matthew, Here are the outputs (base) mostafa@mostafa:~$ lsb_release --all No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 21.04 Release: 21.04 Codename: hirsute (base) mostafa@mostafa:~$ conda --version conda 4.10.1 (base) mostafa@mostafa:~$ conda env list # conda environments: # /home/mostafa/anaconda3 base * /home/mostafa/openmps/conda/root/conda openmps /home/mostafa/openmps/conda/root/conda/envs/openmps Thanks you!

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    Hi Matthew, Here are the outputs (base) mostafa@mostafa:~$ lsb_release --all No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 21.04 Release: 21.04 Codename: hirsute (base) mostafa@mostafa:~$ conda --version conda 4.10.1 (base) mostafa@mostafa:~$ conda env list conda environments: /home/mostafa/anaconda3 base * /home/mostafa/openmps/conda/root/conda openmps /home/mostafa/openmps/conda/root/conda/envs/openmps Thanks you!

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    What operating system are you using? It looks like it's a Linux-based system. Can you send me the output of these commands: lsb_release --all # this will tell me which Linux version you're using conda --version # this will tell me the version of conda on your system conda env list # this will list all of the conda environments built on your system The procedure for configuring the environment is essentially this (from the openmps directory): conda env create --name openmps --file conda/environments/linux.yml...

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    Also, if I change python BuildOSMPS.py --prefix=$CONDA_PREFIX/bin \ --option=FC:$CONDA_PREFIX/bin/gfortran \ --option=INCFLAGS:-I$CONDA_PREFIX/include \ --option=LIBFLAGS:-L$CONDA_PREFIX/lib to python BuildOSMPS.py --prefix=$CONDA_PREFIX/bin \ --option=FC:/usr/bin/gfortran \ --option=INCFLAGS:-I$CONDA_PREFIX/include \ --option=LIBFLAGS:-L$CONDA_PREFIX/lib I can avoid these errors, but I end up getting this /usr/bin/gfortran -O3 -c /home/mostafa/openmps/MPSFortLib/Mods/BasicOps.f90 -I/home/mostafa/openmps/MPSFortLib/Mods/...

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    Here is what these commands return now: $ which python /home/mostafa/openmps/conda/root/conda/envs/openmps/bin/python $ gfortran --version GNU Fortran (Ubuntu 10.3.0-1ubuntu1) 10.3.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gcc --version gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software;...

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    It looks like you're also missing gfortran. Can you describe the exact process you used to configure your environment?

  • Mostafa Ali Mostafa Ali posted a comment on ticket #55

    It seems like I didn't have the command make. I installed it, but I'm getting these errors. make[1]: /home/mostafa/openmps/conda/root/conda/envs/openmps/bin/gfortran: No such file or directory make[1]: [makefile:14: /home/mostafa/openmps/MPSFortLib/Mods/BasicOps.o] Error 127 make[1]: Leaving directory '/home/mostafa/openmps/MPSFortLib/Mods' make: [makefile:29: moddir_obj] Error 2

  • Matthew Jones Matthew Jones posted a comment on ticket #55

    Hi, can you run the following commands, and let me know what the output is? which python gfortran --version gcc --version make --version

  • Mostafa Ali Mostafa Ali created ticket #55

    Issues with Installing OpenMPS

  • Matthew Jones Matthew Jones modified a wiki page

    OpenMPS on Google Colab

  • Daniel Jaschke Daniel Jaschke committed [b6dcb6]

    Bugfix QT and MPO measures: need one copy per trajectory.

  • Daniel Jaschke Daniel Jaschke committed [1f2fab]

    Throw h5py once in unittests and catch exception otherwise.

  • Daniel Jaschke Daniel Jaschke posted a comment on ticket #54

    Hi Casey, for instance you can add an additional key 'QT' to the parameters dictionary with an integer, i.e., the number of quantum trajectories. Then, there is a bug in the MPO measurements and you'd have to replace them with site or correlation measurements. The z-compoment would be myObservables.AddObservable('site', 'sigmaz', '<z>') and in the post processing mags.append(np.mean(results['<z>']</z>))</z> The convergence flag is only available for statics and cannot be accessed in a result of a...

  • Casey Haack Casey Haack created ticket #54

    Output files for QT time evolution have a tab in their name

  • Matthew Jones Matthew Jones committed [5617f4]

    updating style for dockerfile and bash scripts

  • Matthew Jones Matthew Jones committed [8cf598]

    updating style across all bash scripts

  • Matthew Jones Matthew Jones committed [76834b]

    adding end-line in gitignore

  • Matthew Jones Matthew Jones committed [1466a4]

    Merge branch 'master' of ssh://git.code.sf.net/p/openmps/v3code

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you for the reply. Now I think for q2, I can calculate the O_CD using nftotal operators, and corr2nn for the O_BO

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you for the reply. Now I think for q2, I can calculate the O_CD using nftotal operators, and almost calculate O_SO using corr2nn? But there are two terms with the i, i+1 flipped.

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

  • Keyi Liu Keyi Liu posted a comment on discussion Technical

    Hi there, Recently I was running a 1D half-filling chain simulation with Coulomb interactions and I realized that even the ground state calculations could not be completed once the chain becomes fairly long (I've tried 80 for instance). On the other hand, this code runs perfectly fine for smaller system (I tried L=40 or smaller). I ran the code using (in my last calculation) python amn.py 80 1 3 The errors: Execute_MPSMain MPS_TMP_LR/mps_long_range_MPS_L80_N40_t1.0_lambda1.0_nuc1_e2_N3Main.nml 0...

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you very much for the reply. So the only remaining question in q2 is essentially if I could run correlations like <c_ic_jc_kc_l>. If I just naively run something like myObservables.AddObservable('corr', ['fdagger', 'f', 'fdagger', 'f'], name='cijkl', Phase=True) The results still have dimensions (L, L) instead of (L, L, L, L) By the way, in q2 all the operators c_ij are just fermionic creations and annihilation operators, and the first parameter can be defined using nftotal operators so that...

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you very much for the reply. So the only remaining question in q2 is essentially if I could run correlations like <c_ic_jc_kc_l>. If I just naively run something like myObservables.AddObservable('corr', ['fdagger', 'f', 'fdagger', 'f'], name='cijkl', Phase=True) The results still have dimensions (L, L) instead of (L, L, L, L) By the way, in q2 all the operators c_ij are just fermionic creations and annihilation operators

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you very much for the reply. So the only remaining question in q2 is essentially if I could run correlations like <c_ic_jc_kc_l>. If I just naively run something like myObservables.AddObservable('corr', ['fdagger', 'f', 'fdagger', 'f'], name='spdm', Phase=True) The results still have dimensions (L, L) instead of (L, L, L, L) By the way, in q2 all the operators c_ij are just fermionic creations and annihilation operators

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Thank you very much for the reply. So the only remaining question in q2 is essentially if I could run correlations like <c_ic_jc_kc_l>. </c_ic_jc_kc_l> If I just naively run something like myObservables.AddObservable('corr', ['fdagger', 'f', 'fdagger', 'f'], name='spdm', Phase=True) The results still have dimensions (L, L) instead of (L, L, L, L) By the way, in q2 all the operators c_ij are just fermionic creations and annihilation operators

  • Keyi Liu Keyi Liu posted a comment on discussion Technical

    Thank you very much for the reply. So the only remaining question in q2 is essentially if I could run correlations like <c_ic_jc_kc_l>. By the way, in q2 all the operators c_ij are just fermionic creations and annihilation operators</c_ic_jc_kc_l>

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    I will start with q.png ... otherwise, I will risk losing your train of thought, I fear: The left-hand side of Eq. (1) looks a lot like the b b_dagger correlation measurement we have in the Bose-Hubbard example. I assume c and c_dagger are the annihilation and creation operators in your local basis, and then I would move the summation outside of < ... | ... | ... > as on the RHS, most likely including the phi_i, phi_j. I would try an outer product with the vector phi with itself to build a matrix...

  • Keyi Liu Keyi Liu modified a comment on discussion Technical

    Actually I think I know part of the answer to my first question, I will just add a FiniteFunction to the MPO observable. However it'd still be nice to calculate the observable b/w different states However, I want to replace my first question with this one, that is it possible to not do a full sum, as seen in the attachment here?

  • Keyi Liu Keyi Liu posted a comment on discussion Technical

    Actually I think I know the answer to my first question, I will just add a FiniteFunction to the MPO observable. However, I want to replace my first question with this one, that is it possible to not do a full sum, as seen in the attachment here?

  • Keyi Liu Keyi Liu posted a comment on discussion Technical

    Hi there, Sorry for the very late reply we were distracted by something else. Also see attached. We have two questions

  • MRINAL KANTI GIRI MRINAL KANTI GIRI posted a comment on discussion Technical

    I want to make a complex MPS, by introducing complex hopping in Bose-hubbard model. There is some error... Traceback (most recent call last): File "/home/anaconda3/envs/openmps/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap self.run() File "/home/anaconda3/envs/openmps/lib/python3.7/multiprocessing/process.py", line 99, in run self._target(self._args, *self._kwargs) File "standard_copy.py", line 160, in main MainFiles = mps.WriteFiles(staticsParameters, Ops, H) File "/home/anaconda3/envs/openmps/lib/python3.7/site-packages/MPSPyLib/tools.py",...

  • Daniel Jaschke Daniel Jaschke committed [0143e0]

    Resolve import of time.clock for python version 3.8+.

  • Jared Bland Jared Bland posted a comment on discussion Technical

    Is there any reason that a symmetry generator would make an otherwise properly working operator not injective? I've attached an attempt to add the discrete symmetry generator alla Daniel's method in the Bose Hubbard model linked in my previous reply. The only other example I found is in a two flavored model here: https://sourceforge.net/p/openmps/discussion/tech/thread/134fa04f/?limit=25#903a There Rafael has a two species Fermi Hubbard model, which seems to not be functioning correction from the...

  • Sebastian Stumper Sebastian Stumper posted a comment on discussion Technical

    Hi Matthew, did you find time to look at the issue? I just realized that, even if I only define 'Ostr', but set the system size to L=16 instead of 8, there are similar problems in Version 3. Best, Sebastian

  • Jared Bland Jared Bland posted a comment on discussion Technical

    In using the Kitaev Wire Model to explore the features of the OSMPS tools, I was hoping to learn a little more about the quantum information tools available while waiting to see what's going on for the discrete symmetries and multi-flavor Fermionic MPS. For the bond entropy, is this defined as the entanglement entropy between the left and right hand sides of the bond? From printing the array, it seems that the bond entropy gives an L+1 array with index 0 being the bond entropy between site zero and...

  • Jared Bland Jared Bland created ticket #53

    Small Typos in Python Module obsterms Documentation

  • Jared Bland Jared Bland posted a comment on discussion Technical

    Thank you for the help, Matt! I don't mind it at all. A new discussion with a different header will also make it easier for others to search.

  • Jared Bland Jared Bland posted a comment on discussion Technical

    Thank you, Daniel. When I try that, by adding Operators['symm_gen'] = np.fmod(Operators['nftotal'],2) before the generating the parameters and just 'Discrete_generators' : ['symm_gen'], inside the parameters definition, I get an error that the chemical potential term that I defined is not injective. I get the same error when I try to specify Discrete_quantum_numbers : [0] for the initial state inside the parameters definition. Should I try the if-then method you implemented in the openBH_correct_initial_state.py...

  • Matthew Jones Matthew Jones posted a comment on discussion Technical

    We are always happy to provide additional context/insight where appropriate, No need to apologize! Re: Discrete_generators ... yes, I would have assumed it was implemented, but didn't dig past documentation. Looks like it is (per Daniel's comment below)! Thanks for your patience. I would recommend trying Daniel's fix for discrete generators, which should enforce exactly the parity you're looking for. j is NumPy's representation for complex numerical objects (imaginary unit). Here's NumPy's documentation...

  • Matthew Jones Matthew Jones posted a comment on discussion Technical

    Thanks, Daniel. I'll make an action item to update the documentation for OpenMPS on Discrete_generators (here) to reflect this.

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    Hi Jared, the discrete generator has to be a list of strings in your parameter dictionary, in your case with one entry as you stated from the 04_SpinlessFermions.py example. Somewhere you have the class for the operators which has also the basic features of a dictionary. Can you try something like this: Operators['symm_gen'] = np.fmod(Operators['nftotal'],2) and then later 'Discrete_generators' : ['symm_gen'] Please let us know if that works as a solution. Best regards, Daniel On Sun, Oct 25, 2020...

  • Jared Bland Jared Bland posted a comment on discussion Technical

    Thank you. That post I referenced had code using Discrete_generators was from 2016 - I thought it had been implemented - so I thought perhaps we should use that for global discrete symmetries. I'm not yet totally python literate - I'm learning python as I explore this tool (sorry!), so I'm missing a detailed understanding of things like Python dictionaries. I'll look into it tonight. Most of my python experience has been yelling at my machine for caring about number of spaces/tabs and not having...

  • Matthew Jones Matthew Jones modified a comment on discussion Technical

    Great question, Jared. Operators is a dictionary list. A reference to something like Operators["nftotal"] should return a NumPy array representation for the operator with name "nftotal". To use a custom global symmetry, you must first declare your operator in the Operators dictionary list with something like this: Operators["new_op_name"] = np.array([[a0, b0, c0, ...], [a1, b1, c1, ...], ...]) Then, in your simulation parameters, insist that the system-global value is fixed: ... some_global_value...

  • Matthew Jones Matthew Jones posted a comment on discussion Technical

    Great question, Jared. Operators is a dictionary list. A reference to something like Operators["nftotal"] should return a NumPy array representation for the operator with name "nftotal". To use a custom global symmetry, you must first declare your operator in the Operators dictionary list with something like this: Operators["new_op_name"] = np.array([[a0, b0, c0, ...], [a1, b1, c1, ...], ...]) Then, in your simulation parameters, insist that the system-global value is fixed: ... some_global_value...

  • Jared Bland Jared Bland posted a comment on discussion Technical

    How do we implement global discrete symmetries? In https://sourceforge.net/p/openmps/discussion/tech/thread/7dd1fa40/?limit=25#9544 the idea of a parity / global Z2 is mentioned, but I can't seem to implement it correctly. From that: " Discrete symmetries are of Ising Z2 type which looks to me like your case. Your symmetry generator would be the matrix with diagonal entries (0, 1, 0, 1, ...), in case with spinless fermions of all the same type only (0, 1)" Is there some particular formatting to use?...

  • Simon Kothe Simon Kothe posted a comment on ticket #51

    Hi Matthew, thanks for answering the question. Apart from having installed anaconda on another occasion, I followed the installation guide to the letter. https://sourceforge.net/p/openmps/wiki/OpenMPS%20from%20Source/ I use ubuntu. Best regards, Simon Matrix Product State (MPS) Simulations / Wiki / OpenMPS from Sourcehttps://sourceforge.net/p/openmps/wiki/OpenMPS%20from%20Source/ Acquire the dependencies Additional steps for macOS. If you are installing onto a linux-based operating system, you can...

  • Jared Bland Jared Bland posted a comment on discussion Users

    Okay, great. Thank you.

  • MRINAL KANTI GIRI MRINAL KANTI GIRI posted a comment on discussion Users

    Hi Jared, Thanks for reply. But i short out this issue. for two-component we have to conserved abelian generator [nb_0,nb_1] quantum numbers [n1n2 individually . Cheers, Mrinal

  • Matthew Jones Matthew Jones posted a comment on ticket #51

    Hello, Thanks for posting your issue! The fatal return code 127 indicates that the fortran library does not exist in any standard location. Would you mind sharing your installation procedure with me? Thanks, Matthew J

  • Matthew Jones Matthew Jones posted a comment on discussion Technical

    Hi Sebastian, Thanks for posting, and checking into correctness between major versions of OpenMPS. That saves me a lot of time! I will look into your issue and provide guidance early next week.

  • Matthew Jones Matthew Jones posted a comment on discussion Users

    Hi Jared! Thanks for the message. I've been debugging the code path you've outlined, and it essentially boils down to a malformed tensor signature that's generating an improperly shaped object for the LAPACK routine. I'm working on two things for you: A "quick and dirty" fix that gets your work going right now. A "longer term" fix that addresses the core behavior. (2) is obviously way more involved than (1), but I am very glad that you posted an issue.

  • Jared Bland Jared Bland posted a comment on discussion Users

    Hello, Matt, May I ask if anything happend in the debugging session? Thanks, Jared

  • Jared Bland Jared Bland posted a comment on discussion Users

    Hi Mrinal, Assuming that you have played with the convergence parameters and found that the error didn't go away: I had a similar issue, and a reinstall fixed that error by changing the compilation optimization flags for the Fortran side. Though, I still have issues with a two component Fermionic model. The post I made : https://sourceforge.net/p/openmps/discussion/users/thread/e9398f5948/ which contains some of the details that helped me resolve that issue on my system. The other post that helped...

  • MRINAL KANTI GIRI MRINAL KANTI GIRI posted a comment on discussion Users

    I am not able resolve this error while compiling the attached script file... outputs_QW_2/test_QW_2tau_10.1_L_21_N_2_U_10_t1_1.0_t2_1.0 399653c47b8457ac7da448bdd186a945e1567ba9ea306a2c0c outputs_QW_2/test_QW_2tau_10.1_L_21_N_4_U_10_t1_1.0_t2_1.0 82b6f06f8e4aa1f022f413d4cb633399baaf7c068fe467b7a7 outputs_QW_2/test_QW_2_L_21_N_2_U_10_t1_1.0_t2_1.0 31c514da781332bd38bc9ccf33ab3c1efe6baec8e9bbbf57e5 Execute_MPSMain test_QW_2/test_QW_2_L_21_N_2_U_10_t1_1.0_t2_1.0Main.nml 0 On entry to DGEMM parameter...

  • MRINAL KANTI GIRI MRINAL KANTI GIRI created ticket #52

    Two-species bose-hubbard model-

  • Sebastian Stumper Sebastian Stumper posted a comment on discussion Technical

    Dear all, I have trouble computing the dynamics of some correlation functions (Bose-Hubbard, Spin-1 Heisenberg), depending on whether some other Observables are defined or not. Attached is an example script for Quench dynamics in a Bose-Hubbard model, using the TDVP. The Observable 'Ostr' is only computed correctly, if the line myObservables.AddObservable('corr',['dn','dn'],'nn') is commented out. It seems that this problem did not exist in version 2.1, but in the newer versions 3 and 3.1. Could...

  • Simon Kothe Simon Kothe created ticket #51

    MPSPyLib not found

  • Daniel Jaschke Daniel Jaschke posted a comment on discussion Technical

    Hello, no, it is not possible right now to define this observable via the python interface. But indeed, the inner products are already in fortran, e.g., you could calculate the overlap between the ground state and the excited state (and verify that they are orthogonal). Depending on what your observable really is, there might be the chance to measure reduced density matrices of the ground and excited state and then handle your measurement in your python post processing. If you share what measure...

  • Matthew Jones Matthew Jones committed [ec8a1a]

    properly source conda environment in script

1 >