Giter Club home page Giter Club logo

xdiag's Issues

Build fails when using Homebrew gcc on M1 macOS

Steps to reproduce

% cmake -S . -B build
-- The CXX compiler identification is GNU 14.1.0
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/bin/g++-14 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Compiler ID     : GNU
-- Compiler version: 14.1.0
-- Build type: Release
-- CMAKE_INSTALL_PREFIX is not set
Default value: /usr/local
Will set it to /Users/spuriosity1/gh/xdiag/install
-- --------    BUILDING NORMAL XDIAG LIBRARY   -------------
-- -------- Determining Linear Algebra backend -------------
-- Could NOT find MKL (missing: MKL_LIBRARIES MKL_INCLUDE_DIRS MKL_INTERFACE_LIBRARY MKL_THREAD_LAYER_LIBRARY MKL_CORE_LIBRARY)
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for dgemm_
-- Looking for dgemm_ - found
-- Found BLAS: /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Accelerate.framework
-- Looking for cheev_
-- Looking for cheev_ - found
-- Found LAPACK: /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/Accelerate.framework;-lm;-ldl
-- Employing Lapack/Blas as linear algebra backend
-- --------  Determining if OpenMP is present  -------------
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Employing OpenMP
-- --------   Determining if HDF5 is present   -------------
-- Found HDF5: hdf5_cpp-shared (found version "1.14.3") found components: CXX
-- Employing HDF5
-- --------         Creating config.hpp        -------------
-- Found Git: /usr/bin/git (found version "2.37.1 (Apple Git-137.1)")
-- Configuring done (1.8s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/spuriosity1/gh/xdiag/build
% cmake --build build
/Users/spuriosity1/gh/xdiag/xdiag/utils/error.cpp:13:13: error: redefinition of 'const char* std::bad_variant_access::what() const'
   13 | const char *std::bad_variant_access::what() const noexcept {
      |             ^~~
In file included from /Users/spuriosity1/gh/xdiag/xdiag/utils/error.cpp:4:
/opt/homebrew/Cellar/gcc/14.1.0_1/include/c++/14/variant:1334:17: note: 'virtual const char* std::bad_variant_access::what() const' previously defined here
 1334 |     const char* what() const noexcept override
      |                 ^~~~

Note that build also fails under Apple clang, but for different reasons.

Problem in Lanczos with Hilbert space greater than 2^32 (Sz=0)

Hi,
using the xcode version #49f8fe7, @riccardo-rende and I tried to diagonalize an Heisenberg chain using this code :

#include <xdiag/all.hpp>

using namespace xdiag;

int main() try {
  
  int n_sites = 36;
  int nup = n_sites / 2;
  Spinhalf block(n_sites, nup);

  // Define the nearest-neighbor Heisenberg model
  BondList bonds;
  for (int i = 0; i < n_sites; ++i) {
    bonds += Bond("HB", "J", {i, (i + 1) % n_sites});
  }
  bonds["J"] = 1.0;

  set_verbosity(2);                  // set verbosity for monitoring progress
  double e0 = eigval0(bonds, block); // compute ground state energy
  
  Log("Ground state energy: {:.12f}", e0);
  
} catch (Error e) {
  error_trace(e);
}

We checked that up to L=32 we get the correct results.
However, for L=34 we obtain the following error:

Warning: Tmatrix zero dimensional in eig0_cplx
Ground state energy: nan

and for L=36 the code runs but the energy is wrong, namely it goes below the exact one :

Exact energy per site : -0.44378432839067183
Lanczos energy per site after 64 iterations : -0.4737482323668045

The same happens for the square lattice, the energy for the 4x4 is correct, instead for the 6x6 goes below the exact one.

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.