Code Monkey home page Code Monkey logo

ieompp's Introduction

ieompp

Dependencies

  • Boost>=1.59
  • Eigen (optional)
  • Blaze (optional)

Compiler Support

ieompp has been tested on Linux using:

  • clang 3.9.0
  • gcc 6.2.1
  • icc 17.0.0

ieompp's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

ieompp's Issues

Agenda result

Agenda should store index of terms in the result as well. This required to form the differential equation system.

Allow different values for dx/dy

At many places dx=dy=1 is assumed for the lattice (e.g. ExpectationValue2D). This could be changed so that no dx can be different from dy.

add format function

Use a template

template <typename T>
std::ostream& operator<<(std::ostream& strm, const T& t) {
    return (strm << hubbard::format(t));
}

and implement format() functions for all types in the library.

Parallelized Matrix initialization

Currently most time is spent in the matrix initialization and not the integrator. Building of the matrix should benefit very much from multiple cores as the elements are calculated independently.

Split hubbard model into two folders

While implementing more routines for the momentum space calculations I noticed, that it might be better to have a folder structure like this:

include
 |-- ieompp
      |-- models
           |-- hubbard_real_space
           |-- hubbard_momentum_space
           |-- hubbard_real_space.hpp
           |-- hubbard_momentum_space.hpp

Most functionality is not shared between momentum space and real space. Otherwise a third folder hubbard_common might make sense.

Commutation in momentum space

The commutation in momentum space is not yet implemented. Two way are possible and should be tried:

  • using the Fourier transformed Hamiltonian
  • by Fourier transforming the result of the real space commutation

Improve Hamilton<Term>::commutate functions

In the Hamilton<Term>::commutate functions it would be nice to use a reference to a term in the output container for convenient and efficient usage of these methods. I am too tired tonight to fix this.

Rethink license

I have to give more thought about the license to chose for this project.

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.