Giter VIP home page Giter VIP logo

Comments (10)

aeantipov avatar aeantipov commented on August 17, 2024

Dear Junya,

Unfortunately we haven't implemented anything in Pomerol outside of single- and two- particle Green's functions. There are arbitrary operators available in Pomerol, and by replacing Creation and AnnihilationOperator in Green's function one can do it, but that requires some development and testing.

Of course in your case if you only need this susceptibility once and for small enough system - get a full twoparticleGF and make a sum. The notation for the frequencies is here https://github.com/aeantipov/pomerol/blob/master/doc/gamma4.pdf (it is c_1 c_2 c^+3 c^+4), so by parametrizing w_3 = w + \Omega, \omega_1 = \omega' + \Omega, w_2 = \omega' and \omega_4 = \omega and summing over \omega and \omega' you'll get what you want. That's of course a very expensive and unoptimized way of doing things.

from pomerol.

j-otsuki avatar j-otsuki commented on August 17, 2024

Thank you for your quick reply, Andrey.

Can you tell me how exactly one can implement it, though, I'm not sure if I can do it. It seems that I copy GreenFunction.cpp and GreenFunctionPart.cpp, and replace CreationOperator and AnnihilationOparator with some arbitrary operators (or product of c_i and c_j^+). Are there something which I should take care of?

from pomerol.

j-otsuki avatar j-otsuki commented on August 17, 2024

Hi, Andrey. I have implemented a susceptibility calculation. Just for your information, I let you know what I did.

I introduced a class named QuadraticOparator, which inherits FieldOperator in a similar manner to CreationOperator and AnnihilationOperator, but contains a product of creation and annihilation operators, c^+ c. Then, I copy GreenFunction.cpp and replace all appearances of CreationOperator and AnnihilationOperator with QuandraticOperator. Finally, I replace fermionic formulas with bosonic ones. It seems working.

from pomerol.

aeantipov avatar aeantipov commented on August 17, 2024

Junya, sorry I missed the previous message. I am glad to know you worked it out and this is indeed the optimal solution. Would you mind contributing it as a PR to pomerol?

from pomerol.

j-otsuki avatar j-otsuki commented on August 17, 2024

I'm happy to contribute my implementation as a PR to the original repo. I'm now further working on implementing <c_i^+ c_j>, which is necessary to complete the susceptibility calculation. I'll let you know when those implementations are finished.

from pomerol.

aeantipov avatar aeantipov commented on August 17, 2024

Thanks a lot, Junya!

from pomerol.

aeantipov avatar aeantipov commented on August 17, 2024

Junya, thanks, this is an incredible work.
I noticed the tests are failing now because they try to build a C++98 code (yes, pomerol still supports it).
I guess by now the entire community has moved on to c++11, so there isn't much need in legacy support.
I made a test PR where C++11 is now enforced - if that works one can merge the two.

from pomerol.

j-otsuki avatar j-otsuki commented on August 17, 2024

Thanks for the patch. I was testing only with gcc 7.

I merged your commit into the PR branch and now Travis CI was passed.

from pomerol.

aeantipov avatar aeantipov commented on August 17, 2024

Great, let me tag the current master as the last one before C++11 and then I'll merge it.

from pomerol.

aeantipov avatar aeantipov commented on August 17, 2024

Now that PR is merged I close this. Once again - thanks a lot!

from pomerol.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.