From c95c726a2ba029e5b6a11434708d59c15c82b8a7 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 27 Aug 2025 00:39:50 -0400 Subject: [PATCH 01/46] fix compatibility with pyscf 2.0.1 by explicitly writing the unique_with_wrap_around function --- python/green_igen/df.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/python/green_igen/df.py b/python/green_igen/df.py index a575204..5fb27dc 100644 --- a/python/green_igen/df.py +++ b/python/green_igen/df.py @@ -52,9 +52,7 @@ from pyscf.pbc.df import df_ao2mo from pyscf.pbc.df.aft import get_nuc from pyscf.pbc.df.df_jk import zdotCN -from pyscf.pbc.lib.kpts_helper import (is_zero, gamma_point, member, unique, unique_with_wrap_around, - KPT_DIFF_TOL) -from pyscf.pbc.df.aft import _sub_df_jk_ +from pyscf.pbc.lib.kpts_helper import (is_zero, gamma_point, member, unique, KPT_DIFF_TOL) from pyscf import __config__ LINEAR_DEP_THR = getattr(__config__, 'pbc_df_df_DF_lindep', 1e-9) @@ -66,6 +64,19 @@ # cutoff penalty due to lattice summation LATTICE_SUM_PENALTY = 1e-1 + +def unique_with_wrap_around(cell, kpts): + '''Search unique kpts in first Brillouin zone.''' + scaled_kpts = cell.get_scaled_kpts(kpts).round(5) + scaled_kpts = numpy.modf(scaled_kpts)[0] + scaled_kpts[scaled_kpts >= .5] -= 1 + scaled_kpts[scaled_kpts < -.5] += 1 + + uniq_index, uniq_inverse = unique(scaled_kpts)[1:3] + uniq_kpts = kpts[uniq_index] + return uniq_kpts, uniq_index, uniq_inverse + + def make_auxmol(mol, auxbasis): '''Generate a fake Mole object which uses the density fitting auxbasis as the basis sets. If auxbasis is not specified, the optimized auxiliary fitting From 13adf37bca7b2f407735cbce5eaf8cef2dda9504 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 17:13:19 -0400 Subject: [PATCH 02/46] Create python-package.yml Add testing for specific versions of PySCF for compatibility of green-mbtools with green-igen --- .github/workflows/python-package.yml | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/python-package.yml diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..b5af7ff --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,50 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python package + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11"] + pyscf-paths: ["https://github.com/cnyeh/pyscf.git@x2c1e_kpoints", "https://github.com/pyscf/pyscf.git"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest + pip install git+${{ pyscf-paths }} + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Install package + run: | + pip install . + - name: Install Green-MBTools + run: | + pip install green-mbtools + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test Green-MBTools with pytest + run: | + git clone https://github.com/green-phys/green-mbtools + cd green-mbtools/tests + pytest -v From ae2e7340e675a6cf725f0bd8b6c626b1152c1f82 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 17:16:13 -0400 Subject: [PATCH 03/46] Update python-package.yml --- .github/workflows/python-package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b5af7ff..3f89b8c 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: python-version: ["3.9", "3.10", "3.11"] - pyscf-paths: ["https://github.com/cnyeh/pyscf.git@x2c1e_kpoints", "https://github.com/pyscf/pyscf.git"] + pyscf-version: ["https://github.com/cnyeh/pyscf.git@x2c1e_kpoints", "https://github.com/pyscf/pyscf.git"] steps: - uses: actions/checkout@v4 @@ -29,7 +29,7 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install flake8 pytest - pip install git+${{ pyscf-paths }} + pip install git+${{ pyscf-version }} if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Install package run: | From 0e44adbff2abb190961e8feec08185492b1a5af5 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 17:20:15 -0400 Subject: [PATCH 04/46] debug python-project.yml --- .github/workflows/python-package.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 3f89b8c..c47a77a 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -17,7 +17,9 @@ jobs: fail-fast: false matrix: python-version: ["3.9", "3.10", "3.11"] - pyscf-version: ["https://github.com/cnyeh/pyscf.git@x2c1e_kpoints", "https://github.com/pyscf/pyscf.git"] + pyscf-version: + - "https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" + - "https://github.com/pyscf/pyscf.git" steps: - uses: actions/checkout@v4 @@ -29,7 +31,7 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install flake8 pytest - pip install git+${{ pyscf-version }} + pip install git+${{ matrix.pyscf-version }} if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Install package run: | From dda25ebc5516abc80bdf06af5b40613dc066a9a5 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 17:22:27 -0400 Subject: [PATCH 05/46] update python app test dependencies --- .github/workflows/python-package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index c47a77a..fc1814f 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -29,6 +29,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | + sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev python -m pip install --upgrade pip python -m pip install flake8 pytest pip install git+${{ matrix.pyscf-version }} From e91e73629a5afcf4e4ab03672465744071473f45 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 17:35:37 -0400 Subject: [PATCH 06/46] disable linting --- .github/workflows/python-package.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index fc1814f..2e09742 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -40,12 +40,12 @@ jobs: - name: Install Green-MBTools run: | pip install green-mbtools - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + # - name: Lint with flake8 + # run: | + # # stop the build if there are Python syntax errors or undefined names + # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test Green-MBTools with pytest run: | git clone https://github.com/green-phys/green-mbtools From c00b48ee05e18f3b4537222c29732652720564ed Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 18:23:37 -0400 Subject: [PATCH 07/46] add scipy version that satisfies new and old pyscf linalg_helper --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9cf44d9..bffbcd6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ numpy -scipy +scipy=1.7.0 h5py pyscf \ No newline at end of file From 93d7c41e9d0ef294189c5c85bd8efe4929fae4c6 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 18:23:56 -0400 Subject: [PATCH 08/46] update version number --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index da54c9d..12443c0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ cmake.verbose = true [project] name = "green-igen" -version = "0.2.6" +version = "0.2.7" authors = [ { name="Sergei Iskakov", email="siskakov@umich.edu" }, ] From e92795b19a3f82878fbdd22a9c9c2536cd3b37cc Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 18:49:20 -0400 Subject: [PATCH 09/46] modify scipy dependencies and order of python package testing --- .github/workflows/python-package.yml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 2e09742..fd194aa 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -32,8 +32,8 @@ jobs: sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev python -m pip install --upgrade pip python -m pip install flake8 pytest - pip install git+${{ matrix.pyscf-version }} if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + pip install git+${{ matrix.pyscf-version }} - name: Install package run: | pip install . diff --git a/requirements.txt b/requirements.txt index bffbcd6..e0cc481 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ numpy -scipy=1.7.0 +scipy<=1.16.0 h5py pyscf \ No newline at end of file From a7f0119b0888f91c475afbca8d6d77e1b103d29f Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 23:23:14 -0400 Subject: [PATCH 10/46] fix python package testing workflow --- .github/workflows/python-package.yml | 3 ++- requirements.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index fd194aa..2daa907 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -30,8 +30,9 @@ jobs: - name: Install dependencies run: | sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev + sudo apt-get install build-essential libm-dev python -m pip install --upgrade pip - python -m pip install flake8 pytest + python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install git+${{ matrix.pyscf-version }} - name: Install package diff --git a/requirements.txt b/requirements.txt index e0cc481..e999f51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ numpy -scipy<=1.16.0 +scipy<1.11.0 h5py pyscf \ No newline at end of file From aab27380de5d6f29d5356bda689cdced3d9cbb0f Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 23:26:04 -0400 Subject: [PATCH 11/46] same old - fix workflow --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 2daa907..b2cfdbc 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -30,7 +30,7 @@ jobs: - name: Install dependencies run: | sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev - sudo apt-get install build-essential libm-dev + sudo apt-get install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi From 36f59a187e4e0b3c1618faa5ca275deb3c87e097 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 30 Aug 2025 23:49:36 -0400 Subject: [PATCH 12/46] workflow tweaks --- .github/workflows/python-package.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b2cfdbc..dc89dd7 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -18,8 +18,8 @@ jobs: matrix: python-version: ["3.9", "3.10", "3.11"] pyscf-version: - - "https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" - - "https://github.com/pyscf/pyscf.git" + - "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" + - "pyscf==2.7.0" steps: - uses: actions/checkout@v4 @@ -30,14 +30,14 @@ jobs: - name: Install dependencies run: | sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev - sudo apt-get install build-essential + sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - pip install git+${{ matrix.pyscf-version }} + pip install ${{ matrix.pyscf-version }} - name: Install package run: | - pip install . + python -m pip install . - name: Install Green-MBTools run: | pip install green-mbtools @@ -50,5 +50,6 @@ jobs: - name: Test Green-MBTools with pytest run: | git clone https://github.com/green-phys/green-mbtools + python -c "import scipy; print(scipy.__version__)" cd green-mbtools/tests pytest -v From e1d9e2791ee03cc718108d4b17da3c76526fd6d3 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 00:29:22 -0400 Subject: [PATCH 13/46] control testing workflow dependencies --- .github/workflows/python-package.yml | 6 +++--- pyproject.toml | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index dc89dd7..d837cd5 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -29,12 +29,12 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev + sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install ${{ matrix.pyscf-version }} + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Install package run: | python -m pip install . @@ -50,6 +50,6 @@ jobs: - name: Test Green-MBTools with pytest run: | git clone https://github.com/green-phys/green-mbtools - python -c "import scipy; print(scipy.__version__)" + python -c "import scipy; print("Scipy version: ", scipy.__version__)" cd green-mbtools/tests pytest -v diff --git a/pyproject.toml b/pyproject.toml index 12443c0..4c9f538 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,9 +12,10 @@ name = "green-igen" version = "0.2.7" authors = [ { name="Sergei Iskakov", email="siskakov@umich.edu" }, + { name="Gaurav Harsha" }, ] -dependencies = ["numpy", "h5py", "scipy", "pyscf"] +dependencies = ["numpy", "h5py", "scipy<1.11.0", "pyscf"] description = "Analytical continuation suits for Green Software Package" readme = "README.md" From 4fd426140e71f637f8d7408bf3a8a5287de3f7a9 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 00:34:50 -0400 Subject: [PATCH 14/46] fix typo in workflow --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index d837cd5..cd2df3c 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -50,6 +50,6 @@ jobs: - name: Test Green-MBTools with pytest run: | git clone https://github.com/green-phys/green-mbtools - python -c "import scipy; print("Scipy version: ", scipy.__version__)" + python -c "import scipy; print('Scipy version: ', scipy.__version__)" cd green-mbtools/tests pytest -v From 0cb2baf98bc2bfbfc349b247672b78aba9ff8ff8 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 00:53:34 -0400 Subject: [PATCH 15/46] scipy version fix --- .github/workflows/python-package.yml | 4 ++-- pyproject.toml | 2 +- requirements.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index cd2df3c..bee39c8 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -33,14 +33,14 @@ jobs: sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest - pip install ${{ matrix.pyscf-version }} if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} - name: Install package run: | python -m pip install . - name: Install Green-MBTools run: | - pip install green-mbtools + pip install --upgrade-strategy only-if-needed green-mbtools # - name: Lint with flake8 # run: | # # stop the build if there are Python syntax errors or undefined names diff --git a/pyproject.toml b/pyproject.toml index 4c9f538..85a0f4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ authors = [ { name="Gaurav Harsha" }, ] -dependencies = ["numpy", "h5py", "scipy<1.11.0", "pyscf"] +dependencies = ["numpy", "h5py", "scipy>=1.10,<1.11.0", "pyscf"] description = "Analytical continuation suits for Green Software Package" readme = "README.md" diff --git a/requirements.txt b/requirements.txt index e999f51..8a829dd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ numpy -scipy<1.11.0 +scipy>=1.10,<1.11.0 h5py pyscf \ No newline at end of file From 5332d6f2476112d154b8fc817b5e41fcb467da59 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 01:43:32 -0400 Subject: [PATCH 16/46] scipy compatibility in linalg_helper.py --- python/green_igen/linalg_helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/green_igen/linalg_helper.py b/python/green_igen/linalg_helper.py index e1354f4..2784af5 100644 --- a/python/green_igen/linalg_helper.py +++ b/python/green_igen/linalg_helper.py @@ -1478,7 +1478,7 @@ def cho_solve(a, b, strict_sym_pos=True): on matrix a ''' try: - return scipy.linalg.solve(a, b, sym_pos=True) + return scipy.linalg.solve(a, b, assume_a=True) except numpy.linalg.LinAlgError: if strict_sym_pos: raise From 5581bd928498eef9f5ce6d1cbc201c36d74c6af3 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 01:43:54 -0400 Subject: [PATCH 17/46] modify python package testing workflow --- .github/workflows/python-package.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index bee39c8..1ee4fc6 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -38,18 +38,17 @@ jobs: - name: Install package run: | python -m pip install . - - name: Install Green-MBTools + - name: Install Green-MBTools and Test igen run: | - pip install --upgrade-strategy only-if-needed green-mbtools + git clone https://github.com/green-phys/green-mbtools + cd green-mbtools + pip install --upgrade-strategy only-if-needed . + python -c "import scipy; print('Scipy version: ', scipy.__version__)" + cd tests + pytest -v # - name: Lint with flake8 # run: | # # stop the build if there are Python syntax errors or undefined names # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test Green-MBTools with pytest - run: | - git clone https://github.com/green-phys/green-mbtools - python -c "import scipy; print('Scipy version: ', scipy.__version__)" - cd green-mbtools/tests - pytest -v From c7d1e8ff1842e11078e1f2b5326828a30ebbcb9e Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 12:27:43 -0400 Subject: [PATCH 18/46] remove control over scipy in requirements --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8a829dd..9cf44d9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ numpy -scipy>=1.10,<1.11.0 +scipy h5py pyscf \ No newline at end of file From cdc81180643c2b696ab9e60bdac1e788aea25f7e Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 13:02:36 -0400 Subject: [PATCH 19/46] update workflow file --- .github/workflows/python-package.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 1ee4fc6..74c85f4 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -35,9 +35,12 @@ jobs: python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} + if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ] then + pip install --upgrade scipy<1.11.0 + fi - name: Install package run: | - python -m pip install . + python -m pip install --upgrade-strategy only-if-needed . - name: Install Green-MBTools and Test igen run: | git clone https://github.com/green-phys/green-mbtools From 5bffdfc08e4206bb7c1f2646dd3f40deaa4cf7b3 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 13:10:12 -0400 Subject: [PATCH 20/46] re-edit pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 85a0f4e..6d91c47 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ authors = [ { name="Gaurav Harsha" }, ] -dependencies = ["numpy", "h5py", "scipy>=1.10,<1.11.0", "pyscf"] +dependencies = ["numpy", "h5py", "scipy", "pyscf"] description = "Analytical continuation suits for Green Software Package" readme = "README.md" From bd39893260b2cbc09453af075d996e3fad745ea4 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sun, 31 Aug 2025 13:15:43 -0400 Subject: [PATCH 21/46] fix if condition in workflow --- .github/workflows/python-package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 74c85f4..6b4f236 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -35,8 +35,8 @@ jobs: python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} - if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ] then - pip install --upgrade scipy<1.11.0 + if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then + pip install --upgrade scipy<1.11.0; fi - name: Install package run: | From 8c9d8ce50d378a2cef5c3daeee435321cbec4fcf Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Tue, 9 Sep 2025 16:39:34 -0400 Subject: [PATCH 22/46] updates to fix tests in Github --- .github/workflows/python-package.yml | 2 +- src/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 6b4f236..2d3d05f 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -36,7 +36,7 @@ jobs: if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then - pip install --upgrade scipy<1.11.0; + pip install --upgrade "scipy<1.11.0"; fi - name: Install package run: | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 81208c6..17df650 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,4 +36,4 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES}) +target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) From 1b0575fe25111d6b6e7ad7b75d23d86d4e5332fe Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 10 Sep 2025 15:15:35 -0400 Subject: [PATCH 23/46] resolve scipy discrepancy --- .github/workflows/python-package.yml | 6 +++--- src/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 2d3d05f..a483dbc 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -35,9 +35,6 @@ jobs: python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} - if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then - pip install --upgrade "scipy<1.11.0"; - fi - name: Install package run: | python -m pip install --upgrade-strategy only-if-needed . @@ -46,6 +43,9 @@ jobs: git clone https://github.com/green-phys/green-mbtools cd green-mbtools pip install --upgrade-strategy only-if-needed . + if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then + pip install --upgrade "scipy<1.11.0"; + fi python -c "import scipy; print('Scipy version: ', scipy.__version__)" cd tests pytest -v diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 17df650..81208c6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,4 +36,4 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) +target_link_libraries(pbc0 ${BLAS_LIBRARIES}) From 3178a4cec9e46d55045eba8d6cafef84447303c4 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 10 Sep 2025 15:41:02 -0400 Subject: [PATCH 24/46] for older pyscf, downgrade scs and cvxpy versions --- .github/workflows/python-package.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index a483dbc..8de41cd 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -35,6 +35,10 @@ jobs: python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} + if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then + pip install --upgrade "scipy<1.11.0"; + pip install --upgrade-strategy only-if-needed cvxpy<1.4 scs<3.0 + fi - name: Install package run: | python -m pip install --upgrade-strategy only-if-needed . @@ -43,9 +47,6 @@ jobs: git clone https://github.com/green-phys/green-mbtools cd green-mbtools pip install --upgrade-strategy only-if-needed . - if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then - pip install --upgrade "scipy<1.11.0"; - fi python -c "import scipy; print('Scipy version: ', scipy.__version__)" cd tests pytest -v From f32dfe8df330ada81fc95d63567b3e56faeca4b9 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 10 Sep 2025 17:33:28 -0400 Subject: [PATCH 25/46] update scipy installation for pyscf 2.0.1 --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 8de41cd..8c7627c 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -37,7 +37,7 @@ jobs: pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install --upgrade-strategy only-if-needed cvxpy<1.4 scs<3.0 + pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs<3.0"; fi - name: Install package run: | From ab413de2b2375c8dba9eff12feea69d76a49aff0 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 10 Sep 2025 17:46:16 -0400 Subject: [PATCH 26/46] modify installation of requirements --- .github/workflows/python-package.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 8c7627c..e4ee321 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -32,8 +32,7 @@ jobs: sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip - python -m pip install flake8 pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + python -m pip install flake8 pytest numpy h5py pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; @@ -44,11 +43,11 @@ jobs: python -m pip install --upgrade-strategy only-if-needed . - name: Install Green-MBTools and Test igen run: | - git clone https://github.com/green-phys/green-mbtools - cd green-mbtools - pip install --upgrade-strategy only-if-needed . + pip install --upgrade-strategy only-if-needed green-mbtools python -c "import scipy; print('Scipy version: ', scipy.__version__)" - cd tests + cd ../ + git clone https://github.com/green-phys/green-mbtools + cd green-mbtools/tests pytest -v # - name: Lint with flake8 # run: | From 8b70e7ff81d858fa06dcbb96c8d898fbee1e4a84 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Wed, 10 Sep 2025 18:10:52 -0400 Subject: [PATCH 27/46] one more try to fix link and installation checks --- .github/workflows/python-package.yml | 2 +- src/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index e4ee321..07a2348 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -36,7 +36,7 @@ jobs: pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs<3.0"; + pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs==3.0"; fi - name: Install package run: | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 81208c6..17df650 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,4 +36,4 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES}) +target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) From 1d265b25ac9c57dcffeb10b7830bcfa3cbbef681 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 14:04:27 -0400 Subject: [PATCH 28/46] fix scs version for workflow --- .github/workflows/python-package.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 07a2348..f66c674 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -19,7 +19,7 @@ jobs: python-version: ["3.9", "3.10", "3.11"] pyscf-version: - "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" - - "pyscf==2.7.0" + - "pyscf" steps: - uses: actions/checkout@v4 @@ -29,14 +29,14 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev liblapack-dev libblas-dev libhdf5-dev + sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs==3.0"; + pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs>=3.0.1,<3.1"; fi - name: Install package run: | From 9c86e05da50244e65e114be74cefb56753bd7242 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 16:02:27 -0400 Subject: [PATCH 29/46] reintroduce lapack and blas --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index f66c674..b8f4166 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -29,7 +29,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - sudo apt install libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev + sudo apt install libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py From 01dac924285307e9026b12b2da1d4cb531bc95db Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 17:17:29 -0400 Subject: [PATCH 30/46] fix distutils error --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b8f4166..290bb1b 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -29,7 +29,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - sudo apt install libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev + sudo apt install python3-distutils libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py From 874416721394eab2be10fcc620dac9363d3c5270 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 17:30:12 -0400 Subject: [PATCH 31/46] handle distutils dependency --- .github/workflows/python-package.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 290bb1b..5874e5d 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -29,8 +29,15 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | + sudo apt update sudo apt install python3-distutils libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential + # The following handles distutils for multiple Python versions + PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") + if ! python3 -c "import distutils" 2>/dev/null; then + sudo apt install -y python${PY_VER}-distutils || true + fi + python -m pip install --upgrade pip setuptools python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} From c8682fa7426e49f1e054e21f321551602531cebc Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 17:42:55 -0400 Subject: [PATCH 32/46] remove copilot's faulty suggestions --- .github/workflows/python-package.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 5874e5d..0e37d11 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -32,22 +32,17 @@ jobs: sudo apt update sudo apt install python3-distutils libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential - # The following handles distutils for multiple Python versions - PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") - if ! python3 -c "import distutils" 2>/dev/null; then - sudo apt install -y python${PY_VER}-distutils || true - fi python -m pip install --upgrade pip setuptools python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} + - name: Install package + run: | + python -m pip install --upgrade-strategy only-if-needed . if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs>=3.0.1,<3.1"; fi - - name: Install package - run: | - python -m pip install --upgrade-strategy only-if-needed . - name: Install Green-MBTools and Test igen run: | pip install --upgrade-strategy only-if-needed green-mbtools From 9acd7e28e798dd8aa0d4dfd1c6e4f499a81ada8c Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 17:45:29 -0400 Subject: [PATCH 33/46] remove distutils installation altogether --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 0e37d11..d4e1544 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -30,7 +30,7 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install python3-distutils libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev + sudo apt install libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential python -m pip install --upgrade pip setuptools python -m pip install --upgrade pip From 8a8479f013f3d3b0aa871a844066af9f5237957f Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 18:06:55 -0400 Subject: [PATCH 34/46] remove upgrade strategy things with installation of igen --- .github/workflows/python-package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index d4e1544..7ee2805 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -38,10 +38,10 @@ jobs: pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} - name: Install package run: | - python -m pip install --upgrade-strategy only-if-needed . + python -m pip install . if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install --upgrade-strategy only-if-needed "cvxpy<1.4" "scs>=3.0.1,<3.1"; + pip install "cvxpy<1.4" "scs>=3.0.1,<3.1"; fi - name: Install Green-MBTools and Test igen run: | From 462401e65997493a1b328127f325cd53ac4109c3 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 18:08:55 -0400 Subject: [PATCH 35/46] address library tweaks --- .github/workflows/python-package.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 7ee2805..565dbfb 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -39,6 +39,11 @@ jobs: - name: Install package run: | python -m pip install . + - name: Tweak library versions + run: | + if python -c "import sys; exit(sys.version_info >= (3,12))"; then + python -m pip install distutils + fi if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; pip install "cvxpy<1.4" "scs>=3.0.1,<3.1"; From 19546eca358d43d171ba3ea7b82aa5186414f7f2 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 19:58:10 -0400 Subject: [PATCH 36/46] distutils still gives an error --- .github/workflows/python-package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 565dbfb..4414ee2 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -41,9 +41,6 @@ jobs: python -m pip install . - name: Tweak library versions run: | - if python -c "import sys; exit(sys.version_info >= (3,12))"; then - python -m pip install distutils - fi if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; pip install "cvxpy<1.4" "scs>=3.0.1,<3.1"; From e72e703ad8b93444cfc42eeb41efd0adeecb58b2 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Thu, 11 Sep 2025 20:12:20 -0400 Subject: [PATCH 37/46] link quadmath lib --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 17df650..7a048c9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,4 +36,4 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) +target_link_libraries(pbc0 ${BLAS_LIBRARIES} m quadmath) From 75273c7830d3152312100c7a90a2eaecb95f413c Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Fri, 12 Sep 2025 14:56:30 -0400 Subject: [PATCH 38/46] check if scs 3.2.0 fixes error with python 11 --- .github/workflows/python-package.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 4414ee2..a90f0cb 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -43,7 +43,8 @@ jobs: run: | if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install "cvxpy<1.4" "scs>=3.0.1,<3.1"; + pip install "scs==3.2.0"; + pip install "cvxpy<1.4" fi - name: Install Green-MBTools and Test igen run: | From c8bf15a020d1cd0bc2cbdcf04f23cefbb6dbb04c Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Fri, 12 Sep 2025 17:09:38 -0400 Subject: [PATCH 39/46] cherry pick scs and cvxpy versions for python 3.11 --- .github/workflows/python-package.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index a90f0cb..7a059ec 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -32,7 +32,7 @@ jobs: sudo apt update sudo apt install libblas-dev liblapack-dev libeigen3-dev libgmp-dev libmpfr-dev libfftw3-dev libhdf5-dev sudo apt install build-essential - python -m pip install --upgrade pip setuptools + python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade pip python -m pip install flake8 pytest numpy h5py pip install --upgrade-strategy only-if-needed ${{ matrix.pyscf-version }} @@ -43,8 +43,8 @@ jobs: run: | if [ ${{ matrix.pyscf-version }} = "git+https://github.com/cnyeh/pyscf.git@x2c1e_kpoints" ]; then pip install --upgrade "scipy<1.11.0"; - pip install "scs==3.2.0"; - pip install "cvxpy<1.4" + pip install "scs==3.2.3"; + pip install "cvxpy==1.4" fi - name: Install Green-MBTools and Test igen run: | From e35216bec48f9fd11f7226ceedc474cc78251351 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 13 Sep 2025 02:10:20 -0400 Subject: [PATCH 40/46] handle quadmath across platforms --- CMakeLists.txt | 3 +++ src/CMakeLists.txt | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ffaedac..0b9fa72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,6 +107,9 @@ set(MIN_EXPCUTOFF ${libcint_MIN_EXPCUTOFF}) set(KEEP_GOING ${libcint_KEEP_GOING}) set(CMAKE_C_CREATE_SHARED_LIBRARY ${libcint_CMAKE_C_CREATE_SHARED_LIBRARY}) +check_library_exists(quadmath logq "" HAVE_LIBQUADMATH) +check_include_file("quadmath.h" HAVE_QUADMATH_H) + add_subdirectory(src) add_library(GREEN::IGEN ALIAS pbc0) add_dependencies(pbc0 cint) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7a048c9..2540f56 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,4 +36,8 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES} m quadmath) +target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) +if (HAVE_LIBQUADMATH AND HAVE_QUADMATH_H) + target_link_libraries(pbc0 quadmath) + target_compile_definitions(pbc0 USE_LIBQUADMATH) +endif() From c7ccd4903642cc1797076bc4740b363934866d4c Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 13 Sep 2025 22:40:04 -0400 Subject: [PATCH 41/46] minor fix in cmake --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2540f56..92af259 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -38,6 +38,6 @@ set_target_properties(pbc0 PROPERTIES target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) if (HAVE_LIBQUADMATH AND HAVE_QUADMATH_H) - target_link_libraries(pbc0 quadmath) - target_compile_definitions(pbc0 USE_LIBQUADMATH) + target_link_libraries(pbc0 PUBLIC quadmath) + target_compile_definitions(pbc0 PUBLIC USE_LIBQUADMATH) endif() From fcfa630ad08b6ab7ee7fdf2d35429ae2b579dd1d Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Sat, 13 Sep 2025 23:14:30 -0400 Subject: [PATCH 42/46] fix syntax for target_link_libraries --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 92af259..3cc36d0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,7 +36,7 @@ set_target_properties(pbc0 PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS} LINK_FLAGS ${OpenMP_C_FLAGS}) -target_link_libraries(pbc0 ${BLAS_LIBRARIES} m) +target_link_libraries(pbc0 PUBLIC ${BLAS_LIBRARIES} m) if (HAVE_LIBQUADMATH AND HAVE_QUADMATH_H) target_link_libraries(pbc0 PUBLIC quadmath) target_compile_definitions(pbc0 PUBLIC USE_LIBQUADMATH) From 408a4a72b04da6ce257100dfe56dee21dd9b0ad2 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Mon, 15 Sep 2025 02:37:22 +0530 Subject: [PATCH 43/46] fix assume_a parameter in scipy linalg helper --- python/green_igen/linalg_helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/green_igen/linalg_helper.py b/python/green_igen/linalg_helper.py index 2784af5..fd7640c 100644 --- a/python/green_igen/linalg_helper.py +++ b/python/green_igen/linalg_helper.py @@ -1478,7 +1478,7 @@ def cho_solve(a, b, strict_sym_pos=True): on matrix a ''' try: - return scipy.linalg.solve(a, b, assume_a=True) + return scipy.linalg.solve(a, b, assume_a='pos') except numpy.linalg.LinAlgError: if strict_sym_pos: raise From b1ef670ab2c42ac06ee2e5af7a269aa83744ee93 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Mon, 15 Sep 2025 02:38:07 +0530 Subject: [PATCH 44/46] update author list email --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6d91c47..48f0eb6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,8 +11,8 @@ cmake.verbose = true name = "green-igen" version = "0.2.7" authors = [ - { name="Sergei Iskakov", email="siskakov@umich.edu" }, - { name="Gaurav Harsha" }, + { name="Sergei Iskakov"}, + { name="Gaurav Harsha", email="siskakov@umich.edu"}, ] dependencies = ["numpy", "h5py", "scipy", "pyscf"] From 73cdec923b086ae01d7c057138d02cec2f2837c2 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Mon, 15 Sep 2025 02:39:23 +0530 Subject: [PATCH 45/46] cleanup --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 48f0eb6..a95f2cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,8 +11,8 @@ cmake.verbose = true name = "green-igen" version = "0.2.7" authors = [ - { name="Sergei Iskakov"}, - { name="Gaurav Harsha", email="siskakov@umich.edu"}, + { name="Sergei Iskakov" }, + { name="Gaurav Harsha", email="siskakov@umich.edu" }, ] dependencies = ["numpy", "h5py", "scipy", "pyscf"] From 8d24eed68559e7436bc48e70af371a52d93abca2 Mon Sep 17 00:00:00 2001 From: Gaurav Harsha Date: Mon, 15 Sep 2025 16:28:26 +0530 Subject: [PATCH 46/46] fix email id typo --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a95f2cb..1dbc9b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ name = "green-igen" version = "0.2.7" authors = [ { name="Sergei Iskakov" }, - { name="Gaurav Harsha", email="siskakov@umich.edu" }, + { name="Gaurav Harsha", email="gharsha@umich.edu" }, ] dependencies = ["numpy", "h5py", "scipy", "pyscf"]