From 84931dbe64c8a36bcd8fccce240f1a2f2e3cb46f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 6 Dec 2022 17:15:45 +0100 Subject: [PATCH 001/245] rebase branch --- .github/workflows/CI.yml | 35 - .github/workflows/CompatHelper.yml | 16 - .github/workflows/Documentation.yml | 26 - .github/workflows/TagBot.yml | 15 - .gitignore | 3 - DockerFile_old | 114 -- Dockerfile | 110 -- LICENSE | 21 - LocalPreferences.toml | 6 - Project.toml | 51 - add_CYAxiverse.jl | 5 - add_functions/cytools_wrapper.jl | 330 ------ add_functions/profiling.jl | 186 --- docs/.gitignore | 2 - docs/Project.toml | 2 - docs/make.jl | 29 - docs/src/api.md | 50 - docs/src/assets/logo.png | Bin 1392840 -> 0 bytes docs/src/examples.md | 0 docs/src/index.md | 117 -- docs/src/userguide.md | 4 - notebooks/optim_testing backup 1.jl | 813 ------------- notebooks/optim_testing.jl | 834 -------------- notebooks/optim_testing.qmd | 28 - scripts/Qeff.jl | 124 -- scripts/optimize.jl | 98 -- scripts/spectra.jl | 65 -- scripts/testing/init.jl | 2 - scripts/testing/pluto.jl | 4 - scripts/testing/pluto_docker.jl | 6 - scripts/top_geom.jl | 156 --- scripts/vacua.jl | 67 -- src/.vscode/launch.json | 17 - src/.vscode/settings.json | 3 - src/CYAxiverse.jl | 36 - src/filestructure.jl | 421 ------- src/generate.jl | 1668 --------------------------- src/minimizer.jl | 489 -------- src/plotting.jl | 9 - src/read.jl | 214 ---- src/slurm.jl | 11 - src/structs.jl | 42 - test/runtests.jl | 9 - 43 files changed, 6238 deletions(-) delete mode 100644 .github/workflows/CI.yml delete mode 100644 .github/workflows/CompatHelper.yml delete mode 100644 .github/workflows/Documentation.yml delete mode 100644 .github/workflows/TagBot.yml delete mode 100644 .gitignore delete mode 100644 DockerFile_old delete mode 100644 Dockerfile delete mode 100644 LICENSE delete mode 100644 LocalPreferences.toml delete mode 100644 Project.toml delete mode 100644 add_CYAxiverse.jl delete mode 100644 add_functions/cytools_wrapper.jl delete mode 100644 add_functions/profiling.jl delete mode 100644 docs/.gitignore delete mode 100644 docs/Project.toml delete mode 100644 docs/make.jl delete mode 100644 docs/src/api.md delete mode 100644 docs/src/assets/logo.png delete mode 100644 docs/src/examples.md delete mode 100644 docs/src/index.md delete mode 100644 docs/src/userguide.md delete mode 100644 notebooks/optim_testing backup 1.jl delete mode 100644 notebooks/optim_testing.jl delete mode 100644 notebooks/optim_testing.qmd delete mode 100644 scripts/Qeff.jl delete mode 100644 scripts/optimize.jl delete mode 100644 scripts/spectra.jl delete mode 100644 scripts/testing/init.jl delete mode 100644 scripts/testing/pluto.jl delete mode 100644 scripts/testing/pluto_docker.jl delete mode 100644 scripts/top_geom.jl delete mode 100644 scripts/vacua.jl delete mode 100644 src/.vscode/launch.json delete mode 100644 src/.vscode/settings.json delete mode 100644 src/CYAxiverse.jl delete mode 100644 src/filestructure.jl delete mode 100644 src/generate.jl delete mode 100644 src/minimizer.jl delete mode 100644 src/plotting.jl delete mode 100644 src/read.jl delete mode 100644 src/slurm.jl delete mode 100644 src/structs.jl delete mode 100644 test/runtests.jl diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml deleted file mode 100644 index 4ae4c26..0000000 --- a/.github/workflows/CI.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: CI -on: - push: - branches: - - main - tags: '*' - pull_request: -concurrency: - # Skip intermediate builds: always. - # Cancel intermediate builds: only if it is a pull request build. - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} -jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: - - '1.7' - - 'nightly' - os: - - ubuntu-latest - arch: - - x64 - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - uses: julia-actions/cache@v1 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml deleted file mode 100644 index cba9134..0000000 --- a/.github/workflows/CompatHelper.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: CompatHelper -on: - schedule: - - cron: 0 0 * * * - workflow_dispatch: -jobs: - CompatHelper: - runs-on: ubuntu-latest - steps: - - name: Pkg.add("CompatHelper") - run: julia -e 'using Pkg; Pkg.add("CompatHelper")' - - name: CompatHelper.main() - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} - run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml deleted file mode 100644 index 68f64b2..0000000 --- a/.github/workflows/Documentation.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Documentation - -on: - push: - branches: - - dev # update to match your development branch (master, main, dev, trunk, ...) - tags: '*' - pull_request: - -jobs: - build: - permissions: - contents: write - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: '1.7' - - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - - name: Build and deploy - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key - run: julia --project=docs/ docs/make.jl \ No newline at end of file diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml deleted file mode 100644 index f49313b..0000000 --- a/.github/workflows/TagBot.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: TagBot -on: - issue_comment: - types: - - created - workflow_dispatch: -jobs: - TagBot: - if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' - runs-on: ubuntu-latest - steps: - - uses: JuliaRegistries/TagBot@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 163f91c..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/Manifest.toml -.vscode/settings.json -src/clipboard.jl diff --git a/DockerFile_old b/DockerFile_old deleted file mode 100644 index 762b414..0000000 --- a/DockerFile_old +++ /dev/null @@ -1,114 +0,0 @@ -# Start from Debian Bullseye -FROM debian:bullseye - -# Define build arguments -ARG USERNAME -ARG USERID -ARG ARCH -ARG AARCH -ARG VIRTUAL_ENV -ARG ALLOW_ROOT_ARG -ARG PORT_ARG -ENV ALLOW_ROOT=$ALLOW_ROOT_ARG -ENV PORT=$PORT_ARG - -# Install dependencies -RUN apt-get -yqq update -RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata -RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal-dev\ - libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ - libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ - libflint-dev libflint-arb-dev python3 python3-pip\ - wget libmath-libm-perl python3-venv normaliz - -# Make a soft link to the arb library and flint headers so that python-flint can install -RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so -RUN ln -s /usr/include/flint/* /usr/include/ - -### Install MPI -- uncomment below to install openmpi-4.1.1 -# WORKDIR /opt/mpi -# RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz -# RUN gunzip -c openmpi-4.1.1.tar.gz | tar xf - -# RUN cd openmpi-4.1.1 && ./configure --prefix="$PWD/openmpi" && make && make all install && ldconfig && rm ../openmpi-4.1.1.tar.gz - - -# Set up non-root user -RUN groupadd -r -g $USERID $USERNAME && useradd -r -s /bin/bash -u $USERID -g $USERNAME -m $USERNAME\ - || echo "Skipping user creation" -USER $USERNAME - -# Create python virtual environment for non-root user -RUN python3 -m venv $VIRTUAL_ENV -ENV PATH="$VIRTUAL_ENV/bin:$PATH" - -# Install julia -WORKDIR /opt/cytools/ -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz -RUN tar xf julia-1.7.1-linux-x86_64.tar.gz -ENV PATH="$PWD/julia-1.7.1/bin:$PATH" -RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia -RUN rm julia-1.7.1-linux-x86_64.tar.gz - - - -# Install pip packages -ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse -RUN pip3 install --upgrade pip -RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython -RUN pip3 install python-flint matplotlib h5py -RUN pip3 install scikit-sparse cysignals gmpy2==2.1.0a4 -RUN pip3 install pplpy -RUN pip3 install julia -RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek -ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic - -# Fix cvxopt bug -USER root -RUN sed -i -e 's/mosek.solsta.near_optimal/ /g' $VIRTUAL_ENV/lib/python3.9/site-packages/cvxopt/coneprog.py - -# Install TOPCOM -WORKDIR /opt/cytools/external/topcom-mod -RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v0.17.8%2Bds-2%2Bcytools-1/topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb -RUN dpkg -i topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb - -# Copy code and installer -COPY . /opt/cytools/ -WORKDIR /opt/cytools/ -RUN python3 setup.py install - -# Copy CYAxiverse.jl package -WORKDIR /opt/ -RUN git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git -WORKDIR /opt/CYAxiverse.jl/ -ENV PYTHON="$VIRTUAL_ENV/bin/python3" -RUN julia --project="." add_CYAxiverse.jl - - -# Create CGAL code for different dimensions and compile -WORKDIR /opt/cytools/external/cgal -RUN for i in $(seq 1 6); do sed "26s/.*/const int D = ${i};/" triangulate.cpp > "triangulate-${i}d.cpp"; done; rm triangulate.cpp - -# Fix CGAL headers so that Eigen3 is imported correctly -RUN sed -i -e 's/Eigen\/Core/eigen3\/Eigen\/Core/g' /usr/include/CGAL/Dimension.h -RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/LA.h -RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/constructors.h - -RUN cgal_create_CMakeLists -RUN sed -i -e 's/find_package/find_package( Eigen3 3.3 REQUIRED )\nfind_package/g' /opt/cytools/external/cgal/CMakeLists.txt -RUN cmake . -DCMAKE_BUILD_TYPE=Release -# Must be single-threaded or it crashes on macOS -RUN make -j 1 -RUN for i in $(seq 1 6); do ln -s "/opt/cytools/external/cgal/triangulate-${i}d" "/usr/local/bin/cgal-triangulate-${i}d"; done - -# Set variables so that numpy is limited to one thread -ENV MKL_NUM_THREADS=1 -ENV NUMEXPR_NUM_THREADS=1 -ENV OMP_NUM_THREADS=1 -ENV OPENBLAS_NUM_THREADS=1 - -# Set entry path -WORKDIR /home/$USERNAME/mounted_volume - -# Start julia repl by default -USER $USERNAME -CMD julia --project=/opt/CYAxiverse/ diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 9611e03..0000000 --- a/Dockerfile +++ /dev/null @@ -1,110 +0,0 @@ -# Start from Debian Bullseye -FROM debian:bullseye - -# Define build arguments -ARG USERNAME -ARG USERID -ARG ARCH -ARG AARCH -ARG VIRTUAL_ENV -ARG ALLOW_ROOT_ARG -ARG PORT_ARG -ENV ALLOW_ROOT=$ALLOW_ROOT_ARG -ENV PORT=$PORT_ARG - -# Install dependencies -RUN apt-get -yqq update -RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata -RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal-dev\ - libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ - libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ - libflint-dev libflint-arb-dev python3 python3-pip\ - wget libmath-libm-perl python3-venv normaliz git - -# Make a soft link to the arb library and flint headers so that python-flint can install -RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so -RUN ln -s /usr/include/flint/* /usr/include/ - -# Set up non-root user -RUN groupadd -r -g $USERID $USERNAME && useradd -r -s /bin/bash -u $USERID -g $USERNAME -m $USERNAME\ - || echo "Skipping user creation" -USER $USERNAME - -# Create python virtual environment for non-root user -RUN python3 -m venv $VIRTUAL_ENV -ENV PATH="$VIRTUAL_ENV/bin:$PATH" - -# Install julia -WORKDIR /opt/cytools/ -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz -RUN tar xf julia-1.7.1-linux-x86_64.tar.gz -ENV PATH="$PWD/julia-1.7.1/bin:$PATH" -RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia -RUN rm julia-1.7.1-linux-x86_64.tar.gz - - -# Install pip packages -ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse -RUN pip3 install --upgrade pip -RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython qpsolvers osqp -RUN pip3 install python-flint matplotlib h5py -RUN pip3 install scikit-sparse cysignals gmpy2==2.1.0a4 -RUN pip3 install pplpy -RUN pip3 install julia -RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek -ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic - -# Fix cvxopt bug -USER root -RUN sed -i -e 's/mosek.solsta.near_optimal/ /g' $VIRTUAL_ENV/lib/python3.9/site-packages/cvxopt/coneprog.py - -# Install TOPCOM -WORKDIR /opt/cytools/external/topcom-mod -RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v0.17.8%2Bds-2%2Bcytools-1/topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb -RUN dpkg -i topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb - -# Copy code and installer -COPY . /opt/cytools/ -WORKDIR /opt/cytools/ -RUN python3 setup.py install - -# Copy CYAxiverse.jl package -WORKDIR /opt/ -RUN git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git -WORKDIR /opt/CYAxiverse.jl/ -ENV PYTHON="$VIRTUAL_ENV/bin/python3" -RUN julia --project="/opt/CYAxiverse.jl/" add_CYAxiverse.jl - -# Create CGAL code for different dimensions and compile -WORKDIR /opt/cytools/external/cgal -RUN for i in $(seq 2 5); do sed "27s/.*/typedef CGAL::Epick_d > K;/" cgal-triangulate.cpp > "cgal-triangulate-${i}d.cpp"; done; - -# Fix CGAL headers so that Eigen3 is imported correctly -RUN sed -i -e 's/Eigen\/Core/eigen3\/Eigen\/Core/g' /usr/include/CGAL/Dimension.h -RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/LA.h -RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/constructors.h - -RUN cgal_create_CMakeLists -RUN sed -i -e 's/find_package/find_package( Eigen3 3.3 REQUIRED )\nfind_package/g' /opt/cytools/external/cgal/CMakeLists.txt -RUN cmake . -DCMAKE_BUILD_TYPE=Release -# Must be single-threaded or it crashes on macOS -RUN make -j 1 -RUN for i in $(seq 2 5); do ln -s "/opt/cytools/external/cgal/cgal-triangulate-${i}d" "/usr/local/bin/cgal-triangulate-${i}d"; done -RUN ln -s "/opt/cytools/external/cgal/cgal-triangulate" "/usr/local/bin/cgal-triangulate" - -# Set variables so that numpy is limited to one thread -ENV MKL_NUM_THREADS=1 -ENV NUMEXPR_NUM_THREADS=1 -ENV OMP_NUM_THREADS=1 -ENV OPENBLAS_NUM_THREADS=1 - -# Set entry path -WORKDIR /home/$USERNAME/mounted_volume - -# Start jupyter lab by default -USER $USERNAME -ENV JULIA_REVISE_POLL=1 -EXPOSE 8996 -ENV newARGS="docker" -CMD julia --project="/opt/CYAxiverse.jl/" /opt/CYAxiverse.jl/scripts/testing/pluto_docker.jl -# CMD jupyter lab --ip 0.0.0.0 --port $PORT --no-browser $ALLOW_ROOT diff --git a/LICENSE b/LICENSE deleted file mode 100644 index ae71597..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Viraf M. Mehta - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/LocalPreferences.toml b/LocalPreferences.toml deleted file mode 100644 index d88be56..0000000 --- a/LocalPreferences.toml +++ /dev/null @@ -1,6 +0,0 @@ -[MPIPreferences] -_format = "1.0" -abi = "OpenMPI" -binary = "system" -libmpi = "libmpi" -mpiexec = "mpiexec" diff --git a/Project.toml b/Project.toml deleted file mode 100644 index 96f4c50..0000000 --- a/Project.toml +++ /dev/null @@ -1,51 +0,0 @@ -name = "CYAxiverse" -uuid = "e5e45d93-5055-4eab-878b-2e484be3f951" -authors = ["Viraf M. Mehta"] -version = "0.1.0" - -[deps] -AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442" -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -ClusterManagers = "34f1f09b-3a8b-5176-ab39-66d58a4d544e" -Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" -DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" -Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" -Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8" -DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1" -ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" -GenericLinearAlgebra = "14197337-ba66-59df-a3e3-ca00e7dcff7a" -HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" -IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" -LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" -MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" -MPIClusterManagers = "e7922434-ae4b-11e9-05c5-9780451d2c66" -MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" -Optim = "429524aa-4258-5aef-a3af-852621145aeb" -Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781" -PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" -ProfileSVG = "132c30aa-f267-4189-9183-c8a63c7e05e6" -ProgressLogging = "33c8b6b6-d38a-422a-b730-caa89a2f386c" -PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" -Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -Tullio = "bc48ee85-29a4-5162-ae0b-a64e1601d4bc" - -[compat] -julia = "1.7" - -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] diff --git a/add_CYAxiverse.jl b/add_CYAxiverse.jl deleted file mode 100644 index 8638184..0000000 --- a/add_CYAxiverse.jl +++ /dev/null @@ -1,5 +0,0 @@ -using Pkg -Pkg.add("Revise") -Pkg.add("Pluto") -Pkg.instantiate() -exit() \ No newline at end of file diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl deleted file mode 100644 index 35f719e..0000000 --- a/add_functions/cytools_wrapper.jl +++ /dev/null @@ -1,330 +0,0 @@ -############################################################################# -####### !!!!!! If this file stops the package compiling !!!!!! ############## -### !! First go into singularity / docker image and run julia !! ############ -##### !! then check ENV["PYTHON"] is set correctly !! ####################### -###### !! (if not, need to exit julia and export python path when !! ######## -######## !! loading singularity / docker image) !! ########################## -##### !! then Pkg.build("PyCall") -- this will then build it with !! ######## -##### !! the correct python installation, i.e. the one in the image !! ###### -##### !! now the package should recompile !! ################################ -############################################################################# - -""" - CYAxiverse.cytools_wrapper -Functions that wrap basic functionality of [CYTools](https://cytools.liammcallistergroup.com/) in order to pull polytopes from the [Kreuzer-Skarke Database](https://doi.org/10.4310/ATMP.2000.v4.n6.a2) - -""" -module cytools_wrapper - -using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate -using ..read: topology - -using PyCall -using HDF5 -using LinearAlgebra - -""" - __init__() -Here we initialise the CYTools functions -(for further details and argument info see https://cytools.liammcallistergroup.com/docs/documentation/): - -test_config() -- this function checks that the mosek_license file is found - -f_polytopes(h11,h12,h13,h21,h22,h31,chi,lattice,dim,n_points,n_vertices, - n_dual_points,n_facets,limit,timeout,as_list,backend, dualize,favorable) -- - this function pulls polytopes from the online KS database, i.e. calls fetch_polytopes - from CYTools - -poly(points, backend) -- this function allows access to the PyObject Polytope -""" -function __init__() - py""" - from cytools import config - import os - config.set_mosek_path(os.environ['HOME']) - config.check_mosek_license() - def test_config(): - return config.mosek_is_activated - """ - - py""" - import numpy as np - import scipy as sp - from cytools import fetch_polytopes - from cytools import Polytope - def f_polytopes(h11=None, h12=None, h13=None, h21=None, h22=None, h31=None, - chi=None, lattice=None, dim=4, n_points=None, - n_vertices=None, n_dual_points=None, n_facets=None, - limit=1000, timeout=60, as_list=False, backend=None, - dualize=False, favorable=None): - return fetch_polytopes(h11,h12,h13,h21,h22,h31,chi,lattice,dim,n_points,n_vertices, - n_dual_points,n_facets,limit,timeout,as_list,backend, dualize,favorable) - - def poly(points, backend=None): - return Polytope(points,backend) - """ -end - -fetch_polytopes(h11,limit; lattice="N",as_list=false,favorable=false) = py"f_polytopes(h11=$h11,limit=$limit, lattice=$lattice, as_list=$as_list, favorable=$favorable)" - -poly(points; backend=nothing) = py"poly($points, backend=$backend)" - - - -function topologies_generate(h11,n) - tri_test = [] - tri_test_m = [] - #Generate list of $n polytopes at $h11 - poly_test = fetch_polytopes(h11,4*n, lattice="N", as_list=true, favorable=true) - #Locator for points of polytope for saving - points = [p.points() for p in poly_test] - #If number of polytopes < $n, generate more triangulations per polytope, - #otherwise generate 1 triangulation per polytope upto $n - spt = size(poly_test,1) - m = nothing; - if spt == 0 - return [0, 0, 0, 0] - elseif spt < n && h11 > 3 - left_over = mod(n, spt) - m = n ÷ spt - if left_over == 0 - tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=1:spt]; - # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] - tri_test = vcat(tri_test_m...) - else - tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; - tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; - tri_test_m = vcat(tri_test_m1, tri_test_m) - # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] - # cy_num1 = [size(tri_test_m1[i],1) for i=1:size(tri_test_m1,1)] - # cy_num = vcat(cy_num1,cy_num) - tri_test = vcat(tri_test_m1...,tri_test_m...) - end - else - tri_test_m = nothing - tri_test = [poly_test[i].triangulate() for i=1:n]; - points = @view(points[1:n]) - end - simplices = [] - cy = [] - for t in eachindex(tri_test) - #Locator for simplices of triangulations for saving - push!(simplices,tri_test[t].simplices()) - #Generate list of CY3s - push!(cy,tri_test[t].get_cy()) - end - keys = ["m", "poly_tri", "poly_retri", "points", "simplices", "cy"] - vals = [m, tri_test, tri_test_m, points, simplices, cy] - - return Dict(zip(keys,vals)) -end - -""" - topologies(h11::Int, n::Int) - -This function generates and saves the topological data, _i.e._ `points` and `simplices` of the polytope, in a HDF5 file with path -`DATA_DIR/h11_XXX/np_YYYYYYY/cy_ZZZZZZZ/cyax.h5` - -Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] - -""" -function topologies(h11::Int, n::Int) - h11list_temp = [] - top_data = topologies_generate(h11, n) - m, tri_test, tri_test_m, points, simplices, cy = top_data["m"], top_data["poly_tri"], top_data["poly_retri"], top_data["points"], top_data["simplices"], top_data["cy"] - #Create dir for saving -- structure is h11_{$h11}.zfill(3)/np_{$tri}.zfill(7)/cy_{$cy}.zfill(7)/data - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"))) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"))) - end - if m === nothing - for tri in eachindex(tri_test) - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - end - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(1,7,"0"))) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(1,7,"0"))) - end - if isfile(cyax_file(h11,tri,1)) - rm(cyax_file(h11,tri,1)) - end - h5open(cyax_file(h11,tri,1), "cw") do file - f1 = create_group(file, "cytools") - f1a = create_group(f1, "geometric") - f1a["points",deflate=9] = Int.(points[tri]) - f1a["simplices",deflate=9] = Int.(simplices[tri]) - end - push!(h11list_temp, [h11,cy[tri],tri,1]) - end - else - t = 1 - for tri in eachindex(tri_test_m) - for cy_i in eachindex(tri_test_m[tri]) - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - end - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy_i,7,"0"))) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy_i,7,"0"))) - end - if isfile(cyax_file(h11,tri,cy_i)) - rm(cyax_file(h11,tri,cy_i)) - end - h5open(cyax_file(h11,tri,cy_i), "cw") do file - f1 = create_group(file, "cytools") - f1a = create_group(f1, "geometric") - f1a["points",deflate=9] = Int.(points[tri]) - f1a["simplices",deflate=9] = Int.(simplices[t]) - end - push!(h11list_temp, [h11,cy[t],tri,cy_i]) - t+=1 - end - end - end - h11list = hcat(h11list_temp...) - GC.gc() - return h11list -end - -""" - cy_from_poly(h11) - -Generates triangulations from already computed `points` and `simplices` of polytopes. - -Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] -""" -function cy_from_poly(h11) - h11list_temp = [] - h11list_inds = np_path_generate(h11) - for col in eachcol(h11list_inds) - h11,tri,cy_i = col - top_data = topology(h11,tri,cy_i) - points, simplices = top_data["points"], top_data["simplices"] - p = poly(points) - t = p.triangulate(simplices=simplices) - cy = t.get_cy() - push!(h11list_temp,[h11,cy,tri,cy_i]) - end - h11list = hcat(h11list_temp...) - GC.gc() - return h11list -end - -function geometries_generate(h11,cy,tri,cy_i=1) - glsm = zeros(Int,h11,h11+4) - basis = zeros(Int,h11) - tip = zeros(Float64,h11) - Kinv = zeros(Float64,h11,h11) - K = zeros(Float64,h11,h11) - tau = zeros(Float64,h11) - qprime = zeros(Int,h11+4,h11) - #Locator for h21s for saving - h21::Int = cy.h21() - #GLSM basis for saving - glsm = cy.glsm_charge_matrix(include_origin=false) - #Divisor basis for saving (allows for reproducibility) - basis = cy.divisor_basis() - #Find tip of SKC - n,m = 1,1 - tip = cy.toric_kahler_cone().tip_of_stretched_cone(sqrt(n)) - #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) - Kinv = Hermitian(1/2 * Kinv + Kinv') - #Generate list of Q matrices -- only $h11+4 directions - qprime = cy.toric_effective_cone().rays() - #PTD volumes at tip - tau = cy.compute_divisor_volumes(tip)[basis] - while true - rhs_constraint = zeros(size(qprime,1)) - lhs_constraint = zeros(size(qprime,1),size(qprime,1)) - for i in axes(qprime,1) - for j in axes(qprime,1) - if i>j - lhs_constraint[i,j] = abs.(log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(tau, qprime[i,:] .+ qprime[j,:]))) - end - end - rhs_constraint[i] = abs.(log.(abs.(dot(tau, qprime[i, :]))) .+ (-2π * dot(tau, qprime[i,:]))) - end - if LowerTriangular(lhs_constraint .< rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) - break - else - m+=1e-2 - tip = m .* tip - #PTD volumes at tip - tau = cy.compute_divisor_volumes(tip)[basis] - #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) - Kinv = Hermitian(1/2 * Kinv + Kinv') - end - end - if (minimum(tau) > 1.) - else - n = 1. / minimum(tau) - tip = sqrt(n) .* tip - #PTD volumes at tip - tau = cy.compute_divisor_volumes(tip)[basis] - #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) - Kinv = Hermitian(1/2 * Kinv + Kinv') - end - tip_prefactor = [sqrt(n),m] - #Volume of CY3 at tip - V = cy.compute_cy_volume(tip) - - q = zeros(Int,h11+4+binomial(h11+4,2),h11) - L2 = zeros(Float64,binomial(h11+4,2),2) - n=1 - q[1:h11+4,:] = qprime - for i=1:size(qprime,1)-1 - for j=i+1:size(qprime,1) - q[h11+4+n,:] = qprime[i,:]-qprime[j,:] - L2[n,:] = [(pi*dot(qprime[i,:],(Kinv * qprime[j,:])) - + dot((qprime[i,:]+qprime[j,:]),tau))*8*pi/V^2 - -2*log10(exp(1))*pi*(dot(qprime[i,:],tau)+ dot(qprime[j,:],tau))] - n+=1 - end - end - #Use scalar potential eqn to generate \Lambda^4 (this produces a (h11+4,2) matrix - #where the components are in (mantissa, exponent)(base 10) format - #L1 are basis instantons and L2 are cross terms - L1 = zeros(h11+4,2) - for j in axes(qprime,1) - L1[j,:] = [(8*pi/V^2)*dot(qprime[j,:],tau) -2*log10(exp(1))*pi*dot(qprime[j,:],tau)] - end - #concatenate L1 and L2 - L = zeros(Float64,h11+4+binomial(h11+4,2),2) - L = vcat(L1,L2) - keys = ["h21", "glsm", "basis", "tip", "tip_prefactor", "CY_volume", "PTD_volumes", "Kinv", "L", "Q"] - vals = [h21, Int.(glsm), Int.(basis), Float64.(tip), Float64.(tip_prefactor), Float64(V), Float64.(tau), Float64.(Kinv), hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Int.(q)] - return Dict(zip(keys, vals)) -end - -function geometries(h11,cy,tri,cy_i=1) - geom_data = geometries_generate(h11, cy, tri, cy_i) - h5open(cyax_file(h11,tri,cy_i), "r+") do file - if haskey(file, "cytools/geometric/h21") - else - file["cytools/geometric/h21",deflate=9] = geom_data["h21"] - file["cytools/geometric/glsm",deflate=9] = geom_data["glsm"] - file["cytools/geometric/basis",deflate=9] = geom_data["basis"] - file["cytools/geometric/tip",deflate=9] = geom_data["tip"] - file["cytools/geometric/tip_prefactor",deflate=9] = geom_data["tip_prefactor"] - file["cytools/geometric/CY_volume",deflate=9] = geom_data["CY_volume"] - file["cytools/geometric/divisor_volumes",deflate=9] = geom_data["PTD_volumes"] - file["cytools/geometric/Kinv",deflate=9] = geom_data["Kinv"] - end - if haskey(file, "cytools/potential") - else - f1b = create_group(file, "cytools/potential") - f1b["L",deflate=9] = geom_data["L"] - f1b["Q",deflate=9] = geom_data["Q"] - end - end - GC.gc() - # return [h11,tri,cy_i] -end - -end \ No newline at end of file diff --git a/add_functions/profiling.jl b/add_functions/profiling.jl deleted file mode 100644 index 26d29e3..0000000 --- a/add_functions/profiling.jl +++ /dev/null @@ -1,186 +0,0 @@ -module profiling - -using HDF5 -using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo -using GenericLinearAlgebra -using Distributions -using TimerOutputs - -using ..filestructure: cyax_file, minfile, present_dir -using ..read: potential - -function vacua(L::Matrix{Float64},Q::Matrix{Int}) - reset_timer!() - @timeit "h11" h11::Int = size(Q,2) - if h11 < 50 - ###### Nemo SNF ##### - @timeit "Nemo matrix" Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) - @timeit "SNF" T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] - @timeit "inv(T)" Tparallel1::Nemo.fmpz_mat = inv(T)[:,1:h11] - @timeit "convert T∥" Tparallel::Matrix{Int} = convert(Matrix{Int},Tparallel1) - - ###### wildart SNF ##### - # @timeit "SNF" F = smith(Q) - # @timeit "T" T::Matrix{Int} = F.S - # @timeit "inv(T)" Tparallel::Matrix{Int} = round.(inv(T)[:,1:h11]) - # println(size(T)) - - @timeit "θparallel" θparalleltest::Matrix{Float64} = inv(transpose(Float64.(Q)) * Float64.(Q)) * transpose(Float64.(Q)) * Float64.(Tparallel) - end - @timeit "zip LQ" LQtest::Matrix{Float64} = hcat(L,Q); - @timeit "sort LQ" LQsorted::Matrix{Float64} = LQtest[sortperm(L[:,2], rev=true), :] - @timeit "unzip LQ" Lsorted_test::Matrix{Float64},Qsorted_test::Matrix{Int} = LQsorted[:,1:2], Int.(LQsorted[:,3:end]) - @timeit "init Qtilde" Qtilde::Matrix{Int} = hcat(zeros(Int,size(Qsorted_test[1,:],1)),Qsorted_test[1,:]) - @timeit "init Ltilde" Ltilde::Matrix{Float64} = hcat(zeros(Float64,size(Lsorted_test[1,:],1)),Lsorted_test[1,:]) - @timeit "init S" S::Nemo.FmpzMatSpace = MatrixSpace(Nemo.ZZ,1,1) - @timeit "init m" m::Nemo.fmpz_mat = matrix(Nemo.ZZ,zeros(1,1)) - d::Int = 1 - @timeit "init Qbar" Qbar::Matrix{Int} = zeros(Int,size(Qsorted_test[1,:],1),1) - @timeit "init Lbar" Lbar::Matrix{Float64} = zeros(Float64,size(Lsorted_test[1,:],1),1) - for i=2:axes(Qsorted_test,1)[end] - @timeit "Matrix.Space" S = MatrixSpace(Nemo.ZZ, size(Qtilde,1), (size(Qtilde,2))) - @timeit "lin. ind." m = S(hcat(Qtilde[:,2:end],Qsorted_test[i,:])) - @timeit "NullSpace" d = Nemo.nullspace(m)[1] - if d == 0 - @timeit "Qtilde" Qtilde = hcat(Qtilde,Qsorted_test[i,:]) - @timeit "Ltilde" Ltilde = hcat(Ltilde,Lsorted_test[i,:]) - else - @timeit "Qbar" Qbar = hcat(Qbar,Qsorted_test[i,:]) - @timeit "Lbar" Lbar = hcat(Lbar,Lsorted_test[i,:]) - end - end - @timeit "Qtilde first pass" Qtilde = Qtilde[:,2:end] - @timeit "Qbar first pass" Qbar = Qbar[:,2:end] - @timeit "Ltilde first pass" Ltilde = Ltilde[:,2:end] - @timeit "Lbar first pass" Lbar = Lbar[:,2:end] - println(size(Qbar), size(Lbar),size(Ltilde),size(Qtilde)) - @timeit "Ltilde min" Ltilde_min::Float64 = minimum(Ltilde[2,:]) - println(Ltilde_min) - @timeit "Ldiff limit" Ldiff_limit::Float64 = log10(0.01) - @timeit "Qbar reduce" Qbar = Qbar[:, Lbar[2,:] .>= (Ltilde_min + Ldiff_limit)] - @timeit "Lbar reduce" Lbar = Lbar[:,Lbar[2,:] .>= (Ltilde_min + Ldiff_limit)] - @timeit "alpha" α::Matrix{Float64} = round.(Qbar' * inv(Qtilde')) - println(size(Qbar), size(Lbar), size(α), Qbar[:,1], Lbar[1,2]) - # println(α) - # i=1 - for i in axes(α,1) - index=0 - for j in axes(α,2) - if α[i,j] != 0. - index = j - end - end - if index!=0 - Ldiff::Float64 = round(Lbar[2,i] - Ltilde[2,index], digits=3) - if Ldiff > Ldiff_limit - println([i index α[i,index] Ldiff Lbar[2,i] Ltilde[2,index]]) - @timeit "Qtilde 2nd pass" Qtilde = hcat(Qtilde,Qbar[:,i]) - @timeit "Ltilde 2nd pass" Ltilde = hcat(Ltilde,Lbar[:,i]) - end - end - end - println(size(Qtilde)) - if h11 < 50 - if size(Qtilde,1) == size(Qtilde,2) - @timeit "vacua square" vacua = Int(round(abs(det(θparalleltest) / det(inv(Qtilde))))) - else - @timeit "vacua P!=N" vacua = round(abs(det(θparalleltest) / (1/sqrt(det(Qtilde * Qtilde'))))) - end - thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), thparallel, Qtilde] - print_timer() - return Dict(zip(keys,vals)) - else - if size(Qtilde,1) == size(Qtilde,2) - @timeit "vacua square" vacua = Int(round(abs(1 / det(inv(Qtilde))))) - else - @timeit "vacua P!=N" vacua = round(abs(sqrt(det(Qtilde * Qtilde')))) - end - - keys = ["vacua","Qtilde"] - vals = [abs(vacua), Qtilde] - print_timer() - return Dict(zip(keys,vals)) - end -end - - -function minimiser(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo,prec) - setprecision(ArbFloat; digits=prec) - Arb0 = ArbFloat(0.) - Arb1 = ArbFloat(1.) - Arb2π = ArbFloat(2π) - threshold = 0.01 - function QX(x::Vector) - Qx = zeros(ArbFloat,size(QV,1)); - @tullio Qx[c] = QV[c,i] * x[i] - return Qx - end - function fitness(x::Vector) - V = dot(LV,(Arb1 .- cos.(QX(x)))) - return V - end - function grad!(gradient::Vector, x::Vector) - grad_temp = zeros(ArbFloat, size(LV,1),h11) - @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) - @tullio gradient[i] = LV[c] * grad_temp[c,i] - end - function hess(x::Vector) - grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) - hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(h11,h11)) - hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - a = mod.(((ArbFloat.(θparalleltest) * xmin)/Arb2π),Arb1) - atilde = ArbFloat.(Qtilde) * xmin/Arb2π - a_sign = Int.(sign.(a)) - a_log = Float64.(log10.(abs.(a))) - atilde_sign = Int.(sign.(atilde)) - atilde_log = Float64.(log10.(abs.(atilde))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "±a","loga", "±ã", "logã", "eig(H)", "grad"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, a_sign, a_log, atilde_sign, atilde_log,Float64(log10(abs(minimum(eigen(hess(xmin)).values)))),sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ)))] - return Dict(zip(keys,vals)) - GC.gc() - end -end - -end \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index a303fff..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build/ -site/ diff --git a/docs/Project.toml b/docs/Project.toml deleted file mode 100644 index dfa65cd..0000000 --- a/docs/Project.toml +++ /dev/null @@ -1,2 +0,0 @@ -[deps] -Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" diff --git a/docs/make.jl b/docs/make.jl deleted file mode 100644 index 5e43ecd..0000000 --- a/docs/make.jl +++ /dev/null @@ -1,29 +0,0 @@ -push!(LOAD_PATH,"../src/") -using Documenter -using CYAxiverse - -makedocs( - sitename = "CYAxiverse.jl", - authors = "Viraf M. Mehta", - format = Documenter.HTML( - prettyurls = get(ENV, "CI", nothing) == "true", - canonical = "https://vmmhep.github.io/CYAxiverse.jl/stable/"), - modules = [CYAxiverse], - pages = [ - "Home" => "index.md" - "User guide" => "userguide.md" - "Examples" => "examples.md" - "API" => "api.md" - ] -) - -# Documenter can also automatically deploy documentation to gh-pages. -# See "Hosting Documentation" and deploydocs() in the Documenter manual -# for more information. -deploydocs(branch = "gh-pages", - repo = "github.com/vmmhep/CYAxiverse.jl.git", - devbranch = "dev", - target ="build", - deps = nothing, - make = nothing, - push_preview =true) \ No newline at end of file diff --git a/docs/src/api.md b/docs/src/api.md deleted file mode 100644 index abd3ed5..0000000 --- a/docs/src/api.md +++ /dev/null @@ -1,50 +0,0 @@ -# Available functions ---- -```@meta -CurrentModule = CYAxiverse -``` -## `CYAxiverse.filestructure` -```@docs -CYAxiverse.filestructure -``` - -```@autodocs -Modules = [CYAxiverse.filestructure] -Pages = ["filestructure.jl"] -``` -## `CYAxiverse.generate` -```@docs -CYAxiverse.generate -``` - -```@autodocs -Modules = [CYAxiverse.generate] -Pages = ["generate.jl"] -``` -## `CYAxiverse.minimizer` -```@docs -CYAxiverse.minimizer -``` - -```@autodocs -Modules = [CYAxiverse.minimizer] -Pages = ["minimizer.jl"] -``` -## `CYAxiverse.read` -```@docs -CYAxiverse.read -``` - -```@autodocs -Modules = [CYAxiverse.read] -Pages = ["read.jl"] -``` -## `CYAxiverse.cytools_wrapper` -```@docs -add_functions/CYAxiverse.cytools_wrapper -``` - -```@autodocs -Modules = [CYAxiverse.cytools_wrapper] -Pages = ["add_functions/cytools_wrapper.jl"] -``` \ No newline at end of file diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png deleted file mode 100644 index 20fdc87673295ec5e70581d80a08484affafb651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392840 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

N##zJ*4ms?^ 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%0A%Re3f0{bW6TXRq@>fpADg!(%CIn0 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 z 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

uFUM9c2~*lAIQAI7=?B9p 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

O_K_l8|>; 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Ǹ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

JnZ3Dl&cl;x*rU%;-H#?W6Efg;A4;3 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

  • u&aW&b{oQ@l%C?2ft~Xo9PSp1{ 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

    hzVEFKFgzlR+Yk67)}Co22rZ| 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%0A4_$zoai_A-q$IPTf_=#hAwV2f_jqL0GVv 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

    @0Vy#-A^l!_*YC#CE%B)=&#_Fw+ix6Xa~ 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%0D1S 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 z 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 diff --git a/docs/src/examples.md b/docs/src/examples.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/src/index.md b/docs/src/index.md deleted file mode 100644 index 850327b..0000000 --- a/docs/src/index.md +++ /dev/null @@ -1,117 +0,0 @@ -# CYAxiverse.jl - -A [Julia](https://julialang.org) package to compute axion/ALP spectra from string theory (using output of [CYTools](https://cytools.liammcallistergroup.com/)) - ---- - -## Authors ✒️ -[Viraf M. Mehta](https://inspirehep.net/authors/1228975) - -## Installation 💾 -!!! warning - This package is currently _not_ registered with the `julia` package manager and is still under development. **Use at your own risk!** - -!!! info - Currently this package runs in a docker container with `CYTools`. In time, the installation process will be automated. - -!!! warning - The Docker container is just over 3GB - -!!! tip - There are a couple of stages that take around 10-15 minutes to complete and so be ready with the kettle ☕ - -To build this docker container, follow these instructions (currently only appropriate for UNIX-based systems): - -- install the appropriate [Docker Desktop](https://docs.docker.com/desktop/) for your system -- in a terminal, create a new directory for `CYTools` and `CYAxiverse` e.g. -``` -export CYAXIVERSE_ROOT=$HOME/cyaxiverse && -export CYAXIVERSE_REPO=$CYAXIVERSE_ROOT/CYAxiverse_repo && -export CYTOOLS_REPO=$CYAXIVERSE_ROOT/CYTools_repo && -mkdir $CYAXIVERSE_ROOT && -mkdir $CYTOOLS_REPO && -mkdir $CYAXIVERSE_REPO -``` -!!! tip - Change `$HOME → /root/path/where/cyaxiverse/will/live` in the first line and it should propagate through - -!!! warning - A trailing `/` will break this, be careful. - -- clone the `CYTools` repository -``` -cd $CYTOOLS_REPO && -git clone https://github.com/LiamMcAllisterGroup/cytools.git -``` -- clone[^1] this repository (currently `dev` branch is up-to-date) - -[^1]: - one can also `git pull` the repository -- this would enable the `CYAxiverse.jl` package to be updated (while under development) with specific directory binding. Use this command instead: - ``` - mkdir $CYAXIVERSE_REPO/CYAxiverse.jl && - cd $CYAXIVERSE_REPO/CYAxiverse.jl && - git init && - git pull https://github.com/vmmhep/CYAxiverse.jl.git dev - ``` - and then you can keep this up-to-date as improvements are pushed with - ``` - git pull https://github.com/vmmhep/CYAxiverse.jl.git dev - ``` - -``` -cd $CYAXIVERSE_REPO && -git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git -``` -- replace the default `Dockerfile` in your `CYTools` directory with the `Dockerfile` in `$CYAXIVERSE_REPO` and move `add_CYAxiverse.jl` there too, _e.g._ -``` -mv $CYTOOLS_REPO/cytools/Dockerfile $CYAXIVERSE_ROOT/Dockerfile_CYTools && -cp $CYAXIVERSE_REPO/CYAxiverse.jl/Dockerfile $CYTOOLS_REPO/cytools/ && -cp $CYAXIVERSE_REPO/CYAxiverse.jl/add_CYAxiverse.jl $CYTOOLS_REPO/cytools/ -``` -- run the following command from your `CYTools` directory _e.g._ `cyaxiverse/cytools/` : -``` -docker build --no-cache --force-rm -t cyaxiverse:uid-$UID --build-arg USERNAME=cytools \ ---build-arg USERID=$UID --build-arg ARCH=amd64 \ ---build-arg AARCH=x86_64 --build-arg VIRTUAL_ENV=/home/cytools/cytools-venv/ \ ---build-arg ALLOW_ROOT_ARG=" " --build-arg PORT_ARG=$(($UID+2875)) . -``` -!!! note - This takes ~15 minutes on a - ``` - MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports) - Processor 2,3 GHz Dual-Core Intel Core i5 - Memory 16 GB 2133 MHz LPDDR3 - ``` - so make yourself a cup of tea 😃 -- create a `dir` for your data _e.g._ -``` -export CYAXIVERSE_DATA=$CYAXIVERSE_ROOT/CYAxiverse_database && -mkdir $CYAXIVERSE_DATA -``` -- you can now run your docker image with[^2] - -[^2]: - in order to keep `CYAxiverse.jl` up-to-date (while under development), bind the local `CYAxiverse` version with the `CYAxiverse.jl` directory in the Docker container, _e.g._ with the - ``` - --mount type=bind,source="$CYAXIVERSE_REPO/CYAxiverse.jl",target=/opt/CYAxiverse.jl,readonly - ``` - option included, _i.e._ - ``` - docker container run -it --mount type=bind,source=$CYAXIVERSE_DATA,target=/database\ - --mount type=bind,source=$CYAXIVERSE_REPO/CYAxiverse.jl,target=/opt/CYAxiverse.jl\ - -p 8994:8996 cyaxiverse:uid-$UID - ``` - Enabling this ensures the `CYAxiverse.jl` version compiled in the Docker container matches the one most recently `pull`ed from the repository. - -``` -docker container run -it --mount type=bind,source=$CYAXIVERSE_DATA,target=/database\ --p 8994:8996 cyaxiverse:uid-$UID -``` -If this is the first run, `julia` will precompile the required packages for `CYAxiverse.jl` which, at the moment, takes about 5 minutes. Then, opening a browser and going to [`http://localhost:8994`](http://localhost:8994), you will be presented with the [`Pluto`](https://github.com/fonsp/Pluto.jl/wiki) notebook interface. You can save your new notebook in `/opt/CYAxiverse/notebooks`. - -Enjoy! -![:deploy_parrot:](https://emoji.slack-edge.com/T7DMEKZMH/deployparrot/ef6c902688cec864.gif) - - -## Acknowledgements 🙏 -This project was born after publication of [Superradiance in String Theory](https://iopscience.iop.org/article/10.1088/1475-7516/2021/07/033) and I am grateful to my collaborators for their input while this code was evolving. Huge thanks also to the authors of [CYTools](https://cy.tools/) for their ongoing hard work and to [Mona Dentler](https://inspirehep.net/authors/1635411) for constant help throughout the development of this package. diff --git a/docs/src/userguide.md b/docs/src/userguide.md deleted file mode 100644 index 830bb6b..0000000 --- a/docs/src/userguide.md +++ /dev/null @@ -1,4 +0,0 @@ -# User guide - -!!! warning - Under construction \ No newline at end of file diff --git a/notebooks/optim_testing backup 1.jl b/notebooks/optim_testing backup 1.jl deleted file mode 100644 index 60e2f94..0000000 --- a/notebooks/optim_testing backup 1.jl +++ /dev/null @@ -1,813 +0,0 @@ -### A Pluto.jl notebook ### -# v0.19.11 - -using Markdown -using InteractiveUtils - -# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). -macro bind(def, element) - quote - local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end - local el = $(esc(element)) - global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) - el - end -end - -# ╔═╡ 3788df6d-c756-4b6a-8d75-8cd018ab2991 -begin - import Pkg - Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse") -end - -# ╔═╡ d1f78454-3ba0-4569-a491-f52e737c7dc3 -begin - using Revise - using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging - using CYAxiverse -end - -# ╔═╡ fee399f9-2668-41e0-a296-37b348a04769 -md""" -# Vacua search -- Numerics -""" - -# ╔═╡ 90f44877-6310-49b1-9331-f8601918e4b3 -md""" -### This notebook randomly selects a geometry in our database that may contain multiple minima and then runs a numerical optimisation routine to find them -""" - -# ╔═╡ 2000a078-38f5-4c93-8627-ba6b4970aef6 -html""" - -""" - -# ╔═╡ 7c8e7502-94d8-4da6-a5e2-b950b33a62c2 -begin - ENV["newARGS"] = string("vacua_stretch") - md""" - The database we are using is $(ENV["newARGS"]) - """ -end - -# ╔═╡ 9071d014-a286-4f6f-bafc-648c1954d3d7 -begin - h11list = CYAxiverse.filestructure.paths_cy()[2] - md""" - There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) - """ -end - -# ╔═╡ 4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 -@bind go PlutoUI.Button("Run another example") - -# ╔═╡ e1fdc533-efc0-4012-8464-3db601f66819 -begin - min_idx = 7_000 - max_idx = 35_001 - md""" - Finding a suitable example between $(h11list[1,min_idx]) `` \leq h^{1,1} < `` $(h11list[1,max_idx]) - """ -end - -# ╔═╡ 8699f77c-4a59-4194-9f08-f878b65b93ba -h11, tri, cy = 50, 10, 1 - -# ╔═╡ 281b0be2-86fd-4201-871a-7e362b5872d7 -# ╠═╡ disabled = true -#=╠═╡ -# let -# go -# @progress for i=rand(min_idx:max_idx,1000) -# global h11,tri,cy = h11list[:,i] -# LQtildebar_data = CYAxiverse.generate.LQtildebar(h11,tri,cy; threshold=0.01) -# Qtilde = LQtildebar_data["Qtilde"] -# if size(Qtilde,1) != size(Qtilde,2) && size(LQtildebar_data["Qeff"],1) ≤ 20 -# break -# else -# global h11, tri, cy = 9, 256, 1 -# end -# end; -# end; - ╠═╡ =# - -# ╔═╡ 871778ce-735d-49ed-b6f5-ab68f127ad32 -md""" -The system we are considering is identified by: - ``h^{1,1}`` = $h11; Polytope number = $tri; FRST number = $cy -""" - -# ╔═╡ 0b13b99a-9c7d-4117-90ba-e74baf49054d -pot_data = CYAxiverse.read.potential(h11,tri,cy); - -# ╔═╡ 4cfe15ea-1a7f-4af3-9602-6eac3732232a -τ = CYAxiverse.read.geometry(h11,tri,cy)["τ_volumes"] - -# ╔═╡ 0b261480-4109-41f9-ac4e-52d040b20efe -Kinv = CYAxiverse.read.geometry(h11,tri,cy)["Kinv"] - -# ╔═╡ 33fc2f88-c402-4394-83c9-10df2e7a6d96 -qprime = pot_data["Q"][1:h11+4,:] - -# ╔═╡ 6c6bd3c6-4019-426c-9188-e63debe0fe8b -size(pot_data["L"]) - -# ╔═╡ b5020c4c-d37f-4ad0-9633-ebdef6898afc -rhs_constraint = zeros(size(qprime,1)); - -# ╔═╡ 1c45d205-f8fb-4d1f-8d57-0d6d46ce622f -lhs_constraint = zeros(size(qprime,1),size(qprime,1)); - -# ╔═╡ fd53a8a1-c782-4f31-bf8a-1403de56b64d -for i=1:h11+4 - for j=1:h11+4 - if i>j - lhs_constraint[i,j] = log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(τ, qprime[i,:] .+ qprime[j,:])) - end - end - rhs_constraint[i] = log.(abs.(dot(qprime[i,:],τ))) .+ (-2π * dot(τ, qprime[i,:])) -end - -# ╔═╡ 4993e5d8-48f1-4b4e-878c-9576e7bfc85c -lhs_constraint - -# ╔═╡ 5abd2caa-8d2d-4c8b-b064-a0426447b392 -LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) - -# ╔═╡ 07f43035-2e72-47b1-baef-7258c65a13c8 -constraint = LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) - -# ╔═╡ 64f3ac82-0f2b-4092-b904-b750ec16a309 -[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4] - -# ╔═╡ 6f614ec4-c03f-4d65-bd3b-153a31c23da4 -[rhs_constraint[i] for i in [i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ 622570d7-a3fa-4bd0-8d1d-5762490e8ad0 -lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], [i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ 6c5a1870-3657-4978-995f-578fe9d0602c -lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], :] - -# ╔═╡ cd6bbbd5-321f-4868-b0e7-71b96965bef7 -constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4],[i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ a1dfa08c-1056-4e15-a040-4de1276f400c -mod10(x) = (mod(x / 2π, 1) ≈ 1 || mod(x / 2π, 1) ≈ 0 ? 0 : x) - -# ╔═╡ ecfc017c-5eca-41b2-ba3e-71d6dbe68403 -function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64 = 1e-2) - setprecision(ArbFloat,digits=5_000) - LQtildebar = LQtildebar(L, Q; threshold=threshold) - Ltilde = LQtildebar["Ltilde"][:,sortperm(LQtildebar["Ltilde"][2,:], rev=true)] - Qtilde = LQtildebar["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] - Qtilde = Matrix{Int}(Qtilde') - basis_vectors = zeros(size(Qtilde,1), size(Qtilde,1)) - idx = 1 - while idx ≤ size(Qtilde,2) - Qsub = Qtilde[:,idx] - Lsub = Ltilde[:,idx] - while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[:,idx+1], Qtilde[:,idx]) != 0 - Lsub = hcat(Lsub, Ltilde[:, idx+1]) - Qsub = hcat(Qsub, Qtilde[:, idx+1]) - idx += 1 - end - if size(Qsub,2) == 1 - basis_vectors[idx,:] = Qsub - idx += 1 - else - Lsubdiff = Lsub[2,:] .- Lsub[2,1] - Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; - Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] - Qsub = Qsub[:,Qsubmask] - for run_number = 1:10_000 - x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) - res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer - res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] - end - xmin = hcat(res["xmin"]...) - for i in eachcol(xmin) - i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) - end - xmin = xmin[:, [sum(i)!=0 for i in eachcol(xmin)]] - xmin = xmin[:,sortperm([sqrt(sum(abs2,i)) for i in eachcol(xmin)])] - lattice_vecs = lattice_minimize(xmin) ##need to write lattice minimizer - basis_vectors[idx-size(lattice_vecs,2):idx, :] = lattice_vecs - end - proj = project_out(Qtilde[i,:]) - #this is the scipy.linalg.orth function written out - u, s, vh = svd(proj,full=true) - M, N = size(u,1), size(vh,2) - rcond = eps() * max(M, N) - tol = maximum(s) * rcond - num = Int.(round(sum(s[s .> tol]))) - T = u[:, 1:num] - Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) - LinearAlgebra.mul!(Qtilde_i, Qtilde, T) - Qtilde = copy(Qtilde_i) - end - return basis_vectors -end - -# ╔═╡ dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 -size(log.(abs.([(pi*dot(qprime[i,:],(Kinv * qprime[j,:]))) for i=1:h11+4,j=1:h11+4 if i=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i=1:size(hind1,1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) - hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i=1:size(hind1,1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) - hess_sign = sign((minimum(eigen(hess(xmin)).values))) - sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] - return Dict(zip(keys,vals)) - GC.gc() - # end -end - -# ╔═╡ 316f3ae8-0110-4514-b132-38ddaa56b1ef -md""" -The smallest gradient element after a scan of 100 random points in the potential is -≈ 1e$(Float64(log10(minimum(gradσ[gradσ .> 0])))) -""" - -# ╔═╡ 42445c21-0608-4330-b04d-0ee49f592318 -Lfull = ArbFloat.(LQtilde["Leff"][1,:]) .* ArbFloat(10.) .^ ArbFloat.(LQtilde["Leff"][2,:]); - -# ╔═╡ 4fb9299e-564a-467c-8b15-9ebd1438b135 -md""" -The size of ``\mathcal{Q}_\mathrm{eff}`` is $(size(LQtilde["Qeff"]')) reduced from $(size(pot_data["Q"])) -""" - -# ╔═╡ 2eb2a848-14f3-4b10-a93f-d845b8d4daab -Markdown.parse(""" -The axions that contribute to the _effective_ or _reduced_ potential are ``\\tilde{\\theta}_i`` for i ∈ $((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) -""") - -# ╔═╡ 5bae78d1-8cf6-415c-8608-cc187a80759c -begin - Markdown.parse(""" - The instantons that generate the _effective_ or _reduced_ potential are ``\\tilde{\\Lambda}_a`` for a ∈ $(collect(1:size(LQtilde["Qtilde"],2))[LQtilde["Qcolmask"]]) - """) -end - -# ╔═╡ 89873528-0803-4a26-8cae-f560e8e3090f -begin - min_data = [] - @progress for i=1:500 - x0 = ArbFloat.(rand(Uniform(0,2π),size(LQtilde["Qeff"],1))) .* rand(ArbFloat,size(LQtilde["Qeff"],1)) - global prec = Int(round(abs(minimum(LQtilde["Leff"][2,:]))))+10 - min_data_temp = CYAxiverse.minimizer.minimize(h11,tri,cy,Lfull ./ maximum(Lfull),Matrix{ArbFloat}(LQtilde["Qeff"]'),x0,gradσ,algo_hz, prec < 1_000 ? prec : 1_000) - if min_data_temp["Hsign"] > 0 - push!(min_data,min_data_temp) - end - if size(min_data,1) == 200 - break - end - global num_limit = i - end - md""" - **There are $(size(min_data,1)) minima found from $(num_limit) numerical searches to $(min(1_000,prec)) significant figures** - """ -end - -# ╔═╡ a7d02d1c-01de-4b37-908d-0683cd7117a0 -[LQtilde["Leff"][2,:][Vector{Bool}(abs.(LQtilde["Qeff"][i,:]))] for i=1:size(LQtilde["Qeff"],1)] - -# ╔═╡ e96e7f3f-802f-421c-a4e4-f60aa18f646d -size(LQtilde["Qtilde"][:,1][LQtilde["Qtilde"][:,1] .== 0]) - -# ╔═╡ 6030dcb9-16c9-42f9-a214-286784de3100 -LQtilde["Qtilde"][:,9] - -# ╔═╡ 8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e -[i for (i,item) = enumerate(eachcol(LQtilde["Qtilde"])) if size(item[item .== 0],1) != h11-1] - -# ╔═╡ c703a028-4686-4f6e-a3b5-75cc71f1b434 -size(LQtilde["Qrowmask"]), size(LQtilde["Qcolmask"]) - -# ╔═╡ 41e2169d-65ff-44cb-9828-68e1c4a530d2 -function potential(L,Q,x) - V = dot(L,(ArbFloat(1.) .- cos.(Q' * x))) -end; - -# ╔═╡ 70b9770a-57c3-4ad4-90b8-f4efabc04ed0 -function grad_potential(L, Q, x::Number) - ∂V = dot(L, Q' .* sin.(Q' * x)) -end - -# ╔═╡ 9775a872-8a9a-4286-8ae7-c34c6560ed39 -function grad_potential(L, Q, x::Vector) - Q1 = Q[1, :]' - Q2 = Q[2, :]' - θ1 = x[1] - θ2 = x[2] - ∂V1 = dot(L, Q1 .* sin.(Q1 * θ1)) - ∂V2 = dot(L, Q2 .* sin.(Q2 * θ2)) - [∂V1, ∂V2] -end - -# ╔═╡ e1e6d095-f11a-40b7-8dc4-51952c4bdb30 -LQtilde["Qrowmask"] - -# ╔═╡ 7801297e-c52e-48e0-92d6-d58839afe7e3 -begin - xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i=1:size(min_data,1)]; - xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i=1:size(LQtilde["Qtilde"],1)] for _ in xtest] - for i=1:size(xtest,1) - for (j,k) in enumerate((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) - xmin_test[i][k] = xtest[i][j] - end - xtest[i] = inv(LQtilde["Qtilde"][:,1:size(LQtilde["Qtilde"],1)]') * xmin_test[i] ##Should this be Qtilde' or not in my code?! - end -end - -# ╔═╡ fd81eff2-d87b-4a5c-945d-8b9096ee5737 -xmin_test[1] - -# ╔═╡ 2fbee316-ca49-46c5-9afe-c1fe561ea948 -Ltest = ArbFloat.(LQtilde["Ltilde"][1,:] .* 10. .^ LQtilde["Ltilde"][2,:]); - -# ╔═╡ a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 -Qtest = ArbFloat.(Matrix{Float64}(LQtilde["Qtilde"])); - -# ╔═╡ 910dc6ba-9ad0-4f19-addb-81d882d6322c -xs = range(-0.5π,2.5π,length=300); - -# ╔═╡ a45e6c9d-b616-48c9-a7c2-0afe9d835516 -ys = xs; - -# ╔═╡ ebff481b-fcc3-4644-b766-c810c5131892 -md""" -Show 1D or 2D plot? -""" - -# ╔═╡ 27e7776b-1443-4cf0-b5d4-3985d89b85b5 -@bind plot_dims confirm(PlutoUI.Select(["1D","2D"])) - -# ╔═╡ 2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 -LQtilde["Qeff"] - -# ╔═╡ 3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a -LQtilde["Ltilde"] - -# ╔═╡ 4e6bbc87-bc60-47c2-960e-1084afed680f -hcat(xtest...) - -# ╔═╡ ee2060d2-00da-4ede-998e-23bd7805efc9 -[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)] - -# ╔═╡ 732bc5bb-419b-4361-a331-b563d15f1db1 -LQtilde["Qtilde"][:,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] * LQtilde["Ltilde"][2,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] - -# ╔═╡ c8507013-7fe1-4558-8992-53ecb650fe4d -md""" -Set which axion direction(s) to plot: -""" - -# ╔═╡ 4d96cbc5-f27c-4cf8-aac9-f73988761a09 -if plot_dims == "1D" - @bind axion confirm(PlutoUI.Select((1:size(LQtilde["Qtilde"],1)))) - # [hcat(xtest...)[:,1] .!= 0. .&& abs.(hcat(xtest...)[:,1]) .!= Float64(π),:][:,1])) -else - @bind axion confirm(PlutoUI.Select([[i,j] for i in (1:size(LQtilde["Qtilde"],1)), j in (1:size(LQtilde["Qtilde"],1)) if i notonemin_list[1,:] .- 10] - ╠═╡ =# - -# ╔═╡ 766cffea-b562-4997-9b2a-f05a27c59c2e -# ╠═╡ disabled = true -#=╠═╡ -@time test_mass = CYAxiverse.generate.pq_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]) - ╠═╡ =# - -# ╔═╡ 9d2af162-ce30-475b-921b-766e34692fc4 -# ╠═╡ disabled = true -#=╠═╡ -@time test_spec = CYAxiverse.generate.hp_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]; prec=5_000) - ╠═╡ =# - -# ╔═╡ 962576a8-fef2-48c4-b7fa-48ff5424298c -# ╠═╡ disabled = true -#=╠═╡ -test_spec["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] - ╠═╡ =# - -# ╔═╡ c7eeaa51-71b9-4b40-85cc-02063c64b8ce -# ╠═╡ disabled = true -#=╠═╡ -test_mass["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] - ╠═╡ =# - -# ╔═╡ 5f8113f3-59c3-42d4-8544-a61838381407 -# ╠═╡ disabled = true -#=╠═╡ -for t=4:100 - n = lpad(t,3,"0") - h5open("/scratch/users/mehta2/vacua_0822/h11_$n/np_0000001/cy_0000001/cyax.h5","r") do file - if haskey(file, "cytools/geometric/h21") - println("Gone too far") - else - [[string("$i/",keys(file[i]),"/",keys(file[i][j])) for j in keys(file[i])] for i in keys(file)] - end - end -end - ╠═╡ =# - -# ╔═╡ 4dea5c0f-fb4e-4510-9aab-902658407641 -# ╠═╡ disabled = true -#=╠═╡ -CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=0.5) - ╠═╡ =# - -# ╔═╡ Cell order: -# ╟─fee399f9-2668-41e0-a296-37b348a04769 -# ╟─90f44877-6310-49b1-9331-f8601918e4b3 -# ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 -# ╠═d1f78454-3ba0-4569-a491-f52e737c7dc3 -# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 -# ╟─3788df6d-c756-4b6a-8d75-8cd018ab2991 -# ╟─fbb69bcb-64c6-42c2-8ce1-666f397eb40e -# ╠═b1362f7d-55e5-48d6-a695-f3bf59d8bf99 -# ╟─e556408b-25f7-4fae-ba0b-243242279ba8 -# ╟─9071d014-a286-4f6f-bafc-648c1954d3d7 -# ╟─4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 -# ╠═e1fdc533-efc0-4012-8464-3db601f66819 -# ╠═8699f77c-4a59-4194-9f08-f878b65b93ba -# ╠═281b0be2-86fd-4201-871a-7e362b5872d7 -# ╟─871778ce-735d-49ed-b6f5-ab68f127ad32 -# ╟─0b13b99a-9c7d-4117-90ba-e74baf49054d -# ╠═4cfe15ea-1a7f-4af3-9602-6eac3732232a -# ╠═0b261480-4109-41f9-ac4e-52d040b20efe -# ╠═33fc2f88-c402-4394-83c9-10df2e7a6d96 -# ╠═6c6bd3c6-4019-426c-9188-e63debe0fe8b -# ╠═b5020c4c-d37f-4ad0-9633-ebdef6898afc -# ╠═1c45d205-f8fb-4d1f-8d57-0d6d46ce622f -# ╠═fd53a8a1-c782-4f31-bf8a-1403de56b64d -# ╠═4993e5d8-48f1-4b4e-878c-9576e7bfc85c -# ╠═5abd2caa-8d2d-4c8b-b064-a0426447b392 -# ╠═07f43035-2e72-47b1-baef-7258c65a13c8 -# ╠═64f3ac82-0f2b-4092-b904-b750ec16a309 -# ╠═6f614ec4-c03f-4d65-bd3b-153a31c23da4 -# ╠═622570d7-a3fa-4bd0-8d1d-5762490e8ad0 -# ╠═6c5a1870-3657-4978-995f-578fe9d0602c -# ╠═cd6bbbd5-321f-4868-b0e7-71b96965bef7 -# ╠═77dd1f33-15b4-4885-9152-34427bcd7c4f -# ╠═999ffbe3-a67e-4d6a-86ed-30687afb2da5 -# ╠═eb2b9729-af3c-412e-8133-e07fbcdaee49 -# ╠═757b5ac0-5148-4980-ac09-d6e5e2930399 -# ╠═b9733f0f-4869-4af5-9d65-2bb092e0bf54 -# ╠═14945e1d-39c5-4975-ae0d-67d057f024d0 -# ╠═2fb703ac-e71a-4574-9aa6-eadef19ba8e6 -# ╠═a1dfa08c-1056-4e15-a040-4de1276f400c -# ╠═6307dc3a-8905-4773-b7fd-2daf60ed40f9 -# ╠═676080a2-e02b-4632-89a1-e906d282051e -# ╠═18eac169-749c-488d-8335-29f74e53975d -# ╠═5b362ce3-614e-4b98-b4e7-cfdf5e3a1043 -# ╠═ecfc017c-5eca-41b2-ba3e-71d6dbe68403 -# ╠═363b43f0-33b8-466a-bcdf-fccfede32f98 -# ╠═dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 -# ╠═ac863bc3-5386-4422-93cc-8dc7db09bb03 -# ╠═d6dfc108-d25a-4a7c-838d-ac5e7da43c49 -# ╠═7ecff719-84c4-474e-a4cb-a3d38fe04e16 -# ╠═51c5832f-afdd-4d76-8f4a-6b26fdc3e85e -# ╟─1facdec9-789b-48c5-98e2-f522f8b75f0f -# ╟─8cd946f8-5909-4ed9-a5e7-1d11efded856 -# ╟─0c0b9219-f2e1-4333-b775-10a98d1fd798 -# ╟─b0f33ae9-6056-4e0d-b79f-b7d880fd6016 -# ╟─5035d43e-24fb-40b3-b928-0e544e6d62cd -# ╟─bbc6437d-1010-49cc-ae82-0a247c8e0eec -# ╠═5ede58ca-dec2-4419-837b-7307f28a2005 -# ╟─316f3ae8-0110-4514-b132-38ddaa56b1ef -# ╠═42445c21-0608-4330-b04d-0ee49f592318 -# ╟─4fb9299e-564a-467c-8b15-9ebd1438b135 -# ╟─2eb2a848-14f3-4b10-a93f-d845b8d4daab -# ╟─5bae78d1-8cf6-415c-8608-cc187a80759c -# ╠═89873528-0803-4a26-8cae-f560e8e3090f -# ╠═a7d02d1c-01de-4b37-908d-0683cd7117a0 -# ╠═e96e7f3f-802f-421c-a4e4-f60aa18f646d -# ╠═6030dcb9-16c9-42f9-a214-286784de3100 -# ╠═8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e -# ╠═c703a028-4686-4f6e-a3b5-75cc71f1b434 -# ╠═41e2169d-65ff-44cb-9828-68e1c4a530d2 -# ╠═70b9770a-57c3-4ad4-90b8-f4efabc04ed0 -# ╠═9775a872-8a9a-4286-8ae7-c34c6560ed39 -# ╠═e1e6d095-f11a-40b7-8dc4-51952c4bdb30 -# ╠═7801297e-c52e-48e0-92d6-d58839afe7e3 -# ╠═fd81eff2-d87b-4a5c-945d-8b9096ee5737 -# ╠═2fbee316-ca49-46c5-9afe-c1fe561ea948 -# ╠═a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 -# ╠═910dc6ba-9ad0-4f19-addb-81d882d6322c -# ╠═a45e6c9d-b616-48c9-a7c2-0afe9d835516 -# ╟─ebff481b-fcc3-4644-b766-c810c5131892 -# ╠═27e7776b-1443-4cf0-b5d4-3985d89b85b5 -# ╠═2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 -# ╠═3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a -# ╠═4e6bbc87-bc60-47c2-960e-1084afed680f -# ╠═ee2060d2-00da-4ede-998e-23bd7805efc9 -# ╠═732bc5bb-419b-4361-a331-b563d15f1db1 -# ╠═c8507013-7fe1-4558-8992-53ecb650fe4d -# ╠═4d96cbc5-f27c-4cf8-aac9-f73988761a09 -# ╠═b54d02e9-634d-4451-a942-fc0a57c935d3 -# ╠═5437ccfc-224f-4744-b08a-994460f7f2bb -# ╠═a422be5b-4031-4f34-b0db-a1c380d61351 -# ╠═1c32e0b9-1243-44d1-9a4f-54d966abbee9 -# ╠═16c15a91-7f4d-4d13-8a9f-2c155cf31037 -# ╠═c1b94e33-c604-42b9-a103-a551fb1ca93a -# ╠═2b382a1a-fd60-4ecd-b550-c396d7496d0f -# ╟─8e30171e-0146-450e-b31d-26a18adb2fe3 -# ╠═3b5c385d-fd90-4b49-8155-0d28582a1384 -# ╠═f11dfbf2-7d3a-4d90-b6f9-3fbf8cc6f764 -# ╠═bcc4d307-8aa5-497b-af76-ad000fd62b72 -# ╠═d2ec3683-4e96-41cd-8e6b-51f45c31df89 -# ╠═61dae36d-46e2-45db-b6a1-90132febf8a6 -# ╠═2fe9315e-90d5-4e56-844b-61fde4902091 -# ╠═054dfb58-c816-48d7-bb12-9d43e1715efb -# ╠═766cffea-b562-4997-9b2a-f05a27c59c2e -# ╠═9d2af162-ce30-475b-921b-766e34692fc4 -# ╠═962576a8-fef2-48c4-b7fa-48ff5424298c -# ╠═c7eeaa51-71b9-4b40-85cc-02063c64b8ce -# ╠═5f8113f3-59c3-42d4-8544-a61838381407 -# ╠═4dea5c0f-fb4e-4510-9aab-902658407641 diff --git a/notebooks/optim_testing.jl b/notebooks/optim_testing.jl deleted file mode 100644 index bb8fc3c..0000000 --- a/notebooks/optim_testing.jl +++ /dev/null @@ -1,834 +0,0 @@ -### A Pluto.jl notebook ### -# v0.19.11 - -using Markdown -using InteractiveUtils - -# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). -macro bind(def, element) - quote - local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end - local el = $(esc(element)) - global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) - el - end -end - -# ╔═╡ 3788df6d-c756-4b6a-8d75-8cd018ab2991 -begin - import Pkg - Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse") -end - -# ╔═╡ d1f78454-3ba0-4569-a491-f52e737c7dc3 -begin - using Revise - using HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Nemo - using CYAxiverse -end - -# ╔═╡ 7fb60b52-1158-4bcb-b5e0-1e3ebd1ad52b -using PlutoUI - -# ╔═╡ fee399f9-2668-41e0-a296-37b348a04769 -md""" -# Vacua search -- Numerics -""" - -# ╔═╡ 90f44877-6310-49b1-9331-f8601918e4b3 -md""" -### This notebook randomly selects a geometry in our database that may contain multiple minima and then runs a numerical optimisation routine to find them -""" - -# ╔═╡ 2000a078-38f5-4c93-8627-ba6b4970aef6 -html""" - -""" - -# ╔═╡ 7c8e7502-94d8-4da6-a5e2-b950b33a62c2 -begin - ENV["newARGS"] = string("vacua_stretch") - md""" - The database we are using is $(ENV["newARGS"]) - """ -end - -# ╔═╡ 9071d014-a286-4f6f-bafc-648c1954d3d7 -begin - h11list = CYAxiverse.filestructure.paths_cy()[2] - md""" - There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) - """ -end - -# ╔═╡ 25e1eb34-0e4b-4bf2-ac1b-228545bb82a8 -h11list - -# ╔═╡ 4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 -@bind go PlutoUI.Button("Run another example") - -# ╔═╡ e1fdc533-efc0-4012-8464-3db601f66819 -begin - min_idx = 7_000 - max_idx = 35_001 - md""" - Finding a suitable example between $(h11list[1,min_idx]) `` \leq h^{1,1} < `` $(h11list[1,max_idx]) - """ -end - -# ╔═╡ 8699f77c-4a59-4194-9f08-f878b65b93ba -h11, tri, cy = 35, 10, 1 - -# ╔═╡ 281b0be2-86fd-4201-871a-7e362b5872d7 -# ╠═╡ disabled = true -#=╠═╡ -# let -# go -# @progress for i=rand(min_idx:max_idx,1000) -# global h11,tri,cy = h11list[:,i] -# LQtildebar_data = CYAxiverse.generate.LQtildebar(h11,tri,cy; threshold=0.01) -# Qtilde = LQtildebar_data["Qtilde"] -# if size(Qtilde,1) != size(Qtilde,2) && size(LQtildebar_data["Qeff"],1) ≤ 20 -# break -# else -# global h11, tri, cy = 9, 256, 1 -# end -# end; -# end; - ╠═╡ =# - -# ╔═╡ 871778ce-735d-49ed-b6f5-ab68f127ad32 -md""" -The system we are considering is identified by: - ``h^{1,1}`` = $h11; Polytope number = $tri; FRST number = $cy -""" - -# ╔═╡ 0b13b99a-9c7d-4117-90ba-e74baf49054d -pot_data = CYAxiverse.read.potential(h11,tri,cy); - -# ╔═╡ 4cfe15ea-1a7f-4af3-9602-6eac3732232a -τ = CYAxiverse.read.geometry(h11,tri,cy)["τ_volumes"] - -# ╔═╡ 0b261480-4109-41f9-ac4e-52d040b20efe -Kinv = CYAxiverse.read.geometry(h11,tri,cy)["Kinv"] - -# ╔═╡ 33fc2f88-c402-4394-83c9-10df2e7a6d96 -qprime = pot_data["Q"][1:h11+4,:] - -# ╔═╡ 6c6bd3c6-4019-426c-9188-e63debe0fe8b -size(pot_data["L"]) - -# ╔═╡ b5020c4c-d37f-4ad0-9633-ebdef6898afc -rhs_constraint = zeros(size(qprime,1)); - -# ╔═╡ 1c45d205-f8fb-4d1f-8d57-0d6d46ce622f -lhs_constraint = zeros(size(qprime,1),size(qprime,1)); - -# ╔═╡ fd53a8a1-c782-4f31-bf8a-1403de56b64d -for i=1:h11+4 - for j=1:h11+4 - if i>j - lhs_constraint[i,j] = log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(τ, qprime[i,:] .+ qprime[j,:])) - end - end - rhs_constraint[i] = log.(abs.(dot(qprime[i,:],τ))) .+ (-2π * dot(τ, qprime[i,:])) -end - -# ╔═╡ 4993e5d8-48f1-4b4e-878c-9576e7bfc85c -lhs_constraint - -# ╔═╡ 5abd2caa-8d2d-4c8b-b064-a0426447b392 -LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) - -# ╔═╡ 07f43035-2e72-47b1-baef-7258c65a13c8 -constraint = LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) - -# ╔═╡ 64f3ac82-0f2b-4092-b904-b750ec16a309 -[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4] - -# ╔═╡ 6f614ec4-c03f-4d65-bd3b-153a31c23da4 -[rhs_constraint[i] for i in [i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ 622570d7-a3fa-4bd0-8d1d-5762490e8ad0 -lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], [i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ 6c5a1870-3657-4978-995f-578fe9d0602c -lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], :] - -# ╔═╡ cd6bbbd5-321f-4868-b0e7-71b96965bef7 -constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4],[i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] - -# ╔═╡ 6f9c2ba1-6536-44d2-938e-7adf68b93bc5 - - -# ╔═╡ a1dfa08c-1056-4e15-a040-4de1276f400c -mod10(x) = (mod(x / 2π, 1) ≈ 1 || mod(x / 2π, 1) ≈ 0 ? 0 : x) - -# ╔═╡ ecfc017c-5eca-41b2-ba3e-71d6dbe68403 -function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64 = 1e-2) - setprecision(ArbFloat,digits=5_000) - LQtildebar = LQtildebar(L, Q; threshold=threshold) - Ltilde = LQtildebar["Ltilde"][:,sortperm(LQtildebar["Ltilde"][2,:], rev=true)] - Qtilde = LQtildebar["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] - Qtilde = Matrix{Int}(Qtilde') - basis_vectors = zeros(size(Qtilde,1), size(Qtilde,1)) - idx = 1 - while idx ≤ size(Qtilde,2) - Qsub = Qtilde[:,idx] - Lsub = Ltilde[:,idx] - while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[:,idx+1], Qtilde[:,idx]) != 0 - Lsub = hcat(Lsub, Ltilde[:, idx+1]) - Qsub = hcat(Qsub, Qtilde[:, idx+1]) - idx += 1 - end - if size(Qsub,2) == 1 - basis_vectors[idx,:] = Qsub - idx += 1 - else - Lsubdiff = Lsub[2,:] .- Lsub[2,1] - Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; - Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] - Qsub = Qsub[:,Qsubmask] - for run_number = 1:10_000 - x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) - res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer - res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] - end - xmin = hcat(res["xmin"]...) - for i in eachcol(xmin) - i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) - end - xmin = xmin[:, [sum(i)!=0 for i in eachcol(xmin)]] - xmin = xmin[:,sortperm([sqrt(sum(abs2,i)) for i in eachcol(xmin)])] - lattice_vecs = lattice_minimize(xmin) ##need to write lattice minimizer - basis_vectors[idx-size(lattice_vecs,2):idx, :] = lattice_vecs - end - proj = project_out(Qtilde[i,:]) - #this is the scipy.linalg.orth function written out - u, s, vh = svd(proj,full=true) - M, N = size(u,1), size(vh,2) - rcond = eps() * max(M, N) - tol = maximum(s) * rcond - num = Int.(round(sum(s[s .> tol]))) - T = u[:, 1:num] - Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) - LinearAlgebra.mul!(Qtilde_i, Qtilde, T) - Qtilde = copy(Qtilde_i) - end - return basis_vectors -end - -# ╔═╡ dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 -size(log.(abs.([(pi*dot(qprime[i,:],(Kinv * qprime[j,:]))) for i=1:h11+4,j=1:h11+4 if i=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) - hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) - hess_sign = sign((minimum(eigen(hess(xmin)).values))) - sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] - return Dict(zip(keys,vals)) - GC.gc() - # end -end - -# ╔═╡ 316f3ae8-0110-4514-b132-38ddaa56b1ef -md""" -The smallest gradient element after a scan of 100 random points in the potential is -≈ 1e$(Float64(log10(minimum(gradσ[gradσ .> 0])))) -""" - -# ╔═╡ 42445c21-0608-4330-b04d-0ee49f592318 -Lfull = ArbFloat.(LQtilde["Leff"][1,:]) .* ArbFloat(10.) .^ ArbFloat.(LQtilde["Leff"][2,:]); - -# ╔═╡ 4fb9299e-564a-467c-8b15-9ebd1438b135 -md""" -The size of ``\mathcal{Q}_\mathrm{eff}`` is $(size(LQtilde["Qeff"]')) reduced from $(size(pot_data["Q"])) -""" - -# ╔═╡ 2eb2a848-14f3-4b10-a93f-d845b8d4daab -Markdown.parse(""" -The axions that contribute to the _effective_ or _reduced_ potential are ``\\tilde{\\theta}_i`` for i ∈ $((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) -""") - -# ╔═╡ 5bae78d1-8cf6-415c-8608-cc187a80759c -begin - Markdown.parse(""" - The instantons that generate the _effective_ or _reduced_ potential are ``\\tilde{\\Lambda}_a`` for a ∈ $(collect(1:size(LQtilde["Qtilde"],2))[LQtilde["Qcolmask"]]) - """) -end - -# ╔═╡ 89873528-0803-4a26-8cae-f560e8e3090f -begin - min_data = [] - @progress for i=1:500 - x0 = ArbFloat.(rand(Uniform(0,2π),size(LQtilde["Qeff"],1))) .* rand(ArbFloat,size(LQtilde["Qeff"],1)) - global prec = Int(round(abs(minimum(LQtilde["Leff"][2,:]))))+10 - min_data_temp = CYAxiverse.minimizer.minimize(h11,tri,cy,Lfull ./ maximum(Lfull),Matrix{ArbFloat}(LQtilde["Qeff"]'),x0,gradσ,algo_hz, prec < 1_000 ? prec : 1_000) - if min_data_temp["Hsign"] > 0 - push!(min_data,min_data_temp) - end - if size(min_data,1) == 200 - break - end - global num_limit = i - end - md""" - **There are $(size(min_data,1)) minima found from $(num_limit) numerical searches to $(min(1_000,prec)) significant figures** - """ -end - -# ╔═╡ a7d02d1c-01de-4b37-908d-0683cd7117a0 -[LQtilde["Leff"][2,:][Vector{Bool}(abs.(LQtilde["Qeff"][i,:]))] for i=1:size(LQtilde["Qeff"],1)] - -# ╔═╡ e96e7f3f-802f-421c-a4e4-f60aa18f646d -size(LQtilde["Qtilde"][:,1][LQtilde["Qtilde"][:,1] .== 0]) - -# ╔═╡ 6030dcb9-16c9-42f9-a214-286784de3100 -LQtilde["Qtilde"][:,9] - -# ╔═╡ 8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e -[i for (i,item) = enumerate(eachcol(LQtilde["Qtilde"])) if size(item[item .== 0],1) != h11-1] - -# ╔═╡ c703a028-4686-4f6e-a3b5-75cc71f1b434 -size(LQtilde["Qrowmask"]), size(LQtilde["Qcolmask"]) - -# ╔═╡ 41e2169d-65ff-44cb-9828-68e1c4a530d2 -function potential(L,Q,x) - V = dot(L,(ArbFloat(1.) .- cos.(Q' * x))) -end; - -# ╔═╡ 70b9770a-57c3-4ad4-90b8-f4efabc04ed0 -function grad_potential(L, Q, x::Number) - ∂V = dot(L, Q' .* sin.(Q' * x)) -end - -# ╔═╡ 9775a872-8a9a-4286-8ae7-c34c6560ed39 -function grad_potential(L, Q, x::Vector) - Q1 = Q[1, :]' - Q2 = Q[2, :]' - θ1 = x[1] - θ2 = x[2] - ∂V1 = dot(L, Q1 .* sin.(Q1 * θ1)) - ∂V2 = dot(L, Q2 .* sin.(Q2 * θ2)) - [∂V1, ∂V2] -end - -# ╔═╡ e1e6d095-f11a-40b7-8dc4-51952c4bdb30 -LQtilde["Qrowmask"] - -# ╔═╡ 7801297e-c52e-48e0-92d6-d58839afe7e3 -begin - xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i in eachindex(min_data)]; - xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i=1:size(LQtilde["Qtilde"],1)] for _ in xtest] - for i in eachindex(xtest) - for (j,k) in enumerate((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) - xmin_test[i][k] = xtest[i][j] - end - xtest[i] = inv(LQtilde["Qtilde"][:,1:size(LQtilde["Qtilde"],1)]') * xmin_test[i] ##Should this be Qtilde' or not in my code?! - end -end - -# ╔═╡ fd81eff2-d87b-4a5c-945d-8b9096ee5737 -xmin_test[1] - -# ╔═╡ 2fbee316-ca49-46c5-9afe-c1fe561ea948 -Ltest = ArbFloat.(LQtilde["Ltilde"][1,:] .* 10. .^ LQtilde["Ltilde"][2,:]); - -# ╔═╡ a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 -Qtest = ArbFloat.(Matrix{Float64}(LQtilde["Qtilde"])); - -# ╔═╡ 910dc6ba-9ad0-4f19-addb-81d882d6322c -xs = range(-0.5π,2.5π,length=300); - -# ╔═╡ a45e6c9d-b616-48c9-a7c2-0afe9d835516 -ys = xs; - -# ╔═╡ ebff481b-fcc3-4644-b766-c810c5131892 -md""" -Show 1D or 2D plot? -""" - -# ╔═╡ 27e7776b-1443-4cf0-b5d4-3985d89b85b5 -@bind plot_dims confirm(PlutoUI.Select(["1D","2D"])) - -# ╔═╡ 2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 -LQtilde["Qeff"] - -# ╔═╡ 3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a -LQtilde["Ltilde"] - -# ╔═╡ 4e6bbc87-bc60-47c2-960e-1084afed680f -hcat(xtest...) - -# ╔═╡ ee2060d2-00da-4ede-998e-23bd7805efc9 -[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)] - -# ╔═╡ 732bc5bb-419b-4361-a331-b563d15f1db1 -LQtilde["Qtilde"][:,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] * LQtilde["Ltilde"][2,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] - -# ╔═╡ c8507013-7fe1-4558-8992-53ecb650fe4d -md""" -Set which axion direction(s) to plot: -""" - -# ╔═╡ 4d96cbc5-f27c-4cf8-aac9-f73988761a09 -if plot_dims == "1D" - @bind axion confirm(PlutoUI.Select((1:size(LQtilde["Qtilde"],1)))) - # [hcat(xtest...)[:,1] .!= 0. .&& abs.(hcat(xtest...)[:,1]) .!= Float64(π),:][:,1])) -else - @bind axion confirm(PlutoUI.Select([[i,j] for i in (1:size(LQtilde["Qtilde"],1)), j in (1:size(LQtilde["Qtilde"],1)) if i notonemin_list[1,:] .- 10] - ╠═╡ =# - -# ╔═╡ 766cffea-b562-4997-9b2a-f05a27c59c2e -# ╠═╡ disabled = true -#=╠═╡ -@time test_mass = CYAxiverse.generate.pq_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]) - ╠═╡ =# - -# ╔═╡ 9d2af162-ce30-475b-921b-766e34692fc4 -# ╠═╡ disabled = true -#=╠═╡ -@time test_spec = CYAxiverse.generate.hp_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]; prec=5_000) - ╠═╡ =# - -# ╔═╡ 962576a8-fef2-48c4-b7fa-48ff5424298c -# ╠═╡ disabled = true -#=╠═╡ -test_spec["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] - ╠═╡ =# - -# ╔═╡ c7eeaa51-71b9-4b40-85cc-02063c64b8ce -# ╠═╡ disabled = true -#=╠═╡ -test_mass["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] - ╠═╡ =# - -# ╔═╡ 5f8113f3-59c3-42d4-8544-a61838381407 -# ╠═╡ disabled = true -#=╠═╡ -for t=4:100 - n = lpad(t,3,"0") - h5open("/scratch/users/mehta2/vacua_0822/h11_$n/np_0000001/cy_0000001/cyax.h5","r") do file - if haskey(file, "cytools/geometric/h21") - println("Gone too far") - else - [[string("$i/",keys(file[i]),"/",keys(file[i][j])) for j in keys(file[i])] for i in keys(file)] - end - end -end - ╠═╡ =# - -# ╔═╡ 4dea5c0f-fb4e-4510-9aab-902658407641 -# ╠═╡ disabled = true -#=╠═╡ -CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=0.5) - ╠═╡ =# - -# ╔═╡ Cell order: -# ╟─fee399f9-2668-41e0-a296-37b348a04769 -# ╟─90f44877-6310-49b1-9331-f8601918e4b3 -# ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 -# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 -# ╠═7fb60b52-1158-4bcb-b5e0-1e3ebd1ad52b -# ╠═d1f78454-3ba0-4569-a491-f52e737c7dc3 -# ╠═3788df6d-c756-4b6a-8d75-8cd018ab2991 -# ╠═9071d014-a286-4f6f-bafc-648c1954d3d7 -# ╠═25e1eb34-0e4b-4bf2-ac1b-228545bb82a8 -# ╟─4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 -# ╠═e1fdc533-efc0-4012-8464-3db601f66819 -# ╠═8699f77c-4a59-4194-9f08-f878b65b93ba -# ╠═281b0be2-86fd-4201-871a-7e362b5872d7 -# ╟─871778ce-735d-49ed-b6f5-ab68f127ad32 -# ╟─0b13b99a-9c7d-4117-90ba-e74baf49054d -# ╠═df395e06-f130-4dd2-a95e-799a1d6b7d1f -# ╠═f939d71c-86ce-4e12-9e18-b112743a130e -# ╠═0df48817-9fdf-4032-8419-49fd940c89e8 -# ╠═4cfe15ea-1a7f-4af3-9602-6eac3732232a -# ╠═0b261480-4109-41f9-ac4e-52d040b20efe -# ╠═33fc2f88-c402-4394-83c9-10df2e7a6d96 -# ╠═6c6bd3c6-4019-426c-9188-e63debe0fe8b -# ╠═b5020c4c-d37f-4ad0-9633-ebdef6898afc -# ╠═1c45d205-f8fb-4d1f-8d57-0d6d46ce622f -# ╠═fd53a8a1-c782-4f31-bf8a-1403de56b64d -# ╠═4993e5d8-48f1-4b4e-878c-9576e7bfc85c -# ╠═5abd2caa-8d2d-4c8b-b064-a0426447b392 -# ╠═07f43035-2e72-47b1-baef-7258c65a13c8 -# ╠═64f3ac82-0f2b-4092-b904-b750ec16a309 -# ╠═6f614ec4-c03f-4d65-bd3b-153a31c23da4 -# ╠═622570d7-a3fa-4bd0-8d1d-5762490e8ad0 -# ╠═6c5a1870-3657-4978-995f-578fe9d0602c -# ╠═cd6bbbd5-321f-4868-b0e7-71b96965bef7 -# ╠═77dd1f33-15b4-4885-9152-34427bcd7c4f -# ╠═999ffbe3-a67e-4d6a-86ed-30687afb2da5 -# ╠═eb2b9729-af3c-412e-8133-e07fbcdaee49 -# ╠═757b5ac0-5148-4980-ac09-d6e5e2930399 -# ╠═6f9c2ba1-6536-44d2-938e-7adf68b93bc5 -# ╠═b9733f0f-4869-4af5-9d65-2bb092e0bf54 -# ╠═14945e1d-39c5-4975-ae0d-67d057f024d0 -# ╠═2fb703ac-e71a-4574-9aa6-eadef19ba8e6 -# ╠═a1dfa08c-1056-4e15-a040-4de1276f400c -# ╠═6307dc3a-8905-4773-b7fd-2daf60ed40f9 -# ╠═676080a2-e02b-4632-89a1-e906d282051e -# ╠═18eac169-749c-488d-8335-29f74e53975d -# ╠═5b362ce3-614e-4b98-b4e7-cfdf5e3a1043 -# ╠═ecfc017c-5eca-41b2-ba3e-71d6dbe68403 -# ╠═363b43f0-33b8-466a-bcdf-fccfede32f98 -# ╠═dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 -# ╠═ac863bc3-5386-4422-93cc-8dc7db09bb03 -# ╠═d6dfc108-d25a-4a7c-838d-ac5e7da43c49 -# ╠═7ecff719-84c4-474e-a4cb-a3d38fe04e16 -# ╠═51c5832f-afdd-4d76-8f4a-6b26fdc3e85e -# ╟─1facdec9-789b-48c5-98e2-f522f8b75f0f -# ╟─8cd946f8-5909-4ed9-a5e7-1d11efded856 -# ╟─0c0b9219-f2e1-4333-b775-10a98d1fd798 -# ╟─b0f33ae9-6056-4e0d-b79f-b7d880fd6016 -# ╟─5035d43e-24fb-40b3-b928-0e544e6d62cd -# ╟─bbc6437d-1010-49cc-ae82-0a247c8e0eec -# ╠═5ede58ca-dec2-4419-837b-7307f28a2005 -# ╟─316f3ae8-0110-4514-b132-38ddaa56b1ef -# ╠═42445c21-0608-4330-b04d-0ee49f592318 -# ╟─4fb9299e-564a-467c-8b15-9ebd1438b135 -# ╟─2eb2a848-14f3-4b10-a93f-d845b8d4daab -# ╟─5bae78d1-8cf6-415c-8608-cc187a80759c -# ╠═89873528-0803-4a26-8cae-f560e8e3090f -# ╠═a7d02d1c-01de-4b37-908d-0683cd7117a0 -# ╠═e96e7f3f-802f-421c-a4e4-f60aa18f646d -# ╠═6030dcb9-16c9-42f9-a214-286784de3100 -# ╠═8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e -# ╠═c703a028-4686-4f6e-a3b5-75cc71f1b434 -# ╠═41e2169d-65ff-44cb-9828-68e1c4a530d2 -# ╠═70b9770a-57c3-4ad4-90b8-f4efabc04ed0 -# ╠═9775a872-8a9a-4286-8ae7-c34c6560ed39 -# ╠═e1e6d095-f11a-40b7-8dc4-51952c4bdb30 -# ╠═7801297e-c52e-48e0-92d6-d58839afe7e3 -# ╠═fd81eff2-d87b-4a5c-945d-8b9096ee5737 -# ╠═2fbee316-ca49-46c5-9afe-c1fe561ea948 -# ╠═a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 -# ╠═910dc6ba-9ad0-4f19-addb-81d882d6322c -# ╠═a45e6c9d-b616-48c9-a7c2-0afe9d835516 -# ╟─ebff481b-fcc3-4644-b766-c810c5131892 -# ╠═27e7776b-1443-4cf0-b5d4-3985d89b85b5 -# ╠═2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 -# ╠═3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a -# ╠═4e6bbc87-bc60-47c2-960e-1084afed680f -# ╠═ee2060d2-00da-4ede-998e-23bd7805efc9 -# ╠═732bc5bb-419b-4361-a331-b563d15f1db1 -# ╠═c8507013-7fe1-4558-8992-53ecb650fe4d -# ╠═4d96cbc5-f27c-4cf8-aac9-f73988761a09 -# ╠═b54d02e9-634d-4451-a942-fc0a57c935d3 -# ╠═5437ccfc-224f-4744-b08a-994460f7f2bb -# ╠═a422be5b-4031-4f34-b0db-a1c380d61351 -# ╠═1c32e0b9-1243-44d1-9a4f-54d966abbee9 -# ╠═16c15a91-7f4d-4d13-8a9f-2c155cf31037 -# ╠═c1b94e33-c604-42b9-a103-a551fb1ca93a -# ╠═2b382a1a-fd60-4ecd-b550-c396d7496d0f -# ╟─8e30171e-0146-450e-b31d-26a18adb2fe3 -# ╠═3b5c385d-fd90-4b49-8155-0d28582a1384 -# ╠═f11dfbf2-7d3a-4d90-b6f9-3fbf8cc6f764 -# ╠═bcc4d307-8aa5-497b-af76-ad000fd62b72 -# ╠═d2ec3683-4e96-41cd-8e6b-51f45c31df89 -# ╠═61dae36d-46e2-45db-b6a1-90132febf8a6 -# ╠═2fe9315e-90d5-4e56-844b-61fde4902091 -# ╠═054dfb58-c816-48d7-bb12-9d43e1715efb -# ╠═766cffea-b562-4997-9b2a-f05a27c59c2e -# ╠═9d2af162-ce30-475b-921b-766e34692fc4 -# ╠═962576a8-fef2-48c4-b7fa-48ff5424298c -# ╠═c7eeaa51-71b9-4b40-85cc-02063c64b8ce -# ╠═5f8113f3-59c3-42d4-8544-a61838381407 -# ╠═4dea5c0f-fb4e-4510-9aab-902658407641 diff --git a/notebooks/optim_testing.qmd b/notebooks/optim_testing.qmd deleted file mode 100644 index eadec4a..0000000 --- a/notebooks/optim_testing.qmd +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Vacua Algorithms" -author: "Viraf M. Mehta" -date: "26/09/2022" -format: - html: - code-fold: true -jupyter: julia-1.7 ---- - -## Parametric Plots - -Plot function pair (x(u), y(u)). -See @fig-parametric for an example. - -```{julia} -#| label: fig-parametric -#| fig-cap: "Parametric Plots" - -using Plots - -plot(sin, - x->sin(2x), - 0, - 2π, - leg=false, - fill=(0,:lavender)) -``` \ No newline at end of file diff --git a/scripts/Qeff.jl b/scripts/Qeff.jl deleted file mode 100644 index 0e1edc3..0000000 --- a/scripts/Qeff.jl +++ /dev/null @@ -1,124 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -import MPI -using MPIClusterManagers -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else - error("no workers!") - exit() -end - -@everywhere using CYAxiverse -@everywhere using LinearAlgebra - -@everywhere using HDF5 - -@everywhere function extra_rows(h11, tri, cy, l) - Qshape = CYAxiverse.read.qshape(h11, tri, cy) - if Qshape.issquare == 1 - else - data = CYAxiverse.generate.vacua_estimate(h11, tri, cy; threshold = 1e-2) - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r+") do f - f["extra_rows"] = data.extrarows - end - end -end - -@everywhere function main_Qshape(h11, tri, cy, l) - threshold = 1e-2 - if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) - else - try - CYAxiverse.generate.vacua_estimate_save(h11, tri, cy; threshold=threshold) - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) - end - if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) - rm(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) - end - h5open(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f - f["square", deflate=9] = 0 - f["vacua_estimate", deflate=9] = 0 - end - finally - open(l, "a") do outf - write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) - end - end - end -end - - -function main_sortQ(h11list::Matrix) - Qnon_square = [] - Qsquare = [] - for col in eachcol(h11list) - h11, tri, cy = col - data = CYAxiverse.read.qshape(h11, tri, cy) - square = data["issquare"] - vac = data["vacua_estimate"] - if square == 0 && vac != 0 - push!(Qnon_square, [h11 tri cy vac]) - elseif square == 1 && vac != 0 - push!(Qsquare, [h11 tri cy vac]) - end - end - if isfile(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5")) - rm(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5")) - end - h5open(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5"), "cw") do f - if !isa(Qsquare, Vector{Any}) - f["square",deflate=9] = hcat(Qsquare...) - end - if !isa(Qnon_square, Vector{Any}) - f["non_square",deflate=9] = hcat(Qnon_square...) - end - end -end -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -############################## -#### Initialise functions #### -############################## -@time temp_spec = extra_rows(4,10,1,lfile) -h11list_temp = [4 4 5 7; 10 1 5 7; 1 1 1 1; lfile lfile lfile lfile] -@time begin - temp_vac = pmap(extra_rows, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) -end - -# @time begin -# main_sortQ(h11list_temp[1:3,:]) -# end -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) -### Clear memory ###### -temp_spec = nothing -GC.gc() - -############################## -############ Main ############ -############################## -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "Qeff shapes to compute.\n")) -# h11 = shuffle(h11) -log_files_spec = [lfile for _=1:size(h11list,2)] -@time begin - res = pmap(extra_rows, h11list[1,:], h11list[2,:], h11list[3,:], log_files_spec) -end - -# @time begin -# main_sortQ(h11list) -# end - - -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) - diff --git a/scripts/optimize.jl b/scripts/optimize.jl deleted file mode 100644 index 8eaa1ad..0000000 --- a/scripts/optimize.jl +++ /dev/null @@ -1,98 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -using HDF5, ArbNumerics, Distributions, Optim, LineSearches, Random -using MPIClusterManagers -import MPI -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else - error("no workers!") - exit() -end - -@everywhere using CYAxiverse - -@everywhere function main(h11::Int,tri::Int,cy::Int,l::String,run_num::Int=1) - if run_num == 1 - if isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) - rm(CYAxiverse.filestructure.minfile(h11,tri,cy)) - end - end - prec = 1_000 - pot_data = CYAxiverse.read.potential(h11,tri,cy) - QV::Matrix, LV::Matrix{Float64} = ArbFloat.(pot_data["Q"]), pot_data["L"] - Lfull::Vector{ArbFloat} = ArbFloat.(LV[:,1]) .* ArbFloat(10.) .^ ArbFloat.(LV[:,2]) - gradσ = CYAxiverse.minimizer.grad_std(h11,tri,cy,Lfull,QV) - h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file - if haskey(file, "gradσ") - else - f0 = create_group(file, "gradσ") - f0["log10", deflate=9] = Float64.(log10.(gradσ)) - end - end - vac_data = CYAxiverse.generate.vacua_TB(pot_data["L"],pot_data["Q"]) - x0::Vector = ArbFloat.(rand(Uniform(0,2π),h11)) .* rand(ArbFloat,h11)##Do not declare type! Breaks optimizer... - algo_hz = Newton(alphaguess = LineSearches.InitialHagerZhang(α0=1.0), linesearch = LineSearches.HagerZhang()) - algo_LBFGS = LBFGS(linesearch = LineSearches.BackTracking()) - try - res = CYAxiverse.minimizer.minimize_save(h11,tri,cy, Lfull, QV,x0,gradσ,vac_data["θ∥"],vac_data["Qtilde"],algo_LBFGS; prec=prec, run_num=run_num) - open(l, "a") do outf - write(outf,string("min-(",h11,",",tri,",",cy,",",run_num,")\n")) - end - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,",",run_num,")\n")) - end - end -end - -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -############################## -#### Initialise functions #### -############################## -@time temp_vac = main(4,10,1,lfile, 1) -h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile; 1 2 1 1] -@time begin - temp_vac = pmap(main, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:], h11list_temp[5,:]) -end -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) -### Clear memory ###### -temp_vac = nothing -GC.gc() - -############################## -############ Main ############ -############################## -Random.seed!(1234567890) -n=100#sample to minimize -x0i = 50#number of optimizations per geometry -split = round(Int,0.7*n) -geomparams = hcat(vcat(sort(rand(10:40,split)),sort(rand(40:100,n-split))), rand(1:100,n), ones(Int,n),)' -geomparams = geomparams[:,sortperm(geomparams[1,:])] -geomparams = [hcat([geomparams for _=1:x0i]...); vcat([ones(Int,n)*i for i=1:x0i]...)'] -# geomparams = geomparams[:, shuffle(1:end)] -geomparams = geomparams[:, sortperm(geomparams[2,:])] -geomparams = geomparams[:, sortperm(geomparams[1,:])] -ntasks = size(geomparams,2) -size_procs = size(np) -logfiles = [lfile for _=1:ntasks] - -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") - -@time begin - res = pmap(main,geomparams[1,:],geomparams[2,:],geomparams[3,:],logfiles,geomparams[4,:]) -end - -GC.gc() -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) - diff --git a/scripts/spectra.jl b/scripts/spectra.jl deleted file mode 100644 index d545f55..0000000 --- a/scripts/spectra.jl +++ /dev/null @@ -1,65 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -using MPIClusterManagers -import MPI -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else - error("no workers!") - exit() -end - -@everywhere using CYAxiverse - - -@everywhere function main_spec(h11,tri,cy,l) - try - test = CYAxiverse.generate.pq_spectrum_save(h11,tri,cy); - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) - end - finally - open(l, "a") do outf - write(outf,string("spec-(",h11,",",tri,",",cy,")\n")) - end - end -end - -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -############################## -#### Initialise functions #### -############################## -@time temp_spec = main_spec(4,10,1,lfile) -h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile] -@time begin - temp_spec = pmap(main_spec, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) -end -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) -### Clear memory ###### -temp_spec = nothing -GC.gc() - -############################## -############ Main ############ -############################## -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "spectra to compute.\n")) -# h11 = shuffle(h11) -log_files_spec = [lfile for _=1:size(h11list,2)] -@time begin - res = pmap(main_spec,h11list[1,:],h11list[2,:],h11list[3,:],log_files_spec) -end - -GC.gc() -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) - diff --git a/scripts/testing/init.jl b/scripts/testing/init.jl deleted file mode 100644 index 1791579..0000000 --- a/scripts/testing/init.jl +++ /dev/null @@ -1,2 +0,0 @@ -using Pkg -Pkg.instantiate() \ No newline at end of file diff --git a/scripts/testing/pluto.jl b/scripts/testing/pluto.jl deleted file mode 100644 index e997d8b..0000000 --- a/scripts/testing/pluto.jl +++ /dev/null @@ -1,4 +0,0 @@ -using Revise -using Pluto - -Pluto.run(host="0.0.0.0", port=8996, require_secret_for_access=false) \ No newline at end of file diff --git a/scripts/testing/pluto_docker.jl b/scripts/testing/pluto_docker.jl deleted file mode 100644 index f1ecaa9..0000000 --- a/scripts/testing/pluto_docker.jl +++ /dev/null @@ -1,6 +0,0 @@ -using Pkg -Pkg.instantiate() -using Revise -using Pluto -# cd("/scratch/users/mehta2/vacua_db") -Pluto.run(host="0.0.0.0", port=8996, require_secret_for_access=false) \ No newline at end of file diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl deleted file mode 100644 index ba8f2c2..0000000 --- a/scripts/top_geom.jl +++ /dev/null @@ -1,156 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -# using MPIClusterManagers -# import MPI -# # MPI.initialize() -# manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# # addprocs(manager) -# np = workers() -# println(np) -# if np!=0 -# else -# error("no workers!") -# exit() -# end - -try - np = parse(Int32,ENV["SLURM_NPROCS"]) - addprocs(np, exeflags="--project=$(Base.active_project())") -catch e - error("no workers!") - exit() -end -split = nothing -if haskey(ENV, "SLURM_ARRAY_TASK_ID") - split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) -end -# @everywhere newARGS = string("vacua_new") - -@everywhere using CYAxiverse -@everywhere using Random - -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -@everywhere function main_top(h11,n,l) - try - test = CYAxiverse.cytools_wrapper.cy_from_poly(h11); - return test - catch - try - test = CYAxiverse.cytools_wrapper.topologies(h11,n); - return test - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) - end - return [0,0,0,0] - finally - open(l, "a") do outf - write(outf,string("top-(",h11,")\n")) - end - end - end - -end - -@everywhere function main_geom(h11,cy,tri,cy_i,l) - try - test = CYAxiverse.cytools_wrapper.geometries(h11,cy,tri,cy_i); - return test - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy_i,")\n")) - end - return [0,0,0] - finally - open(l, "a") do outf - write(outf,string("geom-(",h11,",",tri,",",cy_i,")\n")) - end - end - -end - - - - -############################## -#### Initialise functions #### -############################## -@time temp_top = main_top(4,10,lfile) -# temp_top = hcat(temp_top...) -# println(size(temp_top)) -# println(temp_top) - -@time temp_geom = pmap(main_geom,temp_top[1,:],temp_top[2,:],temp_top[3,:],temp_top[4,:], [lfile for _=1:size(temp_top,2)]) -temp_geom = hcat(temp_geom...) -# println(size(temp_geom)) -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(temp_geom), "test runs have finished.\n")) -### Clear memory ###### -temp_top = nothing -temp_geom = nothing -GC.gc() - -############################## -############ Main ############ -############################## -h11_init = 4 -np = nworkers() -h11_end = 500 -h11 = collect(h11_init:h11_init+h11_end) -max_split = 0 -if haskey(ENV, "MAX_JOB") - max_split = parse(Int32, ENV["MAX_JOB"]) -end - -function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) - log_files_top = [] - n = [] - if split === nothing - log_files_top = [lfile for _ in h11] - n = [ngeometries for _ in h11] - else - if split == max_split - h11 = [462, 491] - n = [ngeometries * 1_000 for _ in h11] - log_files_top = [lfile for _ in h11] - - else - Random.seed!(9876543210) - h11 = shuffle(h11) - tasks = length(h11) ÷ max_split - h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) - n = [ngeometries * 1_000 for _ in h11] - log_files_top = [lfile for _ in h11] - end - end - (h11 = h11, log_files = log_files_top, ngeometries = n) -end - -run_vars = h11list_generate(h11, lfile; ngeometries=10, split=split, max_split = max_split) - -h11 = run_vars.h11 -n = run_vars.ngeometries -log_files_top = run_vars.log_files - -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11), "topologies to run.\n")) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("These are ", h11, "\n")) -@time begin - h11cylist = pmap(main_top,h11,n,log_files_top) -end - -h11cylist = hcat(h11cylist...)[:, hcat(h11cylist...)[1,:] .!= 0] -# h11cylist = h11cylist[:, shuffle(1:end)] - -GC.gc() - -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11cylist), "geometries to run.\n")) - -ntasks_cy = size(h11cylist,2) -log_files_geom = [lfile for _=1:ntasks_cy] -@time begin - h11list = pmap(main_geom, h11cylist[1,:],h11cylist[2,:], h11cylist[3,:],h11cylist[4,:],log_files_geom) -end \ No newline at end of file diff --git a/scripts/vacua.jl b/scripts/vacua.jl deleted file mode 100644 index 1c5e75b..0000000 --- a/scripts/vacua.jl +++ /dev/null @@ -1,67 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -using HDF5 -using MPIClusterManagers -import MPI -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else - error("no workers!") - exit() -end - -@everywhere using CYAxiverse - - -@everywhere function main_vac(h11,tri,cy,l) - try - test = CYAxiverse.generate.vacua_save_TB(h11,tri,cy); - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) - end - finally - open(l, "a") do outf - write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) - end - end - GC.gc() -end - -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -############################## -#### Initialise functions #### -############################## -@time temp_vac = main_vac(4,10,1,lfile) -h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile] -@time begin - temp_vac = pmap(main_vac, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) -end -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) -### Clear memory ###### -temp_vac = nothing -GC.gc() - -############################## -############ Main ############ -############################## -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "systems to compute vacua in.\n")) -# h11 = shuffle(h11) -log_files_vac = [lfile for _=1:size(h11list,2)] -@time begin - res = pmap(main_vac,h11list[1,:],h11list[2,:],h11list[3,:],log_files_vac) -end - -GC.gc() -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) - diff --git a/src/.vscode/launch.json b/src/.vscode/launch.json deleted file mode 100644 index c043748..0000000 --- a/src/.vscode/launch.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "julia", - "request": "launch", - "name": "Run active Julia file", - "program": "${file}", - "stopOnEntry": false, - "cwd": "${workspaceFolder}", - "juliaEnv": "${command:activeJuliaEnvironment}" - } - ] -} \ No newline at end of file diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json deleted file mode 100644 index 96656a2..0000000 --- a/src/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "julia.executablePath": "/home/scratch/bin/julia" -} \ No newline at end of file diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl deleted file mode 100644 index 8305fc3..0000000 --- a/src/CYAxiverse.jl +++ /dev/null @@ -1,36 +0,0 @@ -""" - CYAxiverse -A Julia package for computing axion/ALP spectra and statistics using geometric data generated by [CYTools](https://cytools.liammcallistergroup.com/). - -""" -module CYAxiverse - -if haskey(ENV,"newARGS") -else - println("Please specify where to read/write data, currently using pwd!") -end -include("structs.jl") - -include("filestructure.jl") -include("read.jl") -include("minimizer.jl") -include("generate.jl") -include("plotting.jl") - -include("../add_functions/profiling.jl") -if haskey(ENV, "PYTHON") - if occursin("cytools/cytools-venv//bin/python3",ENV["PYTHON"]) - include("../add_functions/cytools_wrapper.jl") - end - -else - println("This installation does not include CYTools!") -end - -if haskey(ENV, "SLURM_JOB_ID") - include("slurm.jl") -else - println("This installation does not include SLURM!") -end - -end diff --git a/src/filestructure.jl b/src/filestructure.jl deleted file mode 100644 index 72d5b77..0000000 --- a/src/filestructure.jl +++ /dev/null @@ -1,421 +0,0 @@ -""" - CYAxiverse.filestructure -This module sets up the structure of the database, identifying where to locate data / plot files etc - -""" -module filestructure -using ..structs: GeometryIndex -####################### -### Test functions #### -######################## -using HDF5 -using Dates - -############################### -### Initialising functions #### -############################### -""" - localARGS() -Load key for data dir -- key should be in ol_DB -""" -function localARGS() - if haskey(ENV,"newARGS") - newARGS = ENV["newARGS"] - else - ARGS - end -end -""" - ol_DB(args) - -Define dict of directories for data read/write -""" -function ol_DB(args) - ol_db::Dict{String,String} = Dict( - "KU_Fair" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_KU_Fair_Large/", - "inKC" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_Scaled/", - "home_Large" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse/", - "KU1" => "/scratch/Axiverse_Learning/KU1/", - "KV1" => "/scratch/Axiverse_Learning/KV1/", - "KV25" => "/scratch/Axiverse_Learning/KV25/", - "vacua_test" => "/scratch/users/mehta2/vacua_testing/", - "vacua_stretchtest" => "/scratch/users/mehta2/vacua_stretchtesting/", - "vacua_new" => "/scratch/users/mehta2/vacua_db/", - "vacua_0822" => "/scratch/users/mehta2/vacua_0822/", - "vacua_stretch" => "/scratch/users/mehta2/vacua_stretch/", - "docker" => "/database/", - "pwd" => string(pwd(), "/") - ) - try - ol_db[string(args)] - catch y - ol_db["pwd"] - end -end - -############################ -### Directory functions #### -############################ -""" - present_dir() - -Returns the present data directory using localARGS -""" -function present_dir() - pwd = ol_DB(localARGS()) - return pwd -end -""" - plots_dir() - -Creates/reads a directory for plots -""" -function plots_dir() - pwd = string(ol_DB(localARGS()),"plots") - if isdir(pwd) - else - mkpath(pwd) - end - return pwd -end -""" - log_dir() -Creates/reads log directory -""" -function log_dir() - if isdir(joinpath(present_dir(),"logs")) - else - mkdir(joinpath(present_dir(),"logs")) - end - return joinpath(present_dir(),"logs") -end - -""" - data_dir() -Creates/reads data directory -""" -function data_dir() - if isdir(joinpath(present_dir(),"data")) - else - mkdir(joinpath(present_dir(),"data")) - end - return joinpath(present_dir(),"data") -end -""" - logfile() -Returns path of logfile in format data_dir()/logs/YYYY:MM:DD:T00:00:00.000log.out -""" -function logfile() - log = string(Dates.DateTime(Dates.now()),"log.out") - return joinpath(log_dir(), log) -end - -""" - logcreate(l) -Creates logfile -""" -function logcreate(l::String) - open(l, "w") do outf - write(outf,string(Dates.DateTime(Dates.now()),"\n")) - end -end - -""" - np_path_generate(h11) -Walks through `data_dir()` and returns list of data paths and matrix of `[h11; tri; cy]` -- at specific h11. -Saves in h5 file `paths_cy.h5` -""" -function np_path_generate(h11::Int; geometric_data::Bool = false) - np_paths = Vector{UInt8}[] - h11zero = lpad(h11,3,"0") - np_pathinds = Vector{Int}[] - for i in first(walkdir(present_dir()))[2] - if occursin("h11_$h11zero", i) - for j in first(walkdir(joinpath(present_dir(),i)))[2] - if occursin(r"np_*", j) - for k in first(walkdir(joinpath(present_dir(),i,j)))[2] - if occursin(r"cy_*", k) - if isfile(joinpath(present_dir(), i, j, k, "cyax.h5")) - h11, tri, cy = parse(Int,SubString(i,5,7)),parse(Int,SubString(j,4,10)),parse(Int,SubString(k,4,10)) - if geometric_data - if isgeometry(h11, tri, cy) - push!(np_paths,transcode(UInt8,joinpath(i,j,k))) - push!(np_pathinds,[h11, tri, cy]) - end - else - push!(np_paths,transcode(UInt8,joinpath(i,j,k))) - push!(np_pathinds,[h11, tri, cy]) - end - end - end - end - end - end - end - end - hcat(np_paths...), hcat(np_pathinds...) -end - -""" - np_path_generate() -Walks through `data_dir()` and returns list of data paths and matrix of `[h11; tri; cy]`. -Saves in h5 file `paths_cy.h5` -""" -function np_path_generate(; geometric_data::Bool = false) - np_paths = Vector{UInt8}[] - np_pathinds = Vector{Int}[] - for i in first(walkdir(present_dir()))[2] - if occursin(r"h11_*", i) - for j in first(walkdir(joinpath(present_dir(),i)))[2] - if occursin(r"np_*", j) - for k in first(walkdir(joinpath(present_dir(),i,j)))[2] - if occursin(r"cy_*", k) - if isfile(joinpath(present_dir(),i,j,k,"cyax.h5")) - h11, tri, cy = parse(Int,SubString(i,5,7)), parse(Int,SubString(j,4,10)), parse(Int,SubString(k,4,10)) - if geometric_data - if isgeometry(h11, tri, cy) - push!(np_paths,transcode(UInt8,joinpath(i,j,k))) - push!(np_pathinds,[h11, tri, cy]) - end - else - push!(np_paths,transcode(UInt8,joinpath(i,j,k))) - push!(np_pathinds,[h11, tri, cy]) - end - end - end - end - end - end - end - end - hcat(np_paths...), hcat(np_pathinds...) -end - - -""" - np_path() - -Saves list of data paths and matrix of `[h11; tri; cy]` in h5 file `paths_cy.h5` -""" -function np_path() - np_paths, np_pathinds = np_path_generate() - if isfile(joinpath(data_dir(),"paths.h5")) || isfile(joinpath(data_dir(),"paths_cy.h5")) - else - h5open(joinpath(data_dir(),"paths_cy.h5"), "cw") do f - f["paths",deflate=9] = np_paths - f["pathinds",deflate=9] = np_pathinds - end - end - np_paths, np_pathinds -end -""" - paths_cy() -Loads / generates `paths_cy.h5` which contains the explicit locations and also `[h11; tri; cy]` indices of the geometries already saved. -""" -function paths_cy() - if isfile(joinpath(data_dir(),"paths.h5")) || isfile(joinpath(data_dir(),"paths_cy.h5")) - else - return np_path() - end - if localARGS()==string("in_KC") - paths_cy,pathinds_cy = h5open(joinpath(data_dir(),"paths.h5"), "r") do f - read(f,"paths"),read(f,"pathinds") - end; - else - paths_cy,pathinds_cy = h5open(joinpath(data_dir(),"paths_cy.h5"), "r") do f - read(f,"paths"),read(f,"pathinds") - end; - end - if typeof(paths_cy) == Matrix{UInt8} - paths_cy = [transcode(String, col) for col in eachcol(paths_cy)] - end - return paths_cy,pathinds_cy -end -####################### -### Misc functions #### -####################### -""" - h11lst(min,max) -Loads geometry indices between ``h^{1,1} \\in (\\mathrm{min},\\mathrm{max}]`` -""" -function h11lst(h11min=0,h11max=100) - pathinds_cy = paths_cy()[2] - h11list = @view(pathinds_cy[:,h11min .< @view(pathinds_cy[1,:]).<= h11max]) - return h11list -end - -""" - h11lst(h11list::Vector) - -TBW -""" -function h11lst(h11list::Vector; geometric_data::Bool = false) - file_list = [] - h11_count = [] - for h11 in h11list - h11_file_list = np_path_generate(h11; geometric_data = geometric_data)[2] - push!(file_list, h11_file_list) - push!(h11_count, length(h11_file_list)) - end - file_list, h11_count = hcat(file_list...), hcat(h11_count) - if geometric_data - for col in eachcol(file_list) - if isfile(cyax_file(col...)) - col = zero(col) - end - end - return file_list[:, @view(file_list[1, :]) .!= 0] - end -end - -""" - isgeometry(h11, tri, cy) - -Check if geometric quantities have been computed -""" -function isgeometry(h11, tri, cy) - h5open(cyax_file(h11, tri, cy), "r") do file - if haskey(file, "cytools/geometric/h21") - return true - else - return false - end - end -end - -""" - geom_dir(h11,tri,cy) -Defines file directories for data specified by geometry index. -""" -function geom_dir(h11,tri,cy=1) - if localARGS()!=string("inKC") - if localARGS()==string("home_Large")||localARGS()==string("KV1") - if h11 >= 238 - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) - end - else - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - end - end - else - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) - end - end - else - if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) - else - mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) - end - end -end - - -function geom_dir(geom_idx::GeometryIndex) - h11, tri, cy = geom_idx.h11, geom_idx.tri, geom_idx.cy - geom_dir(h11, tri, cy) -end -################################### -### Geometric Data Files (old) #### -################################### -""" - Kfile(h11,tri,cy) -Loads Kähler metric specified by geometry index. -!!! warning - Deprecated -""" -function Kfile(h11,tri, cy=1) - if localARGS()!=string("inKC") - if localARGS()==string("home_Large")||localARGS()==string("KV1") - if h11 >= 238 - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/K.hdf5") - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/K.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/K.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/K.hdf5") - end -end -""" - Qfile(h11,tri,cy) -Loads instanton charge matrix specified by geometry index. -!!! warning - Deprecated -""" -function Qfile(h11,tri, cy=1) - if localARGS()!=string("inKC") - if localARGS()==string("home_Large")||localARGS()==string("KV1") - if h11 >= 238 - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/Q.hdf5") - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/Q.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/Q.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/Q.hdf5") - end -end -""" - Lfile(h11,tri,cy) -Loads instanton energy scales specified by geometry index. -!!! warning - Deprecated -""" -function Lfile(h11,tri, cy=1) - if localARGS()!=string("inKC") - if localARGS()==string("home_Large")||localARGS()==string("KV1") - if h11 >= 238 - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/L.hdf5") - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/L.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/L.hdf5") - end - else - string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/L.hdf5") - end -end - -################### -### Data Files #### -################### -""" - cyax_file(h11,tri,cy) -Path to data file -- will contain all data that relates to geometry index. -""" -function cyax_file(h11,tri, cy=1) - return string(geom_dir(h11,tri,cy),"/cyax.h5") -end - -function cyax_file(geom_idx::GeometryIndex) - return string(geom_dir(geom_idx),"/cyax.h5") -end -""" - minfile(h11,tri,cy) -Path to file containing minimization data. -""" -function minfile(h11,tri, cy=1) - return string(geom_dir(h11,tri,cy),"/minima.h5") -end - -function minfile(geom_idx::GeometryIndex) - return string(geom_dir(geom_idx),"/minima.h5") -end - - -end \ No newline at end of file diff --git a/src/generate.jl b/src/generate.jl deleted file mode 100644 index 069a390..0000000 --- a/src/generate.jl +++ /dev/null @@ -1,1668 +0,0 @@ -""" - CYAxiverse.generate -This is where most of the functions are defined. - -""" -module generate - -using HDF5 -using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo -using GenericLinearAlgebra -using Distributions -using TimerOutputs - -using ..filestructure: cyax_file, minfile, present_dir, geom_dir -using ..read: potential -using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential - -################# -### Constant #### -################# - -""" - constants() - -Loads constants:\n -- Reduced Planck Mass = 2.435 × 10^18 -- Hubble = 2.13 × 0.7 × 10^-33 -- log2π = log10(2π) -as `Dict{String,ArbFloat}`\n -#Examples -```julia-repl -julia> const_data = CYAxiverse.generate.constants() -Dict{String, ArbNumerics.ArbFloat{128}} with 3 entries: - "MPlanck" => 2435000000000000000.0 - "log2π" => 0.7981798683581150521959557408991 - "Hubble" => 1.490999999999999999287243983194e-33 -``` -""" -function constants() - mplanck_r::ArbFloat = ArbFloat("2.435e18") - hubble::ArbFloat = ArbFloat("2.13")*ArbFloat("0.7")*ArbFloat("1e-33") - log2pi::ArbFloat = ArbFloat(log10(2π)) - return Dict("MPlanck" => mplanck_r, "Hubble" => hubble, "log2π" => log2pi) -end - - -############################### -##### Pseudo-Geometric data ### -############################### - -""" - pseudo_Q(h11,tri,cy=1) - -Randomly generates an instanton charge matrix that takes the same form as those found in the KS Axiverse, namely `I(h11)` with 4 randomly filled rows and the cross-terms, i.e. an h11+4+C(h11+4,2) × h11 integer matrix.\n -#Examples -```julia-repl -julia> CYAxiverse.generate.pseudo_Q(4,10,1) -36×4 Matrix{Int64}: - 1 0 0 0 - 0 1 0 0 - 0 0 1 0 - 0 0 0 1 - 1 4 -3 5 - -5 -4 -2 4 - 4 5 3 -2 - -5 2 -3 -3 - ⋮ - -9 -9 -5 6 - 0 -6 1 7 - 9 3 6 1 -``` -""" -function pseudo_Q(h11::Int,tri::Int,cy::Int=1) - Q = vcat(Matrix{Int}(I(h11)),rand(-5:5,4,h11)) - return vcat(Q,hcat([Q[i,:]-Q[j,:] for i=1:size(Q,1)-1 for j=i+1:size(Q,1)]...)') -end - -""" - pseudo_K(h11,tri,cy=1) - -Randomly generates an h11 × h11 Hermitian matrix with positive definite eigenvalues. \n -#Examples -```julia-repl -julia> K = CYAxiverse.generate.pseudo_K(4,10,1) -4×4 Hermitian{Float64, Matrix{Float64}}: - 2.64578 2.61012 0.91203 2.27339 - 2.61012 3.89684 2.22451 1.93356 - 0.91203 2.22451 2.94717 1.58126 - 2.27339 1.93356 1.58126 4.85208 - -julia> eigen(K).values -4-element Vector{Float64}: - 0.17629073145135896 - 1.8632009739875723 - 2.7425362219513487 - 9.559840749713599 -``` -""" -function pseudo_K(h11::Int,tri::Int,cy::Int=1) - K::Matrix{Float64} = rand(h11,h11) - K = 4* 0.5 * (K+transpose(K)) + 2 .* I(h11) - while minimum(eigen(K).values) < 0. - K = rand(h11,h11) - K = 4* 0.5 * (K+transpose(K)) + 2 .* I(h11) - end - return Hermitian(K) -end - -""" - pseudo_L(h11,tri,cy=1;log=true) - -Randomly generates a h11+4+C(h11+4,2)-length hierarchical list of instanton scales, similar to those found in the KS Axiverse. Option for (sign,log10) or full precision.\n -#Examples -```julia-repl -julia> CYAxiverse.generate.pseudo_L(4,10) -36×2 Matrix{Float64}: - 1.0 0.0 - 1.0 -4.0 - 1.0 -8.0 - 1.0 -12.0 - 1.0 -16.0 - 1.0 -20.0 - 1.0 -24.0 - 1.0 -28.0 - -1.0 -29.4916 - 1.0 -33.8515 - ⋮ - 1.0 -133.665 - -1.0 -138.951 - -julia> CYAxiverse.generate.pseudo_L(4,10,log=false) -36-element Vector{ArbNumerics.ArbFloat}: - 1.0 - 0.0001 - 1.0e-8 - 1.0e-12 - 1.0e-16 - 1.0e-20 - 1.0e-24 - 1.0e-28 - -1.462574279422558833057690597964e-31 - -2.381595397961591074099629406235e-34 - ⋮ - 3.796809523142314798130344022481e-134 - -3.173000613781491329619833894919e-138 -``` -""" -function pseudo_L(h11::Int,tri::Int,cy::Int=1;log::Bool=true) - L1::Matrix{Float64} = [1. 0.] - L2::Matrix{Float64} = vcat([[1. -(4. *(j-1.))] for j=2.:h11+4.]...) - L3::Matrix{Float64} = vcat([[sign(rand(Uniform(-100. *h11,100. *h11))) -(4*(j-1))+log10(abs(rand(Uniform(-100. *h11,100. *h11))))] - for j=h11+5:h11+4+binomial(h11+4,2)]...) - L4::Matrix{Float64} = @.(log10(abs(L3))) - L::Matrix{Float64} = vcat(L1,L2,L3) - L = hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]) - if log == 1 - return L - else - Ltemp::Vector{ArbFloat} = ArbFloat.(L[:,1]) .* ArbFloat(10.) .^ ArbFloat.(L[:,2]) - return Ltemp - end -end - -############################## -#### Computing Spectra ####### -############################## - -""" - gauss_sum(z) - -Computes the addition of 2 numbers in (natural) log-space using the definition [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n -#Examples -```julia-repl -julia> CYAxiverse.generate.gauss_sum(10.) -10.000045398899218 - -julia> CYAxiverse.generate.gauss_sum(1000.) -1000.0 -``` -""" -function gauss_sum(z::Float64) - log2 = log(2) - if abs(z)>600. - return 0.5*z +abs(0.5*z) - else - return log2 + 0.5*z + log(cosh(0.5*z)) - end -end -""" - gauss_diff(z) - -Computes the difference of 2 numbers in (natural) log-space using the definition [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n -#Examples -```julia-repl -julia> CYAxiverse.generate.gauss_diff(10.) -9.99995459903963 - -julia> CYAxiverse.generate.gauss_diff(1000.) -1000.0 -``` -""" -function gauss_diff(z::Float64) - log2 = log(2) - if abs(z)>600. - return 0.5*z +abs(0.5*z) - else - return log2 + 0.5*z + log(abs(sinh(0.5*z))) - end -end - -""" - gauss_log_split(sign, log) - -Algorithm to compute Gaussian logarithms, as detailed [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n -#Examples -```julia-repl -julia> CYAxiverse.generate.gauss_diff(10.) -9.99995459903963 - -julia> CYAxiverse.generate.gauss_diff(1000.) -1000.0 -``` -""" -function gauss_log_split(sb::Vector{Int},logb::Vector{Float64}) - # loga = log(|A|); logb = log(|B|); sa = sign(A); sb = sign(B) - temp = hcat(sb,logb) - temp = temp[sortperm(temp[:,2]),:] - sb::Vector{Int} = temp[:,1] - logb::Vector{Float64} = temp[:,2] - i = 1 - sa = sb[i] - loga = logb[i] - while i < size(sb,1) -# println(i) -# println([sa,sb[i+1],loga, logb[i+1]]) - if (sa==0 && sb[i+1]==0) ## A == B == 0 - elseif sa==0 ## A==0 --> B - sa = sb[i+1] - loga = logb[i+1] - elseif sb[i+1]==0 ## B==0 --> A - elseif (sa<0 && sb[i+1]>0) ## B-A - if loga|B| - sa = -1 - loga = logb[i+1]+gauss_diff(loga-logb[i+1]) - end - elseif (sa>0 && sb[i+1]<0) ## A-B - if loga>logb[i+1] ## |A|>|B| - sa =1 - loga = loga+gauss_diff(-loga+logb[i+1]) - elseif loga == logb[i+1] - sa = 0 - loga = 0 - else ## |A|<|B| - sa = -1 - loga = loga+gauss_diff(-loga+logb[i+1]) - end - elseif (sa<0 && sb[i+1]<0) ## -A-B - sa = -1 - loga = loga + gauss_sum(-loga+logb[i+1]) - else ## A+B - sa = 1 - loga = loga + gauss_sum(-loga+logb[i+1]) - end - i+=1 - end - return Int(sa), Float64(loga) -end - -function gauss_log(sb,logb) - if size(sb[sb .== 0.],1) == size(sb,1) - return 0,-Inf - elseif size(sb[sb .> 0.],1) == 0 - test = -1 -# elseif size(sb[sb .< 0.],1) == 0 -# test = 1 - else - test = 1 - end - temp = hcat(sb,logb) - signed_mask::Vector{Bool} = temp[:,1] .== test - temp1 = temp[signed_mask,:] - temp1 = temp1[sortperm(temp1[:,2]),:] - sb::Vector{Int} = temp1[:,1] - logb::Vector{Float64} = temp1[:,2] - sa1::Int,loga1::Float64 = gauss_log_split(sb,logb) - if size(temp1,1) != size(temp,1) - signed_mask = Bool.(true .- signed_mask) - temp2 = temp[signed_mask,:] - temp2 = temp2[sortperm(temp2[:,2]),:] - sba::Vector{Int} = temp2[:,1] - logba::Vector{Float64} = temp2[:,2] - sa2::Int,loga2::Float64 = gauss_log_split(sba,logba) - sa3::Vector{Int} = vcat(sa1,sa2) - loga3::Vector{Float64} = vcat(loga1,loga2) - sa::Int,loga = gauss_log_split(sa3,loga3) - return Int(sa),Float64(loga) - else - return Int(sa1), Float64(loga1) - end -end - -function V(x; L, Q) - potential = dot(L, (1. - cos(Q * x))) -end - -""" - hp_spectrum(K,L,Q; prec=5_000) - -Uses potential data generated by CYTools (or randomly generated) to compute axion spectra -- masses, quartic couplings and decay constants -- to high precision.\n -#Examples -```julia-repl -julia> pot_data = CYAxiverse.read.potential(4,10,1) -julia> hp_spec_data = CYAxiverse.generate.hp_spectrum(pot_data["K"], pot_data["L"], pot_data["Q"]) -Dict{String, Any} with 12 entries: - "msign" => [] - "m" => [] - "fK" => [] - "fpert" => [] - "λselfsign" => [] - "λself" => [] - "λ31_i" => [] - "λ31sign" => [] - "λ31" => [] - "λ22_i" => [] - "λ22sign" => [] - "λ22" => [] -``` -""" -function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Q::Matrix{Int}; prec=5_000) - @assert size(Q,1) == size(L,1) && size(Q,2) == size(K,1) - setprecision(ArbFloat; digits=prec) - h11::Int = size(K,1) - Lh::Vector{ArbFloat}, Qtest::Matrix{ArbFloat} = L[:,1] .* ArbFloat(10.) .^L[:,2], ArbFloat.(Q) - #Compute Hessian (in lattice basis) - grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) - hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) -# Lh::Vector{ArbFloat} = zeros(ArbFloat,size(Ltemp,1)) -# @inbounds for i=1:size(Lh,1) -# Lh[i] = Ltemp[i,1] .* Ltemp[i,2] .* 10. .^ Ltemp[i,3] -# end - - grad2_temp1::Matrix{ArbFloat} = zeros(ArbFloat,size(Lh,1),size(hind1,1)) -# xh::Vector{ArbFloat} = x(h11,tri,cy) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - Qtest[c,i] * Qtest[c,j] end) grad=false fastmath=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * Lh[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - Lh = zeros(3) - #Compute QM using generalised eigendecomposition (but keep fK) - Ktest = Hermitian(ArbFloat.(K)) - fK::Vector{Float64} = Float64.(log10.(sqrt.(eigen(Ktest).values))) - Vls::Vector{ArbFloat},Tls::Matrix{ArbFloat} = eigen(hessfull, Ktest) - Hsign::Vector{Int64} = @.(sign(Vls)) - Hvals::Vector{Float64} = @.(log10(sqrt(abs(Vls)))) - QMs::Matrix{ArbFloat} = similar(Qtest) - multH(M,N) = @tullio fastmath=false grad=false R[c,i] := M[c,j] * N[j,i] - QMs = multH(Qtest,Tls) - signQMs::Matrix{Int64} = @.(Int(sign(QMs))) - logQMs::Matrix{Float64} = @.(Float64(log(abs(QMs)))) - - #Clear memory - Vls = zeros(ArbFloat,1) - Tls = zeros(ArbFloat,1,1) - QMs = zeros(ArbFloat,1,1) - Qtest = zeros(ArbFloat,1,1) - hessfull = zeros(ArbFloat,1,1) - grad2_temp1 = zeros(ArbFloat,1,1) - grad2_temp = zeros(ArbFloat,1) - grad2 = zeros(ArbFloat,1,1) - Ktest = zeros(ArbFloat,1,1) -# GC.gc() - - #Generate quartics in logspace - signL::Vector{Int}, logL::Vector{Float64} = L[:,1], L[:,2] - #Compute quartics - qindq31::Vector{Vector{Int64}} = [[x,x,x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x!=y] - qindq22::Vector{Vector{Int64}} = [[x,x,y,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>y] - quart31log1::Matrix{Float64} = zeros(Float64,size(logL,1),size(qindq31,1)) - quart22log1::Matrix{Float64} = zeros(Float64,size(logL,1),size(qindq22,1)) - quartiilog1::Matrix{Float64} = zeros(Float64,size(logL,1),h11) - quart31sign1::Matrix{Float64} = zeros(Int64,size(logL,1),size(qindq31,1)) - quart22sign1::Matrix{Float64} = zeros(Int64,size(logL,1),size(qindq22,1)) - quartiisign1::Matrix{Float64} = zeros(Int64,size(logL,1),h11) - quart31log::Vector{Float64} = zeros(Float64,size(qindq31,1)) - quart22log::Vector{Float64} = zeros(Float64,size(qindq22,1)) - quartdiaglog::Vector{Float64} = zeros(Float64,h11) - quart31sign::Vector{Int} = zeros(Int,size(qindq31,1)) - quart22sign::Vector{Int} = zeros(Int,size(qindq22,1)) - quartdiagsign::Vector{Int} = zeros(Int,h11) - @inbounds for k in eachindex(qindq31) - i,_,_,j = qindq31[k] - quart31sign1[:,k] = signL .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,j] - quart31log1[:,k] = logL .+ (logQMs[:,i] + logQMs[:,i] .+ logQMs[:,i] + logQMs[:,j]) - quart31sign[k],quart31log[k] = gauss_log(quart31sign1[:,k],quart31log1[:,k]) - end - @inbounds for k in eachindex(qindq22) - i,_,_,j = qindq22[k] - quart22sign1[:,k] = signL .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,j] .* signQMs[:,j] - quart22log1[:,k] = logL .+ (logQMs[:,i] + logQMs[:,i] .+ logQMs[:,j] + logQMs[:,j]) - quart22sign[k],quart22log[k] = gauss_log(quart22sign1[:,k],quart22log1[:,k]) - end - @inbounds for k=1:h11 - quartiisign1[:,k] = signL .* signQMs[:,k] .* signQMs[:,k] .* signQMs[:,k] .* signQMs[:,k] - quartiilog1[:,k] = logL .+ (logQMs[:,k] + logQMs[:,k] .+ logQMs[:,k] + logQMs[:,k]) - quartdiagsign[k],quartdiaglog[k] = gauss_log(quartiisign1[:,k],quartiilog1[:,k]) - end - qindqdiag::Vector{Vector{Int64}} = [[x,x,x,x]::Vector{Int64} for x=1:h11] - - fpert::Vector{Float64} = @.(Hvals+log10(constants()["MPlanck"])- (0.5*quartdiaglog*log10(exp(1)))) - - vals = Hsign, Hvals .+ Float64(log10(constants()["MPlanck"])) .+9 .+ Float64(constants()["log2π"]), - fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), fpert .- Float64(constants()["log2π"]), quartdiagsign, quartdiaglog .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq31...) .-1), quart31sign, - quart31log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), quart22sign, - quart22log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq22...) .-1) - - keys = ["msign","m", "fK", "fpert","λselfsign", "λself","λ31_i","λ31sign","λ31", "λ22_i","λ22sign","λ22"] - return Dict(zip(keys,vals)) -# GC.gc() -end - -function hp_spectrum(h11::Int,tri::Int,cy::Int=1; prec=5_000) - pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] - LQtilde = LQtildebar(h11,tri,cy) - Ltilde = Matrix{Float64}(LQtilde["L\tiil̃"]') - Qtilde = Matrix{Int}(LQtilde["Qtilde"]') - spectrum_data = hp_spectrum(K,Ltilde,Qtilde) -end -""" - hp_spectrum_save(h11,tri,cy) - -""" -function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1) - if h11!=0 - pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] - LQtest = hcat(L,Q); - Lfull::Vector{Float64} = LQtest[:,2] - LQsorted = LQtest[sortperm(Lfull, rev=true), :] - Lsorted_test,Qsorted_test = LQsorted[:,1:2], Int.(LQsorted[:,3:end]) - Qtilde = Qsorted_test[1,:] - Ltilde = Lsorted_test[1,:] - for i=2:axes(Qsorted_test,1)[end] - S = MatrixSpace(Nemo.ZZ, size(Qtilde,1), (size(Qtilde,2)+1)) - m = S(hcat(Qtilde, @view(Qsorted_test[i,:]))) - (d,bmat) = Nemo.nullspace(m) - if d == 0 - Qtilde = hcat(Qtilde, @view(Qsorted_test[i,:])) - Ltilde = hcat(Ltilde, @view(Lsorted_test[i,:])) - end - end - spectrum_data = hp_spectrum(K,Ltilde,Qtilde) - h5open(cyax_file(h11,tri,cy), "r+") do file - f2 = create_group(file, "spectrum") - f2a = create_group(f2, "quartdiag") - f2a["log10",deflate=9] = spectrum_data["λself"] - f2a["sign",deflate=9] = spectrum_data["λselfsign"] - f2e = create_group(f2, "decay") - f2e["fpert",deflate=9] = spectrum_data["fpert"] - f2e["fK",deflate=9] = spectrum_data["fK"] - - f2b = create_group(f2, "quart31") - f2b["log10",deflate=9] = spectrum_data["λ31"] - f2b["sign",deflate=9] = spectrum_data["λ31sign"] - f2b["index",deflate=9] = spectrum_data["λ31_i"] - - f2c = create_group(f2, "quart22") - f2c["log10",deflate=9] = spectrum_data["λ22"] - f2c["sign",deflate=9] = spectrum_data["λ22sign"] - f2c["index",deflate=9] = spectrum_data["λ22_i"] - - f2d = create_group(f2, "masses") - f2d["log10",deflate=9] = spectrum_data["m"] - f2d["sign",deflate=9] = spectrum_data["msign"] - end - end - GC.gc() -end -function project_out(v::Vector{Int}) - idd = Matrix{Rational}(I(size(v,1))) - norm2::Int = dot(v,v) - proj = 1 // norm2 * (v * v') - Projector(@.(ifelse(abs(proj) < eps(), zero(proj), proj)), idd - proj) -end - -""" - project_out(v::Vector) - -Takes the direction to be projected out as input and returns a projector of the form - -``\\Pi\\bigl(\\vec{v}\\bigr) = \\mathbb{1}_{h^{1,1}} - \\frac{\\bigl|\\vec{v}\\bigr\\rangle\\bigl\\langle\\vec{v}\\bigr|}{||\\vec{v}||^2}`` -""" -function project_out(v::Vector{Rational{Int64}}) - idd = Matrix{Rational}(I(size(v,1))) - norm2 = dot(v,v) - proj = 1 // norm2 * (v * v') - # TODO: #16 Need to remove floating point errors - Projector(@.(ifelse(abs(proj) < 1e-5, zero(proj), proj)), idd - proj) -end - -function project_out(projector::Matrix, v::Vector{Int}) - norm2 = dot(projector * v, projector * v) - proj = 1. / norm2 * ((projector * v) * (v' * projector)) - projector = projector - proj - @.(ifelse(abs(projector) < 1e-5, zero(projector), projector)) -end - -function project_out(v::Vector{Float64}) - idd = Matrix{Float64}(I(size(v,1))) - norm2 = dot(v,v) - proj = 1. /norm2 * (v * v') - proj = @.(ifelse(abs(proj) < eps(), zero(proj), proj)) - idd_proj = idd - proj - Projector(proj, @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj))) -end - -function project_out(projector::Matrix, v::Vector{Float64}) - norm2 = dot(projector * v, projector * v) - proj = 1. / norm2 * ((projector * v) * (v' * projector)) - proj = @.(ifelse(abs(proj) < eps(), zero(proj), proj)) - idd_proj = projector - proj - @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj)) -end - -""" - project_out(orth_basis::Matrix) - -TBW -""" -function project_out(orth_basis::Matrix) - projector = I(size(orth_basis, 1)) - for i in 1:size(orth_basis, 2) - P = @view(orth_basis[:, i]) * transpose(@view(orth_basis[:, i])) - projector -= P - end - @.(ifelse(abs(projector) < 1e-10, zero(projector), projector)) -end - -""" - orth_basis(vec::Vector) - -Uses the projector defined in [`project_out(v)`](@ref) to construct an orthonormal basis (same method as [scipy.linalg.orth](https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.orth.html)) -""" -function orth_basis(vec::Vector) - proj = project_out(vec) - #this is the scipy.linalg.orth function written out - u, s, vh = svd(proj,full=true) - M, N = size(u,1), size(vh,2) - rcond = eps() * max(M, N) - tol = maximum(s) * rcond - num = Int.(round(sum(s .> tol))) - T = u[:, 1:num] - @.(ifelse(abs(T) < tol, zero(T), T)) -end - -""" - orth_basis(Q) -Takes a set of vectors (columns of `Q`) and constructs an orthonormal basis -""" -function orth_basis(Q::Matrix) - #this is the scipy.linalg.orth function written out - u, s, vh = svd(Q, full=true) - M, N = size(u,1), size(vh,2) - rcond = eps() * max(M, N) - tol = maximum(s) * rcond - num = Int.(round(sum(s .> tol))) - T = u[:, 1:num] - @.(ifelse(abs(T) < tol, zero(T), T)) -end - -""" - pq_spectrum(K,L,Q) -Uses a modified version of the algorithm outlined in the _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) to compute the masses and decay constants. -!!! note - The off-diagonal elements of the quartic self-interaction tensor are not yet included in this computation -""" -function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Q::Matrix{Int}) - # TODO: #17 Include threshold - h11::Int = size(K,1) - fK::Vector{Float64} = log10.(sqrt.(eigen(K).values)) - Kls = cholesky(K).L - - LQtilde = LQtildebar(L, Q) - Ltilde = LQtilde["Ltilde"] - Qtilde = LQtilde["Qtilde"] - QKs::Matrix{Float64} = zeros(Float64,h11,h11) - fapprox::Vector{Float64} = zeros(Float64,h11) - mapprox::Vector{Float64} = zeros(h11) - LinearAlgebra.mul!(QKs, inv(Kls'), Qtilde') - for i=1:h11 - fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) - mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) - T = orth_basis(QKs[i,:]) - println(size(QKs), size(T)) - QKs1 = zeros(size(QKs,1), size(T,2)) - LinearAlgebra.mul!(QKs1,QKs, T) - QKs = copy(QKs1) - end - vals = [mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"]))] - keys = ["m", "fK", "fpert"] - - return Dict(zip(keys,vals)) -end - -function pq_spectrum(h11::Int,tri::Int,cy::Int) - pot_data = potential(h11,tri,cy) - K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] - pq_spectrum(K, L, Q) -end - -function pq_spectrum_save(h11::Int,tri::Int,cy::Int=1) - if h11!=0 - file_open::Bool = 0 - h5open(cyax_file(h11,tri,cy), "r") do file - if haskey(file, "spectrum") - file_open = 1 - return nothing - end - end - if file_open == 0 - pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] - spectrum_data = pq_spectrum(K,L,Q) - h5open(cyax_file(h11,tri,1), "r+") do file - f2 = create_group(file, "spectrum") - f2e = create_group(f2, "decay") - f2e["fpert",deflate=9] = spectrum_data["fpert"] - f2e["fK",deflate=9] = spectrum_data["fK"] - - f2d = create_group(f2, "masses") - f2d["log10",deflate=9] = spectrum_data["m"] - end - end - end -end - -function Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) - m,n = size(x) - mat = Int[x[i,j] for i = 1:m, j = 1:n] - return mat -end -Base.convert(::Type{Matrix}, x::Nemo.fmpz_mat) = convert(Matrix{Int}, x) - - -""" - vacua(L,Q; threshold) - -Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) and a threshold for: - -``\\frac{\\Lambda_a}{|\\Lambda_j|}`` - -_i.e._ is the instanton contribution large enough to affect the minima. - -For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. - -For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential.\n -#Examples -```julia-repl -julia> using CYAxiverse -julia> h11,tri,cy = 10,20,1; -julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); -julia> vacua_data = CYAxiverse.generate.vacua(pot_data["L"],pot_data["Q"]) -Dict{String, Any} with 3 entries: - "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] - "vacua" => 3 - "Qtilde" => [0 0 … 1 0; 0 0 … 0 0; … ; 1 1 … 0 0; 0 0 … 0 0] -``` -""" -function vacua(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) - h11::Int = size(Q,2) - if h11 <= 50 - snf_data = vacua_SNF(Q) - Tparallel::Matrix{Int} = snf_data["T∥"] - θparalleltest::Matrix{Float64} = snf_data["θ∥"] - end - data = LQtildebar(L,Q; threshold=threshold) - Qtilde = data["Qtilde"] - - if h11 <= 50 - vacua = Int(round(abs(det(θparalleltest) / det(inv(Qtilde))))) - thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), thparallel, Qtilde] - return Dict(zip(keys,vals)) - else - vacua = Int(round(abs(1 / det(inv(Qtilde))))) - keys = ["vacua","Qtilde"] - vals = [abs(vacua), Qtilde] - return Dict(zip(keys,vals)) - end -end - -""" - LQtilde(Q, L) - -TBW -""" -function LQtilde(Q, L) - if @isdefined h11 - else - h11 = size(Q, 2) - end - Q = Matrix{Int}(Q[:, sortperm(L[2,:], rev=true)]) - L = L[:, sortperm(L[2,:], rev=true)] - Qbar = zeros(Int, size(Q,1),1) - Qtilde = zeros(Int, size(Q,1),1) - Lbar = zeros(Int, size(L,1),1) - Ltilde = zeros(Int, size(L,1),1) - for idx in axes(Q, 2) - if rank(hcat(Qtilde, Q[:, idx])) > rank(Qtilde) - Qtilde = hcat(Qtilde, Q[:, idx]) - Ltilde = hcat(Ltilde, L[:, idx]) - if rank(Qtilde) == h11 - break - end - else - Qbar = hcat(Qbar, Q[:, idx]) - Lbar = hcat(Lbar, L[:, idx]) - end - end - if size(Qtilde, 2) + size(Qbar, 2) != size(Q, 2) - Qbar = hcat(Qbar[:, 2:end], Q[:, size(Qtilde,2)+size(Qbar,2)-1:end]) - Lbar = hcat(Lbar[:, 2:end], L[:, size(Qtilde,2)+size(Qbar,2):end]) - end - LQLinearlyIndependent(Qtilde[:, 2:end], Qbar, Lbar, Ltilde[:, 2:end]) -end - -function LQtilde(h11::Int, tri::Int, cy::Int) - Q = Matrix{Int}(potential(h11, tri, cy)["Q"]') - L = Matrix{Float64}(potential(h11, tri, cy)["L"]') - LQtilde(Q, L) -end - -function LQtilde(geom_idx::GeometryIndex) - Q = Matrix{Int}(potential(geom_idx).Q') - L = Matrix{Float64}(potential(geom_idx).L') - LQtilde(Q, L) -end - -""" - αmatrix(LQtilde::NamedTuple; threshold::Float64=0.5) - -TBW -""" -function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) - Qhat = Matrix{Rational}(LQ.Qtilde) - Qbar = Matrix{Int}(LQ.Qbar) - Lhat = LQ.Ltilde - Lbar = LQ.Lbar - Ltilde_min::Float64 = minimum(@view(Lhat[2,:])) - Ldiff_limit::Float64 = log10(threshold) - Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) - Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) - Qinv = (inv(Qhat)) - Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) - # Qhat::Matrix{Int} = deepcopy(Qtilde) - # Lhat = deepcopy(Ltilde) - αeff::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) - α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES - for i in axes(α,1) - for j in axes(α,2) - if abs(α[i,j]) > 1e-3 - Ldiff::Float64 = round(Lbar[2,i] - Lhat[2,j], digits=3) - if Ldiff > Ldiff_limit - else - α[i,j] = zero(Rational) - end - else - α[i,j] = zero(Rational) - end - end - if α[i,:] == zeros(size(α,2)) - else - Qhat = hcat(Qhat, @view(Qbar[:,i])) - Lhat = hcat(Lhat, @view(Lbar[:,i])) - αeff = hcat(αeff,@view(α[i,:])) - end - end - CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) -end - -function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) - αmatrix(LQtilde(h11, tri, cy); threshold) -end - -function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) - αmatrix(LQtilde(geom_idx); threshold) -end -""" - LQtildebar(L,Q; threshold) - -Compute the linearly independent leading instantons that generate the axion potential, including any subleading instantons that are within `threshold` of their basis instanton. Also returns `α` which is a vector of zeros if `Qhat` is square, or is a matrix with additional non-zero columns if `Qhat` is not square.\n -#Examples -```julia-repl -julia> h11,tri,cy = 12, 7, 1; -julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); -julia> vacua_data = CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=1e-2) -Dict{String, Matrix}( -"Lbar" => 2×51 Matrix{Float64}: - 1.0 1.0 1.0 -1.0 … 1.0 -1.0 1.0 1.0 - -101.342 -110.839 -156.784 -271.595 -1113.02 -1118.28 -1118.47 -1144.78 - -"Qhat" => 12×13 Matrix{Int64}: - 0 0 0 0 0 0 -1 0 0 0 0 0 1 - 0 -2 0 0 0 0 1 0 0 0 0 0 0 - 0 0 0 0 1 0 -1 2 0 0 0 0 0 - 0 1 0 0 0 0 -1 2 0 1 0 0 0 - 0 1 0 0 0 0 1 -2 0 0 0 0 0 - 0 1 0 0 0 0 -1 0 1 0 0 0 0 - 0 0 0 0 0 0 0 1 0 0 0 1 0 - 0 -1 0 1 0 0 0 1 0 0 0 0 0 - 0 1 0 0 0 1 0 -1 0 0 0 0 0 - 0 1 1 0 0 0 -1 1 0 0 0 0 0 - 1 0 0 0 0 0 -1 1 0 0 0 0 0 - 0 1 0 0 0 0 0 0 0 0 1 0 0 - -"Lhat" => 2×13 Matrix{Float64}: - 1.0 1.0 1.0 1.0 … 1.0 1.0 1.0 1.0 - -31.7319 -77.6752 -87.1719 -249.058 -693.394 -872.027 -1143.42 -1144.78 - -"Qbar" => 12×51 Matrix{Int64}: - 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 1 0 0 0 0 1 - -2 0 -2 0 0 0 2 2 -2 0 0 0 0 -2 0 -1 0 0 0 0 0 - 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 -2 0 0 1 0 - 1 0 1 0 0 0 -1 -1 1 0 0 -1 1 1 0 2 -1 0 0 0 0 - 1 0 1 0 0 0 -1 -1 1 0 0 0 0 1 0 -1 2 0 0 0 0 - 1 0 1 0 0 0 -1 -1 1 0 0 … 0 0 1 0 1 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 - -1 0 -1 1 0 0 2 1 -1 1 0 0 0 -1 0 0 -1 1 0 0 0 - 1 0 1 0 0 1 -1 -1 0 0 0 0 -1 1 0 0 1 0 1 0 0 - 1 1 0 0 0 0 -1 -1 1 -1 -1 0 0 1 1 1 -1 0 0 0 0 - -1 -1 0 -1 -1 -1 0 0 0 0 0 … 0 0 0 0 1 -1 0 0 0 0 - 1 0 1 0 0 0 -1 -1 1 0 0 0 0 0 -1 0 0 -1 -1 -1 0 - -"α" => 12×2 Matrix{Rational}: - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 0//1 - 0//1 3//4 - ) -``` -""" -function LQtildebar(L::Matrix{Float64},Q::Matrix{Int}; threshold = 0.5) - Qsorted_test = Matrix{Int}(Q[sortperm(L[:, 2], rev=true), :]) - Lsorted_test = Matrix{Float64}(L[sortperm(L[:, 2], rev=true), :]) - Qtilde::Matrix{Int} = hcat(zeros(Int,size(Qsorted_test[1,:],1)),Qsorted_test[1,:]) - Ltilde::Matrix{Float64} = hcat(zeros(Float64,size(Lsorted_test[1,:],1)),Lsorted_test[1,:]) - - S::Nemo.FmpzMatSpace = MatrixSpace(Nemo.ZZ,1,1) - m::Nemo.fmpz_mat = matrix(Nemo.ZZ,zeros(1,1)) - d::Int = 1 - Qbar::Matrix{Int} = zeros(Int,size(Qsorted_test[1,:],1),1) - Lbar::Matrix{Float64} = zeros(Float64,size(Lsorted_test[1,:],1),1) - for i=2:axes(Qsorted_test,1)[end] - S = MatrixSpace(Nemo.ZZ, size(Qtilde)...) - m = S(hcat(@view(Qtilde[:,2:end]),@view(Qsorted_test[i,:]))) - d = Nemo.nullspace(m)[1] - if d == 0 - Qtilde = hcat(Qtilde,@view(Qsorted_test[i,:])) - Ltilde = hcat(Ltilde,@view(Lsorted_test[i,:])) - else - Qbar = hcat(Qbar, @view(Qsorted_test[i,:])) - Lbar = hcat(Lbar, @view(Lsorted_test[i,:])) - end - end - Qtilde = Matrix{Rational}(@view(Qtilde[:,2:end])) - Qbar = Matrix{Int}(@view(Qbar[:,2:end])) - Ltilde = @view(Ltilde[:,2:end]) - Lbar = @view(Lbar[:,2:end]) - Ltilde_min::Float64 = minimum(@view(Ltilde[2,:])) - Ldiff_limit::Float64 = log10(threshold) - Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) - Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) - Qinv = (inv(Qtilde)) - Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) - Qhat::Matrix{Int} = deepcopy(Qtilde) - Lhat = deepcopy(Ltilde) - αeff::Matrix{Rational} = zeros(size(@view(Q[1,:]),1),1) - α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES - for i in axes(α,1) - for j in axes(α,2) - if abs(α[i,j]) > 1e-3 - Ldiff::Float64 = round(Lbar[2,i] - Lhat[2,j], digits=3) - if Ldiff > Ldiff_limit - else - α[i,j] = zero(Rational) - end - else - α[i,j] = zero(Rational) - end - end - if α[i,:] == zeros(size(α,2)) - else - Qhat = hcat(Qhat, @view(Qbar[:,i])) - Lhat = hcat(Lhat, @view(Lbar[:,i])) - αeff = hcat(αeff,@view(α[i,:])) - end - end - keys = ["Qhat", "Qbar", "Lhat", "Lbar", "α"] - vals = [Qhat, Qbar, Lhat, Lbar, αeff] - return Dict(zip(keys,vals)) -end - -""" - LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - -TBW -""" -function LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] - LQtildebar(L, Q; threshold=threshold) -end - -""" - vacua_id_basis(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) - -Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) and a threshold for: - -``\frac{Lambda_a}{|Lambda_j|}`` - -_i.e._ is the instanton contribution large enough to affect the minima. This function uses JLM's method outlined in [TO APPEAR]. - -#Examples -```julia-repl -julia> using CYAxiverse -julia> h11,tri,cy = 10,20,1; -julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); -julia> vacua_data = CYAxiverse.generate.vacua_id_basis(pot_data["L"],pot_data["Q"]; threshold=0.01) -Dict{String, Any} with 3 entries: - "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] - "vacua" => 11552.0 - "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] -``` -""" -function vacua_id_basis(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) - if @isdefined h11 - else - h11::Int = size(Q,2) - end - data = LQtildebar(L,Q; threshold=threshold) - Leff = data["Lhat"] - Qtilde = Matrix{Rational}(data["Qhat"][:, 1:h11]) - Qbar = Matrix{Int}(data["Qbar"]) - Qinv = Matrix{Rational}(inv(Qtilde)) - Qinv = @.(ifelse(abs(Qinv) < 1e-5, zero(Rational), Rational(Qinv))) - αeff = data["α"] - if αeff == zeros(Float64,size(@view(Q[1,:]),1),1) - keys = ["θ̃∥", "vac"] - vals = [unique(Qinv, dims=2), abs(det(Qtilde))] - return Dict(zip(keys,vals)) - else - αeff = @view(αeff[:,2:end]) - Qeff = hcat((1//1 * I(size(αeff,1))),αeff) - Qrowmask = [sum(i .== zero(i[1])) < size(Qeff,2)-1 for i in eachrow(Qeff)] - Qcolmask = [any(col .!= zero(col[1])) for col in eachcol(Qeff[Qrowmask,:])] - keys = ["Qtilde_inv", "α", "Qeff","Leff", "Qrowmask", "Qcolmask"] - vals = [inv(Matrix{Rational}(@view(Qtilde[:,1:size(Qtilde,1)]))), (inv(Matrix{Rational}(@view(Qtilde[:,1:size(Qtilde,1)]))) * Qbar), Qeff, Leff, Qrowmask, Qcolmask] - return Dict(zip(keys,vals)) - end -end - -function vacua_id_basis(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] - vacua_id_basis(L, Q; threshold=threshold) -end -""" - vacua_id(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=zero(Q[1, :])) - -TBW -""" -function vacua_id(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=zero(Q[1, :])) - # TODO: #4 add phases @vmmhep - if @isdefined h11 - else - h11::Int = size(Q,2) - end - id_basis = vacua_id_basis(L, Q; threshold) - if haskey(id_basis, "Qeff") - Qeff = Matrix(id_basis["Qeff"]) - xmin = [] - for (i,row) in enumerate(eachrow(Qeff)) - if sum(iszero.(row)) == (size(row, 1)) - 1 - push!(xmin, zeros(Float64, h11)) - elseif maximum(denominator.(row)) == 1 - push!(xmin, zeros(Float64, h11)) - else - Leff = id_basis["Leff"][:, @.(!iszero(row))] - Lsubdiff = @view(Leff[2,:]) .- @view(Leff[2,1]) - Lfull = Leff[1,:] .* 10. .^ Lsubdiff; - res = subspace_minimize(Lfull, Matrix(row[row .!= 0]'); phase=phase[i]) - if typeof(res) <: Vector - res = reshape(res, length(res), 1) - end - subspace_min = zeros(h11, size(res, 1)) - subspace_min[i, :] = hcat(@view(res[:, 1])...) - subspace_min = subspace_min' * id_basis["Qtilde_inv"] - push!(xmin, Matrix(subspace_min')) - end - end - keys = ["θ̃∥", "vac"] - xmin = hcat(xmin...) - xmin = sort(xmin, dims = 2) - min_num = 1 - while min_num < size(xmin, 2) - if all(abs.(@view(xmin[:, min_num+1]) .- @view(xmin[:, min_num])) .< 1e-10) - xmin[:, min_num] = zero(@view(xmin[:, min_num])) - end - min_num += 1 - end - xmin = unique(xmin, dims = 2) - vac = size(xmin, 2) - vals = [xmin, vac] - return Dict(zip(keys, vals)) - else - θ̃min = id_basis["θ̃∥"] - for col in axes(θ̃min, 2) - if sum(θ̃min[:, col] .== zero(θ̃min[:, col][1])) == size(θ̃min, 1) - 1 - θ̃min[:, col] = zero(θ̃min[:, col]) - else - for i in 1:maximum(denominator.(θ̃min[:, col])) - θ̃min = hcat(θ̃min, i .+ θ̃min[:, col]) - end - end - end - xmin = unique(θ̃min, dims=2) - xmin = unique(@.(ifelse(all(xmin != 0), mod(xmin, 1), xmin)), dims=2) - keys = ["θ̃min", "θ̃∥", "vac"] - vals = [θ̃min, xmin, id_basis["vac"]] - Dict(zip(keys, vals)) - end -end - -""" - vacua_id(h11::Int, tri::Int, cy::Int; threshold, phase::Vector) - -TBW -""" -function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector=zeros(h11)) - pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] - vacua_id(L, Q; threshold=threshold, phase=phase) -end - - -function vacua_SNF(Q::Matrix{Int}) - h11::Int = size(Q,2) - ###### Nemo SNF ##### - Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) - T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] - Tparallel1::Nemo.fmpz_mat = inv(T)[:,1:h11] - Tparallel::Matrix{Int} = convert(Matrix{Int},Tparallel1) - - θparalleltest::Matrix{Float64} = inv(transpose(Float64.(Q)) * Float64.(Q)) * transpose(Float64.(Q)) * Float64.(Tparallel) - keys = ["T∥", "θ∥"] - vals = [Tparallel,θparalleltest] - return Dict(zip(keys,vals)) -end -""" - vacua_TB(L,Q) - -Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) - -For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. - -For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential. -#Examples -```julia-repl -julia> using CYAxiverse -julia> h11,tri,cy = 10,20,1; -julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); -julia> vacua_data = CYAxiverse.generate.vacua_TB(pot_data["L"],pot_data["Q"]) -Dict{String, Any} with 3 entries: - "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] - "vacua" => 11552.0 - "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] -``` -""" -function vacua_TB(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) - - h11::Int = size(Q,2) - if h11 <= 50 - snf_data = vacua_SNF(Q) - Tparallel::Matrix{Int} = snf_data["T∥"] - θparalleltest::Matrix{Float64} = snf_data["θ∥"] - end - data = LQtildebar(L,Q; threshold=threshold) - Qtilde = data["Qtilde"] - Qbar = data["Qbar"] - Ltilde = data["Ltilde"] - Lbar = data["Lbar"] - α = data["α"] - if h11 <= 50 - if size(Qtilde,1) == size(Qtilde,2) - vacua = abs(det(θparalleltest) / det(inv(Qtilde))) - else - vacua = abs(det(θparalleltest) / (1/sqrt(det(Qtilde * Qtilde')))) - end - thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), thparallel, Qtilde] - return Dict(zip(keys,vals)) - else - if size(Qtilde,1) == size(Qtilde,2) - vacua = abs(1 / det(inv(Qtilde))) - else - vacua = abs(sqrt(det(Qtilde * Qtilde'))) - end - - keys = ["vacua","Qtilde"] - vals = [abs(vacua), Qtilde] - return Dict(zip(keys,vals)) - end -end - -""" - vacua_TB(h11,tri,cy) - -Compute the number of vacua given a geometry from the KS database. - -For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. - -For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential. -#Examples -```julia-repl -julia> using CYAxiverse -julia> h11,tri,cy = 10,20,1; -julia> vacua_data = CYAxiverse.generate.vacua_TB(h11,tri,cy) -Dict{String, Any} with 3 entries: - "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] - "vacua" => 11552.0 - "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] -``` -""" -function vacua_TB(h11::Int,tri::Int,cy::Int; threshold::Float64=0.5) - pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] - vacua_TB(L, Q; threshold=threshold) -end - - -function vacua_save(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) - file_open::Bool = 0 - h5open(cyax_file(h11,tri,cy), "r") do file - if haskey(file, "vacua") - file_open = 1 - return nothing - end - end - if file_open == 0 - pot_data = potential(h11,tri,cy) - vacua_data = vacua(pot_data["L"],pot_data["Q"]; threshold=threshold) - h5open(cyax_file(h11,tri,cy), "r+") do file - f3 = create_group(file, "vacua") - f3["vacua",deflate=9] = vacua_data["vacua"] - f3["Qtilde",deflate=9] = vacua_data["Qtilde"] - if h11 <=50 - f3a = create_group(f3, "thparallel") - f3a["numerator",deflate=9] = numerator.(vacua_data["θ∥"]) - f3a["denominator",deflate=9] = denominator.(vacua_data["θ∥"]) - end - end - end -end - - - -function vacua_save_TB(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) - file_open::Bool = 0 - h5open(cyax_file(h11,tri,cy), "r") do file - if haskey(file, "vacua_TB") - file_open = 1 - return nothing - end - end - if file_open == 0 - pot_data = potential(h11,tri,cy) - vacua_data = vacua_TB(pot_data["L"],pot_data["Q"]; threshold=threshold) - h5open(cyax_file(h11,tri,cy), "r+") do file - f3 = create_group(file, "vacua_TB") - f3["vacua",deflate=9] = vacua_data["vacua"] - f3["Qtilde",deflate=9] = vacua_data["Qtilde"] - if h11 <=50 - f3a = create_group(f3, "thparallel") - f3a["numerator",deflate=9] = numerator.(vacua_data["θ∥"]) - f3a["denominator",deflate=9] = denominator.(vacua_data["θ∥"]) - end - end - end -end - - -""" - vacua_MK(L,Q; threshold=1e-2) -Uses the projection method of _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) on ``\\mathcal{Q}`` to compute the locations of vacua. -!!! note - Finding the lattice of minima when numerical minimisation is required has not yet been implemented. -""" -function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold = 1e-2) - setprecision(ArbFloat; digits=5_000) - LQtilde = LQtildebar(L, Q; threshold=threshold) - Ltilde = LQtilde["Ltilde"][:,sortperm(LQtilde["Ltilde"][2,:], rev=true)] - Qtilde = LQtilde["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] - Qtilde = Matrix{Int}(Qtilde) - basis_vectors = zeros(size(Qtilde,2), size(Qtilde,2)) - idx = 1 - println("size Qtilde: ", size(Qtilde)) - while idx < size(Q,2) - println("start ", idx) - Qsub = Qtilde[idx, :] - Lsub = Ltilde[:, idx] - while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[idx+1, :], Qtilde[idx, :]) != 0 - Lsub = hcat(Lsub, Ltilde[:, idx+1]) - Qsub = hcat(Qsub, Qtilde[idx+1, :]) - idx += 1 - println("while ", idx) - end - if size(Qsub,2) == 1 - basis_vectors[idx, :] = Qsub - idx += 1 - println("if ", idx) - - else - Lsubdiff = Lsub[2,:] .- Lsub[2,1] - Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; - Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] - Qsub = Qsub[:,Qsubmask] - for run_number = 1:10_000 - x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) - res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer - res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] - end - xmin = hcat(res["xmin"]...) - for i in eachcol(xmin) - i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) - end - xmin = xmin[:, [sum(i)/size(i,1) > eps() for i in eachcol(xmin)]] - xmin = xmin[:,sortperm([norm(i,Inf) for i in eachcol(xmin)])] - xmin[xmin .< 10. * eps()] .= 0. - println(size(xmin)) - lattice_vecs = CYAxiverse.minimizer.minima_lattice(xmin) ##need to write lattice minimizer - basis_vectors[idx-size(lattice_vecs["lattice_vectors"],2):idx, :] = lattice_vecs["lattice_vectors"] - end - T = orth_basis(Qtilde[idx, :]) - Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) - LinearAlgebra.mul!(Qtilde_i, Qtilde, T) - Qtilde = copy(Qtilde_i) - println("size(Qtilde): ", size(Qtilde)) - end - keys = ["minima_lattice_vectors"] - vals = [basis_vectors] - return Dict(zip(keys,vals)) -end - -""" - vacua_MK(L,Q; threshold=1e-2) -Uses the projection method of _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) on ``\\mathcal{Q}`` to compute the locations of vacua. -!!! note - Finding the lattice of minima when numerical minimisation is required has not yet been implemented. -""" -function vacua_MK(h11::Int,tri::Int,cy::Int) - pot_data = potential(h11,tri,cy) - K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] - vacua_MK(L, Q) -end - -function simple_rationals(min, max) - if max < 1 # J ⊂ (0, 1) - return 1/(simple_rationals(1 / max, 1 / min)) - elseif 1 < min # J ⊂ (1, ∞): - q = ceil(min) - 1 # largest q satisfying q < left - return q + simple_rationals(abs(min - q), abs(min - q)) - else # left <= 1 <= right, so 1 ∈ J - return 1/1 - end -end - -""" - vacua_projector(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5) - -This applies the projection method to square Q̂ to verify procedure -""" -function vacua_projector(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector = [[0.]]) - # TODO: #5 fix phases - if @isdefined h11 - else - h11::Int = size(Q, 2) - end - LQtilde = LQtildebar(L, Q; threshold=threshold) - Qhat = Matrix{Int}(LQtilde["Qhat"]) - Lhat = LQtilde["Lhat"] - if size(Qhat, 1) == size(Qhat, 2) - Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] - LQtilde["Qhat"] = copy(Qhat) - Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] - idx = 1 - θmin_list = [] - Qsub_list = [] - projectedQ_list = [] - projector = zeros(h11, h11) - grad(Q::Vector, θ::Float64, δ::Float64) = sin(norm(Q) * θ - δ) - while idx ≤ size(Qhat, 2) - # TODO: #7 check if projected Qhat is required at each iteration - println("COLUMN", idx, ":") - Qhat = (I(h11) - projector) * Qhat - Qhat = @.(ifelse(abs(Qhat) < 1e-10, 0., Qhat)) - Qsub = Qhat[:, idx] - println("Qsub: ", Qsub) - if Lhat[2, idx == size(Qhat,2) ? idx : idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx == size(Qhat,2) ? idx : idx+1], Qhat[:, idx]) != 0 - return "Sorry, there are degeneracies. Please try another example." - else - min_list = [] - θmin(n::Int) = [(2π*n-δ)/norm(Qsub) for δ in hcat(phase[idx]...)] - # TODO: #10 check gradient / hessian - # TODO: #9 Lambdas have different signså - m = 0 - esub = Qsub ./ norm(Qsub) - limit = ifelse(any(0. .< abs.(Qsub) .< 1.), 2π/minimum(abs.(esub[esub .!= 0.])), 2π) - println("limit: ", limit) - while all(i -> i < limit, θmin(m)) - # TODO: #12 Check condition on periodicity - push!(min_list, θmin(m)) - m+=1 - println("θmin: ", θmin(m)) - end - # min_list = hcat(min_list...) - push!(θmin_list, min_list) - println(zip(phase, min_list...)) - # grad_list = [grad(Qsub, θ, δ) for (δ,θ) in zip(hcat(δlist...), hcat(min_list...))] - # println("gradients: ", grad_list) - # println("size(gradients[gradients .== 0]): ", grad_list[grad_list .== 0.]) - end - projector = I(h11) - project_out(Qsub) - # TODO: #14 Check products of projectors are projectors - push!(projectedQ_list, hcat([norm(col) for col in eachcol(projector * Qhat)]...)) - if idx < size(Q, 2) - phase = reshape(norm(projector * Qhat[:, idx+1]) .* hcat(min_list...), size(min_list)) - # TODO: #13 Phase is sum of all previous phases - end - push!(Qsub_list, Qsub) - println("projectedQ: ", projectedQ_list[idx]) - # TODO: #11 construct θ_min - idx +=1 - println("phases: ", δlist) - println("size(phases): ", size(δlist)) - println("projector: ", projector) - println("projector[projector .!= 0]: ", projector[projector .!=0]) - println("size(projector): ", size(projector)) - end - (θmin = θmin_list, vacua_estimate = abs(det(LQtilde["Qhat"])), Qhat = LQtilde["Qhat"]) - end -end - -function vacua_projector(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] - vacua_projector(L, Q; threshold=threshold) -end - -function vacuaΩ(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=[[0.]]) - # TODO: #5 fix phases - if @isdefined h11 - else - h11::Int = size(Q, 2) - end - LQtilde = LQtildebar(L, Q; threshold=threshold) - Qhat = Matrix{Int}(LQtilde["Qhat"]) - Lhat = LQtilde["Lhat"] - if size(Qhat, 1) == size(Qhat, 2) - Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] - LQtilde["Qhat"] = copy(Qhat) - Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] - idx = 1 - θmin_list = [] - Qsub_list = [] - projectedQ_list = [] - projector = zeros(h11, h11) - while idx ≤ size(Qhat, 2) - # TODO: #7 check if projected Qhat is required at each iteration - println("COLUMN", idx, ":") - Qhat = (I(h11) - projector) * Qhat - Qhat = @.(ifelse(abs(Qhat) < 1e-10, 0., Qhat)) - if Lhat[2, idx == size(Qhat,2) ? idx : idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx == size(Qhat,2) ? idx : idx+1], Qhat[:, idx]) != 0 - return "Sorry, there are degeneracies. Please try another example." - else - Qsub = Qhat[:, idx] - push!(Qsub_list, [norm(col) for col in eachcol(Qhat)]) - println("Qsub: ", Qsub) - min_list = [] - δ(θmin::Float64) = sum(norm(projector * Qsub)) - # TODO: introduce δ - θmin(n::Int) = [(2π*n-δ)/norm(Qsub) for δ in hcat(phase...)] - # TODO: #10 check gradient / hessian - # TODO: #9 Lambdas have different signså - m = 0 - esub = Qsub ./ norm(Qsub) - limit = ifelse(any(0. .< abs.(Qsub) .< 1.), 2π/minimum(abs.(esub[esub .!= 0.])), 2π) - println("limit: ", limit) - while all(i -> i < limit, θmin(m)) - # TODO: #12 Check condition on periodicity - push!(min_list, θmin(m)) - m+=1 - println("θmin: ", θmin(m)) - end - # min_list = hcat(min_list...) - push!(θmin_list, min_list) - println(zip(phase, min_list...)) - # grad_list = [grad(Qsub, θ, δ) for (δ,θ) in zip(hcat(phase...), hcat(min_list...))] - # println("gradients: ", grad_list) - # println("size(gradients[gradients .== 0]): ", grad_list[grad_list .== 0.]) - end - projector = I(h11) - project_out(Qsub) - # TODO: #14 Check products of projectors are projectors - push!(projectedQ_list, hcat([norm(col) for col in eachcol(projector * Qhat)]...)) - if idx < size(Q, 2) - phase = reshape(norm(projector * Qhat[:, idx+1]) .* hcat(min_list...), size(min_list)) - # TODO: #13 Phase is sum of all previous phases - end - push!(Qsub_list, Qsub) - println("projectedQ: ", projectedQ_list[idx]) - # TODO: #11 construct θ_min - idx +=1 - println("phases: ", phase[idx]) - println("size(phases): ", size(phase[idx])) - println("projector: ", projector) - println("projector[projector .!= 0]: ", projector[projector .!=0]) - println("size(projector): ", size(projector)) - end - (θmin = θmin_list, vacua_estimate = abs(det(LQtilde["Qhat"])), Qhat = LQtilde["Qhat"]) - end -end -""" - Omega(Ω::Matrix{Int}) - -TBW -""" -function omega(Ω::Matrix{Int}) - Ωperp = Matrix{Rational}(deepcopy(Ω)) - Ωparallel = zeros(size(Ω)) - for (i, col) in enumerate(eachcol(Ω)) - # TODO: #15 Π function - Ωperp[:, i+1:end] = project_out(Vector(col)).Πperp * Ωperp[:, i+1:end] - Ωperp = @.(ifelse(abs(Ωperp) < 1e-4, zero(Ωperp), Ωperp)) - Ωparallel[:, i] = mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=2) - end - Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-4, zero(Ωparallel), Ωparallel)) - ProjectedQ(Ωperp, Ωparallel) -end -""" - θmin(Ωparallel, Ωperp, Ω) - -TBW -""" -function θmin(Ωparallel, Ωperp, Ω; phase=zeros(size(Ω,1)), n::Vector=zeros(size(Ω,1))) - min1 = (2π * n[1] - phase[1]) / Ωperp[:, 1] - ei = [Ωperp[:, i] / norm(Ωperp[:, i]) for (i,_) in enumerate(eachcol(Ωperp))] -end -""" - vacuaΠ(L, Q; threshold=0.5, phase=zeros(size(Q,2))) - -TBW -""" -function vacuaΠ(L, Q; threshold=0.5, phase=zeros(size(Q,2))) - if @isdefined h11 - else - h11::Int = size(Q, 2) - end - LQtilde = LQtildebar(L, Q; threshold=threshold) - if size(LQtilde["Qhat"], 1) == size(LQtilde["Qhat"], 2) - Qhat = LQtilde["Qhat"][:, sortperm(LQtilde["Lhat"][2,:], rev=true)] - Lhat = LQtilde["Lhat"][:, sortperm(LQtilde["Lhat"][2,:], rev=true)] - Ω = Matrix{Int}(Qhat) - Ω = omega(Ω) - else - "Ω is not square" - end -end - -function vacuaΠ(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase=zeros(h11)) - pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] - vacuaΠ(L, Q; threshold=threshold, phase=phase) -end - - -""" - vacua_full(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) -New implementation of MK's algorithm -- testing! -""" -function vacua_full(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2)), runs = 100_000) - # TODO: #6 projections of square Qhat - # TODO: #4 add phases @vmmhep - if @isdefined h11 - else - h11::Int = size(Q, 2) - end - LQtilde = LQtildebar(L, Q; threshold=threshold) - Qhat = Matrix{Int}(LQtilde["Qhat"]) - Lhat = LQtilde["Lhat"] - if size(Qhat, 1) == size(Qhat, 2) - Qinv = Matrix{Rational}(inv(Qhat)) - Qinv = @.(ifelse(abs(Qinv) < 1e-5, zero(Qinv), simple_rationals(round(Qinv; digits=4) - 1e-4, round(Qinv; digits=4) + 1e-4))) - for col in axes(Qinv, 2) - if sum(Qinv[:, col] .== zero(Qinv[:, col][1])) == size(Qinv, 1)-1 - Qinv[:, col] = zero(Qinv[:, col]) - end - end - return unique(mod.(Qinv, 1), dims=2), abs(det(Qhat)), phase - else - Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] - Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] - θmin = [] - vac = 0 - idx = 1 - while idx < size(Qhat, 2) - Qsub = Qhat[:, idx] - Lsub = Lhat[:, idx] - while Lhat[2, idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx+1], Qhat[:, idx]) != 0 - Lsub = hcat(Lsub, Lhat[:, idx+1]) - Qsub = hcat(Qsub, Qhat[:, idx+1]) - idx += 1 - end - if size(Qsub, 2) == 1 && sum(Qsub .== 0) == size(Qsub, 1)-1 - push!(θmin, zeros(Float64, h11)) - Qhat = project_out(Qsub) * Qhat - Qhat = @.(ifelse(abs(Qhat) < 1e-5, zero(Qhat), Qhat)) - else - # Lsub = Lsub[:, @.(!iszero(Qsub))] - Lsubdiff = @view(Lsub[2,:]) .- Lsub[2,1] - Lfull = Lsub[1,:] .* 10. .^ Lsubdiff; - if size(Qsub, 2) == 1 - Qsub = reshape(Qsub, h11,1) - end - println("size(phase): ", size(phase)) - println("phases: ", phase) - println("size(phase) without zeros: ", size(phase[phase .!= 0])) - xmin = subspace_minimize(Lfull, Qsub; runs = runs, phase=phase) - xmin = hcat(xmin...) - println("number of minima found with $runs random initialisations: ", size(xmin)) - xmin = sort(xmin, dims = 2) - min_num = 1 - while min_num < size(xmin, 2) - if all(abs.(@view(xmin[:, min_num+1]) .- @view(xmin[:, min_num])) .< 1e-10) - xmin[:, min_num] = zero(@view(xmin[:, min_num])) - end - min_num += 1 - end - xmin = unique(xmin, dims = 2) - vac += size(xmin, 2) - push!(θmin, xmin) - Qsub = orth_basis(Qsub) - Qhat = project_out(Qsub) * Qhat - Qhat = @.(ifelse(abs(Qhat) < 1e-10, zero(Qhat), Qhat)) - # phase::Array{Rational} = I(size(phase,1)) .- project_out(Qsub) - # phase = @.(ifelse(abs(phase) < 1e-10, zero(phase), phase)) - end - idx += 1 - end - θmin = unique(hcat(θmin...), dims = 2) - vac = size(θmin, 2) - return θmin, vac, phase - end -end - -function vacua_full(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector{Float64}=zeros(h11)) - pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] - vacua_full(L, Q; threshold=threshold, phase=phase) -end - -""" - vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - -Uses `LQtildebar` function to make Q̂. If Q̂ is square, returns number of vacua as `|det(Q̂)|` -otherwise returns number of vacua as `√|det(Q̂'Q̂)|`. -""" -function vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - data = αmatrix(h11, tri, cy; threshold=threshold) - if size(data.Qhat, 1) == size(data.Qhat, 2) - vac = Int(round(abs(det(data.Qhat)))) - return (vac = vac, issquare = 1) - else - vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) - return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - h11) - end -end - -function vacua_estimate(geom_idx::GeometryIndex; threshold::Float64=0.5) - data = αmatrix(geom_idx; threshold=threshold) - if size(data.Qhat, 1) == size(data.Qhat, 2) - vac = Int(round(abs(det(data.Qhat)))) - return (vac = vac, issquare = 1) - else - vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) - return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - geom_idx.h11) - end -end - -function vacua_estimate_save(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - vac_data = vacua_estimate(h11, tri, cy; threshold=threshold) - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f - f["square", deflate=9] = vac_data.issquare - f["vacua_estimate", deflate=9] = vac_data.vac - if vac_data.issquare == 0 - f["extra_rows", deflate=9] = vac_data.extrarows - end - end -end - -""" - vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) - -TBW -""" -function vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) - if @isdefined h11 - else - h11::Int = size(Q, 2) - end - LQtilde = LQtildebar(L, Q; threshold=threshold) - Qhat = Matrix{Int}(LQtilde["Qhat"]) - Lhat = LQtilde["Lhat"] - if size(Qhat, 1) == size(Qhat, 2) - Qinv = Matrix{Rational}(inv(Qhat)) - Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), Rational(round(Qinv; digits=4)))) - for col in axes(Qinv, 2) - if sum(Qinv[:, col] .== zero(Qinv[:, col][1])) == size(Qinv, 1)-1 - Qinv[:, col] = zero(Qinv[:, col]) - end - end - return unique(mod.(Qinv, 1), dims=2), abs(det(Qhat)), phase - else - Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] - Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] - Ω = Matrix{Int}(@view(Qhat[:, 1:h11])) - Ωinv = Matrix{Rational}(inv(Ω)) - Ωinv = @.(ifelse(abs(Ωinv) < 1e-10, zero(Ωinv), Rational(round(Ωinv; digits=4)))) - Ωhat = (Ωinv * Qhat)' - for col in eachcol(Ωhat) - end - end - - -end -end \ No newline at end of file diff --git a/src/minimizer.jl b/src/minimizer.jl deleted file mode 100644 index f67790c..0000000 --- a/src/minimizer.jl +++ /dev/null @@ -1,489 +0,0 @@ -""" - CYAxiverse.minimizer -Some minimization / optimization routines to find vacua and other such explorations. - -""" -module minimizer - -using HDF5 -using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization -using GenericLinearAlgebra -using Distributions -using Random -using Optim, LineSearches, Dates, HDF5 - -using ..filestructure: cyax_file, minfile, present_dir -using ..read: potential - -function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo,prec) - setprecision(ArbFloat,digits=prec) - Arb0 = ArbFloat(0.) - Arb1 = ArbFloat(1.) - Arb2π = ArbFloat(2π) - threshold = 0.01 - function QX(x::Vector) - Qx = zeros(ArbFloat,size(QV,1)); - @tullio Qx[c] = QV[c,i] * x[i] - return Qx - end - function fitness(x::Vector) - V = dot(LV,(Arb1 .- cos.(QX(x)))) - return V - end - function grad!(gradient::Vector, x::Vector) - grad_temp = zeros(ArbFloat, size(LV,1),h11) - @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) - @tullio gradient[i] = LV[c] * grad_temp[c,i] - end - function hess(x::Vector) - grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) - hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(h11,h11)) - hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - a = mod.(((ArbFloat.(θparalleltest) * xmin)/Arb2π),Arb1) - atilde = ArbFloat.(Qtilde) * xmin/Arb2π - a_sign = Int.(sign.(a)) - a_log = Float64.(log10.(abs.(a))) - atilde_sign = Int.(sign.(atilde)) - atilde_log = Float64.(log10.(abs.(atilde))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "±a","loga", "±ã", "logã"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, a_sign, a_log, atilde_sign, atilde_log] - return Dict(zip(keys,vals)) - GC.gc() - end -end - -function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,algo,prec) - setprecision(ArbFloat; digits=prec) - Arb0 = ArbFloat(0.) - Arb1 = ArbFloat(1.) - Arb2π = ArbFloat(2π) - threshold = 0.01 - function QX(x::Vector) - Qx = zeros(ArbFloat,size(QV,1)); - @tullio Qx[c] = QV[c,i] * x[i] - return Qx - end - function fitness(x::Vector) - V = dot(LV,(Arb1 .- cos.(QX(x)))) - return V - end - function grad!(gradient::Vector, x::Vector) - grad_temp = zeros(ArbFloat, size(LV,1),size(x,1)) - @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) - @tullio gradient[i] = LV[c] * grad_temp[c,i] - end - function hess(x::Vector) - grad2::Matrix{ArbFloat} = zeros(ArbFloat,(size(x,1),size(x,1))) - hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) - hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) - hess_sign = sign((minimum(eigen(hess(xmin)).values))) - sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] - return Dict(zip(keys,vals)) - GC.gc() - # end -end - - -function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,Qtilde::Matrix,algo,prec) - setprecision(ArbFloat,digits=prec) - Arb0 = ArbFloat(0.) - Arb1 = ArbFloat(1.) - Arb2π = ArbFloat(2π) - threshold = 0.01 - function QX(x::Vector) - Qx = zeros(ArbFloat,size(QV,1)); - @tullio Qx[c] = QV[c,i] * x[i] - return Qx - end - function fitness(x::Vector) - V = dot(LV,(Arb1 .- cos.(QX(x)))) - return V - end - function grad!(gradient::Vector, x::Vector) - grad_temp = zeros(ArbFloat, size(LV,1),h11) - @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) - @tullio gradient[i] = LV[c] * grad_temp[c,i] - end - function hess(x::Vector) - grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) - hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) - grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) - end - function hess!(hessian::Matrix, x::Vector) - grad2 = zeros(ArbFloat,(h11,h11)) - hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] - grad2_temp = zeros(ArbFloat,size(hind1,1)) - grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) - @tullio grad2_temp1[c,k] = @inbounds(begin - i,j = hind1[k] - QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false - @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i in eachindex(hind1) - j,k = hind1[i] - grad2[j,k] = grad2_temp[i] - end - hessian .= grad2 + transpose(grad2) - Diagonal(grad2) - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) - res = optimize(fitness,grad!,hess!, - x0, algo, - Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - GC.gc() - if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) - atilde = ArbFloat.(Qtilde) * xmin/Arb2π - atilde_sign = Int.(sign.(atilde)) - atilde_log = Float64.(log10.(abs.(atilde))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin_log = Float64.(log10.(abs.(xmin))) - xmin_sign = Int.(sign.(xmin)) - - keys = ["±V", "logV","±x", "logx", "±ã", "logã"] - vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, atilde_sign, atilde_log] - return Dict(zip(keys,vals)) - GC.gc() - end -end - -function minimize_save(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo; prec::Int=5_000, run_num::Int=1) - min_data = minimize(h11,tri,cy,LV,QV,x0,gradσ,θparalleltest,Qtilde,algo, prec) - if min_data === nothing - return nothing - else - h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file - if haskey(file, "runs") - else - f0 = create_group(file,"runs") - end - f0 = create_group(file, "runs/$run_num") - f1 = create_group(f0, "V") - f1["log10",deflate=9] = min_data["logV"] - f1["sign",deflate=9] = min_data["±V"] - f2 = create_group(f0, "x") - f2["log10",deflate=9] = min_data["logx"] - f2["sign",deflate=9] = min_data["±x"] - f3 = create_group(f0, "a") - f3["log10",deflate=9] = min_data["loga"] - f3["sign",deflate=9] = min_data["±a"] - f4 = create_group(f0, "atilde") - f4["log10",deflate=9] = min_data["logã"] - f4["sign",deflate=9] = min_data["±ã"] - end - end -GC.gc() -end - -function minimize_save(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,Qtilde::Matrix,algo; prec::Int=5_000, run_num::Int=1) - min_data = minimize(h11,tri,cy,LV,QV,x0,gradσ,Qtilde,algo, prec) - if min_data === nothing - return nothing - else - h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file - if haskey(file, "runs") - else - f0 = create_group(file,"runs") - end - f0 = create_group(file, "runs/$run_num") - f1 = create_group(f0, "V") - f1["log10",deflate=9] = min_data["logV"] - f1["sign",deflate=9] = min_data["±V"] - f2 = create_group(f0, "x") - f2["log10",deflate=9] = min_data["logx"] - f2["sign",deflate=9] = min_data["±x"] - f4 = create_group(f0, "atilde") - f4["log10",deflate=9] = min_data["logã"] - f4["sign",deflate=9] = min_data["±ã"] - end - end -GC.gc() -end - -""" - grad_std(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix) - -TBW -""" -function grad_std(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix) - Arb0 = ArbFloat(0.) - Arb1 = ArbFloat(1.) - Arb2π = ArbFloat(2π) - function QX(x::Vector) - Qx = zeros(ArbFloat,size(QV,1)); - @tullio Qx[c] = QV[c,i] * x[i] - return Qx - end - grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) - n=100 - grad_all = zeros(h11,n) - for j=1:n - x0 = ArbFloat.(rand(Uniform(0,2π),h11)) .* rand(ArbFloat,h11) - grad_all[:,j] = grad(x0) - end - return ArbFloat.(std(grad_all, dims=2)) -end - -""" - grad_std(LV::Vector,QV::Matrix) - -TBW -""" -function grad_std(LV::Vector,QV::Matrix) - if @isdefined h11 - else - h11 = size(QV, 1) - end - function grad(x::Vector) - grad_temp = LV' .* (QV .* sin.(x' * QV)) - sum(grad_temp, dims = 2) - end - n=100 - grad_all = zeros(h11,n) - for j=1:n - x0 = rand(Uniform(0,2π),h11) .* rand(h11) - grad_all[:,j] = grad(x0) - end - return mean(grad_all, dims=2) .- 2. .* std(grad_all, dims=2) -end - -function grad_std(h11::Int, tri::Int, cy::Int) - pot_data = potential(h11,tri,cy) - QV::Matrix, LV::Matrix{Float64} = ArbFloat.(pot_data["Q"]), pot_data["L"] - Lfull::Vector{ArbFloat} = ArbFloat.(LV[:,1]) .* ArbFloat(10.) .^ ArbFloat.(LV[:,2]) - grad_std(h11,tri,cy,Lfull,QV) -end - - -""" - minimize(LV::Vector,QV::Matrix,x0::Vector) - -TBW -""" -function minimize(LV::Vector, QV, x0::Vector) - if @isdefined h11 - else - h11 = size(QV, 1) - end - @assert size(QV, 2) == size(LV, 1) - threshold = 1e-2 - function fitness(x::Vector) - sum(LV .* (1. .- cos.(x' * QV))) - end - function grad!(gradient::Vector, x::Vector) - grad_temp = LV' .* (QV .* sin.(x' * QV)) - gradient .= sum(grad_temp, dims = 2) - end - function hess!(hessian::Matrix, x::Vector) - for i in axes(QV, 1), j in axes(QV, 1) - if i>=j - hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) - end - end - hessian .= hessian + hessian' - Diagonal(hessian) - end - function hess(x::Vector) - hessian = zeros(size(x, 1), size(x, 1)) - for i in axes(QV, 1), j in axes(QV, 1) - if i>=j - hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) - end - end - hessian + hessian' - Diagonal(hessian) - end - function grad(x::Vector) - grad_temp = LV' .* (QV .* sin.(x' * QV)) - sum(grad_temp, dims = 2) - end - gradσ = grad_std(LV,QV) - x_tol = minimum(abs.(LV)) - g_tol = eps() / threshold - algo_LBFGS = LBFGS(linesearch = LineSearches.BackTracking()); - res = Optim.optimize(fitness, grad!, hess!, x0, Optim.Options(x_tol = x_tol, g_tol = g_tol)) - Vmin = Optim.minimum(res) - xmin = Optim.minimizer(res) - # GC.gc() - if log10(abs(minimum(eigen(hess(xmin)).values))) > log10(eps()) && maximum(log10.(abs.(grad(xmin)))) < log10(eps() / threshold) - hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) - hess_sign = sign((minimum(eigen(hess(xmin)).values))) - grad_log = log10.(abs.(grad(xmin))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin = @.ifelse(abs(xmin) < eps() / threshold, zero(xmin), xmin) - xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < eps() / threshold || mod(xmin / 2π, 1) < eps() / threshold, zero(xmin), mod(xmin / 2π, 1)) - keys = ["±V", "logV","xmin", "Heigs", "Hsign", "gradlog"] - vals = [Vmin_sign, Vmin_log, xmin, hess_eigs, hess_sign, grad_log] - return Dict(zip(keys,vals)) - # GC.gc() - end -end - -function subspace_minimize(L, Q; runs=10_000, phase::Matrix=zeros(max(collect(size(Q))...),1)) - xmin = [] - Random.seed!(9876543210) - for _ in 1:runs, col in eachcol(phase) - x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) - x0 = x0 + col - test_min = minimize(L, Q, x0) - if test_min === nothing - else - push!(xmin, test_min["xmin"]) - end - end - push!(xmin, zeros(size(Q,1))) - unique(xmin) -end - -function subspace_minimize(L, Q; runs=10_000, phase::Number=0) - xmin = [] - Random.seed!(9876543210) - for _ in 1:runs - x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) - x0 = x0 .+ phase - test_min = minimize(L, Q, x0) - if test_min === nothing - else - push!(xmin, test_min["xmin"]) - end - end - push!(xmin, zeros(size(Q,1))) - unique(xmin) -end -""" - subspace_minimize(L, Q; runs=10_000, phase=zeros(max(collect(size(Q))...))) -Minimizes the subspace with `runs` iterations -""" -function subspace_minimize(L, Q; runs=10_000, phase::Vector=zeros(max(collect(size(Q))...))) - xmin = [] - Random.seed!(9876543210) - for _ in 1:runs - x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) - x0 = x0 + phase - test_min = minimize(L, Q, x0) - if test_min === nothing - else - push!(xmin, test_min["xmin"]) - end - end - push!(xmin, zeros(size(Q,1))) - unique(xmin) -end - - -""" -minima_lattice(v::Matrix{Float64}) - -TBW -""" -function minima_lattice(v::Matrix{Float64}) - lattice_vectors = zeros(size(v, 1), 1) - for col in eachcol(v) - if sum(abs.(col)) < 1e-10 - else - latt_temp = hcat(lattice_vectors, col) - if eigmin(latt_temp' * latt_temp) > eps() - lattice_vectors = latt_temp - end - end - end - - keys = ["lattice_vectors"] - vals = [lattice_vectors[:, 2:end]] - return Dict(zip(keys,vals)) - GC.gc() -end - - -end \ No newline at end of file diff --git a/src/plotting.jl b/src/plotting.jl deleted file mode 100644 index 7d4931f..0000000 --- a/src/plotting.jl +++ /dev/null @@ -1,9 +0,0 @@ -module plotting -############################## -#### Plotting functions ###### -############################## - - - - -end \ No newline at end of file diff --git a/src/read.jl b/src/read.jl deleted file mode 100644 index dfa1c1a..0000000 --- a/src/read.jl +++ /dev/null @@ -1,214 +0,0 @@ -""" - CYAxiverse.read -Functions that access the database. - -""" -module read -using HDF5 -using LinearAlgebra -using ..filestructure: cyax_file, minfile, geom_dir -using ..structs: GeometryIndex, AxionPotential -########################### -##### Read CYTools data ### -########################### - -function topology(h11::Int,tri::Int,cy::Int=1) - poly_points::Matrix{Int}, simplices::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/geometric/points"),HDF5.read(file, "cytools/geometric/simplices") - end - keys = ["points","simplices"] - vals = [poly_points, simplices] - return Dict(zip(keys,vals)) -end - -function geometry(h11::Int,tri::Int,cy::Int=1) - tip_prefactor = nothing - h21::Int, - glsm::Matrix{Int},basis::Vector{Int}, - tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, - Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), - HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/geometric/tip"), - HDF5.read(file, "cytools/geometric/CY_volume"),HDF5.read(file, "cytools/geometric/divisor_volumes"), - HDF5.read(file, "cytools/geometric/Kinv") - end - h5open(cyax_file(h11,tri,cy), "r") do file - if haskey(file, "cytools/geometric/tip_prefactor") - tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") - end - end - if tip_prefactor !== nothing - keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] - vals = [h21, - glsm,basis, - tip,tip_prefactor, CY_Volume,divisor_volumes, - Kinv] - return Dict(zip(keys,vals)) - else - keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] - vals = [h21, - glsm,basis, - tip, CY_Volume,divisor_volumes, - Kinv] - return Dict(zip(keys,vals)) - end - -end - - -############################# -##### Read Geometric data ### -############################# - -function potential(geom_idx::GeometryIndex) - L::Matrix{Float64}, Q::Matrix{Int}, - Kinv::Matrix{Float64}= h5open(cyax_file(geom_idx), "r") do file - HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), - HDF5.read(file, "cytools/geometric/Kinv") - end - AxionPotential(L, Q, Hermitian(inv(Kinv))) -end - - -function potential(h11::Int,tri::Int,cy::Int=1) - L::Matrix{Float64}, Q::Matrix{Int}, - Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), - HDF5.read(file, "cytools/geometric/Kinv") - end - keys = ["L","Q","K"] - vals = [L, Q, Hermitian(inv(Kinv))] - return Dict(zip(keys,vals)) -end - -function Q(h11::Int,tri::Int,cy::Int=1) - Q::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/Q") - end - return Q -end - -function K(h11::Int,tri::Int,cy::Int=1) - K::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/K") - end - K = 0.5.* (K+transpose(K)) - return Hermitian(K) -end - -function L_log(h11::Int,tri::Int,cy::Int=1) - L::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/L") - end - return L -end - -function L_arb(h11::Int,tri::Int,cy::Int=1) - L::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/L") - end - Ltemp::Vector{ArbFloat} = zeros(ArbFloat,size(L,2)) - @inbounds for i in axes(L,1) - Ltemp[i] = ArbFloat.(L[i,1]) .* ArbFloat(10.) .^ ArbFloat.(L[i,2]) - end - return Ltemp -end - - -############################## -##### HDF5.read Vacua data ### -############################## - -function qshape(h11::Int,tri::Int,cy::Int=1) - square, vacua, extrarows = 0, 0, 0 - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r") do file - square = HDF5.read(file, "square") - vacua = HDF5.read(file, "vacua_estimate") - if haskey(file, "extra_rows") - extrarows = HDF5.read(file, "extra_rows") - end - end - (issquare = square, vacua_det = vacua, lengthα = extrarows) -end - -function vacua(h11::Int,tri::Int,cy::Int=1) - vacua::Float64 = 0. - θparallel_num::Matrix{Int} = zeros(Int,1,1) - θparallel_den::Matrix{Int} = zeros(Int,1,1) - Qtilde::Matrix{Int} = zeros(Int,1,1) - θparallel::Matrix{Float32} = zeros(Float32,1,1) - if h11 <= 50 - vacua, θparallel_num, θparallel_den, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "vacua/vacua"),HDF5.read(file, "vacua/thparallel/numerator"),HDF5.read(file, "vacua/thparallel/denominator"),HDF5.read(file, "vacua/Qtilde") - end - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), θparallel_num .// θparallel_den, Qtilde] - return Dict(zip(keys,vals)) - else - vacua, θparallel, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "vacua/vacua"),HDF5.read(file, "vacua/thparallel"),HDF5.read(file, "vacua/Qtilde") - end - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), Rational.(round.(θparallel; digits=8)), Qtilde] - return Dict(zip(keys,vals)) - end -end - -function vacua_TB(h11::Int,tri::Int,cy::Int=1) - vacua::Float64 = 0 - θparallel_num::Matrix{Int} = zeros(Int,1,1) - θparallel_den::Matrix{Int} = zeros(Int,1,1) - Qtilde::Matrix{Int} = zeros(Int,1,1) - θparallel::Matrix{Float32} = zeros(Float32,1,1) - if h11 <= 50 - vacua, θparallel_num, θparallel_den, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "vacua_TB/vacua"),HDF5.read(file, "vacua_TB/thparallel/numerator"),HDF5.read(file, "vacua_TB/thparallel/denominator"),HDF5.read(file, "vacua_TB/Qtilde") - end - keys = ["vacua","θ∥","Qtilde"] - vals = [abs(vacua), θparallel_num .// θparallel_den, Qtilde] - return Dict(zip(keys,vals)) - else - vacua, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "vacua_TB/vacua"),HDF5.read(file, "vacua_TB/Qtilde") - end - keys = ["vacua","Qtilde"] - vals = [abs(vacua), Qtilde] - return Dict(zip(keys,vals)) - end -end - -################################ -##### HDF5.read Spectra data ### -################################ - -function pq_spectrum(h11::Int,tri::Int,cy::Int=1) - Hvals::Vector{Float64}, fK::Vector{Float64}, fpert::Vector{Float64} = - h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "spectrum/masses/log10"), - HDF5.read(file, "spectrum/decay/fK"), HDF5.read(file, "spectrum/decay/fpert") - end - keys = ["m", "fK", "fpert"] - vals = [Hvals, fK, fpert] - return Dict(zip(keys,vals)) -end - -function hp_spectrum(h11::Int,tri::Int,cy::Int=1) - Hsign::Vector{Int64}, Hvals::Vector{Float64}, fK::Vector{Float64}, fpert::Vector{Float64}, - quartdiagsign::Vector{Int64},quartdiaglog::Vector{Float64}, - quart22_index,quart22_sign::Vector{Int},quart22_log10::Vector{Float64},quart31_index, - quart31_sign::Vector{Int}, - quart31_log10::Vector{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "spectrum/masses/sign"),HDF5.read(file, "spectrum/masses/log10"), - HDF5.read(file, "spectrum/decay/fK"), HDF5.read(file, "spectrum/decay/fpert"),HDF5.read(file, "spectrum/quartdiag/sign"), - HDF5.read(file, "spectrum/quartdiag/log10"),HDF5.read(file, "spectrum/quart31/index"),HDF5.read(file, "spectrum/quart31/sign"), - HDF5.read(file, "spectrum/quart31/log10"),HDF5.read(file, "spectrum/quart22/index"),HDF5.read(file, "spectrum/quart22/sign"), - HDF5.read(file, "spectrum/quart22/log10") - end - keys = ["msign","m", "fK", "fpert","λselfsign", "λself","λ31_i","λ31sign","λ31", "λ22_i","λ22sign","λ22"] - vals = [Hsign,Hvals, fK, fpert,quartdiagsign, quartdiaglog, - quart22_index,quart22_log10 ,quart31_index,quart31_log10] - return Dict(zip(keys,vals)) -end - -end - diff --git a/src/slurm.jl b/src/slurm.jl deleted file mode 100644 index e189c0c..0000000 --- a/src/slurm.jl +++ /dev/null @@ -1,11 +0,0 @@ -module slurm - -function writeslurm(id::Int,s::String) - slurmlog = joinpath("/usr","users","mehta2","slurmlog",string("slurm-",id,".out")) - open(slurmlog, "a") do outf - write(outf,s) - end -end -jobid = parse(Int64, ENV["SLURM_JOB_ID"]) - -end \ No newline at end of file diff --git a/src/structs.jl b/src/structs.jl deleted file mode 100644 index 8ed937f..0000000 --- a/src/structs.jl +++ /dev/null @@ -1,42 +0,0 @@ -module structs - -Base.@kwdef struct GeometryIndex{T<:Integer} - h11::T - tri::T - cy::T=1 -end - -struct AxionPotential - L::Matrix{Float64} - Q::Matrix{Int} - K::Matrix{Float64} -end - -struct LQLinearlyIndependent - Qtilde::Matrix{Int} - Qbar::Matrix{Int} - Lbar::Matrix{Float64} - Ltilde::Matrix{Float64} -end - -struct Projector - Π::Matrix{Rational} - Πperp::Matrix{Rational} -end - -struct ProjectedQ{T<:Real} - Ωperp::Matrix{T} - Ωparallel::Matrix{T} -end - - -struct CanonicalQBasis - Qhat::Matrix{Int} - Qbar::Matrix{Int} - Lhat ::Matrix{Float64} - Lbar ::Matrix{Float64} - α::Matrix{Rational} -end - - -end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl deleted file mode 100644 index f3edd81..0000000 --- a/test/runtests.jl +++ /dev/null @@ -1,9 +0,0 @@ -using CYAxiverse -using Test - -@testset "CYAxiverse.jl" begin - @testset "CYAxiverse.jl" begin - @test CYAxiverse.greet_CYAxiverse() == "Hello CYAxiverse!" - @test CYAxiverse.greet_CYAxiverse() != "Hello world!" - end -end From d2519cb3eb8bb58743cefa29122a205332ad1cb1 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 6 Dec 2022 17:20:53 +0100 Subject: [PATCH 002/245] rebase branches --- .github/ISSUE_TEMPLATE/bug_report.md | 38 + .github/ISSUE_TEMPLATE/feature_request.md | 20 + .github/workflows/CI.yml | 35 + .github/workflows/CompatHelper.yml | 16 + .github/workflows/Documentation.yml | 26 + .github/workflows/TagBot.yml | 15 + .gitignore | 3 + DockerFile_old | 114 ++ Dockerfile | 110 ++ LICENSE | 42 + LocalPreferences.toml | 6 + Project.toml | 51 + add_CYAxiverse.jl | 5 + add_functions/cytools_wrapper.jl | 330 ++++ add_functions/profiling.jl | 186 +++ docs/.gitignore | 2 + docs/Project.toml | 2 + docs/make.jl | 29 + docs/src/api.md | 50 + docs/src/assets/logo.png | Bin 0 -> 1392840 bytes docs/src/examples.md | 0 docs/src/index.md | 117 ++ docs/src/userguide.md | 4 + notebooks/optim_testing backup 1.jl | 813 ++++++++++ notebooks/optim_testing.jl | 834 +++++++++++ notebooks/optim_testing.qmd | 28 + scripts/Qeff.jl | 124 ++ scripts/optimize.jl | 98 ++ scripts/spectra.jl | 65 + scripts/testing/init.jl | 2 + scripts/testing/pluto.jl | 4 + scripts/testing/pluto_docker.jl | 6 + scripts/top_geom.jl | 156 ++ scripts/vacua.jl | 67 + src/.vscode/launch.json | 17 + src/.vscode/settings.json | 3 + src/CYAxiverse.jl | 36 + src/filestructure.jl | 421 ++++++ src/generate.jl | 1668 +++++++++++++++++++++ src/minimizer.jl | 489 ++++++ src/plotting.jl | 9 + src/read.jl | 214 +++ src/slurm.jl | 11 + src/structs.jl | 42 + test/runtests.jl | 9 + 45 files changed, 6317 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .github/workflows/Documentation.yml create mode 100644 .github/workflows/TagBot.yml create mode 100644 .gitignore create mode 100644 DockerFile_old create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 LocalPreferences.toml create mode 100644 Project.toml create mode 100644 add_CYAxiverse.jl create mode 100644 add_functions/cytools_wrapper.jl create mode 100644 add_functions/profiling.jl create mode 100644 docs/.gitignore create mode 100644 docs/Project.toml create mode 100644 docs/make.jl create mode 100644 docs/src/api.md create mode 100644 docs/src/assets/logo.png create mode 100644 docs/src/examples.md create mode 100644 docs/src/index.md create mode 100644 docs/src/userguide.md create mode 100644 notebooks/optim_testing backup 1.jl create mode 100644 notebooks/optim_testing.jl create mode 100644 notebooks/optim_testing.qmd create mode 100644 scripts/Qeff.jl create mode 100644 scripts/optimize.jl create mode 100644 scripts/spectra.jl create mode 100644 scripts/testing/init.jl create mode 100644 scripts/testing/pluto.jl create mode 100644 scripts/testing/pluto_docker.jl create mode 100644 scripts/top_geom.jl create mode 100644 scripts/vacua.jl create mode 100644 src/.vscode/launch.json create mode 100644 src/.vscode/settings.json create mode 100644 src/CYAxiverse.jl create mode 100644 src/filestructure.jl create mode 100644 src/generate.jl create mode 100644 src/minimizer.jl create mode 100644 src/plotting.jl create mode 100644 src/read.jl create mode 100644 src/slurm.jl create mode 100644 src/structs.jl create mode 100644 test/runtests.jl diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..4ae4c26 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,35 @@ +name: CI +on: + push: + branches: + - main + tags: '*' + pull_request: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.7' + - 'nightly' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..cba9134 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,16 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..68f64b2 --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,26 @@ +name: Documentation + +on: + push: + branches: + - dev # update to match your development branch (master, main, dev, trunk, ...) + tags: '*' + pull_request: + +jobs: + build: + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: '1.7' + - name: Install dependencies + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key + run: julia --project=docs/ docs/make.jl \ No newline at end of file diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..f49313b --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,15 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..163f91c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/Manifest.toml +.vscode/settings.json +src/clipboard.jl diff --git a/DockerFile_old b/DockerFile_old new file mode 100644 index 0000000..762b414 --- /dev/null +++ b/DockerFile_old @@ -0,0 +1,114 @@ +# Start from Debian Bullseye +FROM debian:bullseye + +# Define build arguments +ARG USERNAME +ARG USERID +ARG ARCH +ARG AARCH +ARG VIRTUAL_ENV +ARG ALLOW_ROOT_ARG +ARG PORT_ARG +ENV ALLOW_ROOT=$ALLOW_ROOT_ARG +ENV PORT=$PORT_ARG + +# Install dependencies +RUN apt-get -yqq update +RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata +RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal-dev\ + libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ + libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ + libflint-dev libflint-arb-dev python3 python3-pip\ + wget libmath-libm-perl python3-venv normaliz + +# Make a soft link to the arb library and flint headers so that python-flint can install +RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so +RUN ln -s /usr/include/flint/* /usr/include/ + +### Install MPI -- uncomment below to install openmpi-4.1.1 +# WORKDIR /opt/mpi +# RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz +# RUN gunzip -c openmpi-4.1.1.tar.gz | tar xf - +# RUN cd openmpi-4.1.1 && ./configure --prefix="$PWD/openmpi" && make && make all install && ldconfig && rm ../openmpi-4.1.1.tar.gz + + +# Set up non-root user +RUN groupadd -r -g $USERID $USERNAME && useradd -r -s /bin/bash -u $USERID -g $USERNAME -m $USERNAME\ + || echo "Skipping user creation" +USER $USERNAME + +# Create python virtual environment for non-root user +RUN python3 -m venv $VIRTUAL_ENV +ENV PATH="$VIRTUAL_ENV/bin:$PATH" + +# Install julia +WORKDIR /opt/cytools/ +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz +RUN tar xf julia-1.7.1-linux-x86_64.tar.gz +ENV PATH="$PWD/julia-1.7.1/bin:$PATH" +RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia +RUN rm julia-1.7.1-linux-x86_64.tar.gz + + + +# Install pip packages +ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse +RUN pip3 install --upgrade pip +RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython +RUN pip3 install python-flint matplotlib h5py +RUN pip3 install scikit-sparse cysignals gmpy2==2.1.0a4 +RUN pip3 install pplpy +RUN pip3 install julia +RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek +ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic + +# Fix cvxopt bug +USER root +RUN sed -i -e 's/mosek.solsta.near_optimal/ /g' $VIRTUAL_ENV/lib/python3.9/site-packages/cvxopt/coneprog.py + +# Install TOPCOM +WORKDIR /opt/cytools/external/topcom-mod +RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v0.17.8%2Bds-2%2Bcytools-1/topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb +RUN dpkg -i topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb + +# Copy code and installer +COPY . /opt/cytools/ +WORKDIR /opt/cytools/ +RUN python3 setup.py install + +# Copy CYAxiverse.jl package +WORKDIR /opt/ +RUN git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git +WORKDIR /opt/CYAxiverse.jl/ +ENV PYTHON="$VIRTUAL_ENV/bin/python3" +RUN julia --project="." add_CYAxiverse.jl + + +# Create CGAL code for different dimensions and compile +WORKDIR /opt/cytools/external/cgal +RUN for i in $(seq 1 6); do sed "26s/.*/const int D = ${i};/" triangulate.cpp > "triangulate-${i}d.cpp"; done; rm triangulate.cpp + +# Fix CGAL headers so that Eigen3 is imported correctly +RUN sed -i -e 's/Eigen\/Core/eigen3\/Eigen\/Core/g' /usr/include/CGAL/Dimension.h +RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/LA.h +RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/constructors.h + +RUN cgal_create_CMakeLists +RUN sed -i -e 's/find_package/find_package( Eigen3 3.3 REQUIRED )\nfind_package/g' /opt/cytools/external/cgal/CMakeLists.txt +RUN cmake . -DCMAKE_BUILD_TYPE=Release +# Must be single-threaded or it crashes on macOS +RUN make -j 1 +RUN for i in $(seq 1 6); do ln -s "/opt/cytools/external/cgal/triangulate-${i}d" "/usr/local/bin/cgal-triangulate-${i}d"; done + +# Set variables so that numpy is limited to one thread +ENV MKL_NUM_THREADS=1 +ENV NUMEXPR_NUM_THREADS=1 +ENV OMP_NUM_THREADS=1 +ENV OPENBLAS_NUM_THREADS=1 + +# Set entry path +WORKDIR /home/$USERNAME/mounted_volume + +# Start julia repl by default +USER $USERNAME +CMD julia --project=/opt/CYAxiverse/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9611e03 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,110 @@ +# Start from Debian Bullseye +FROM debian:bullseye + +# Define build arguments +ARG USERNAME +ARG USERID +ARG ARCH +ARG AARCH +ARG VIRTUAL_ENV +ARG ALLOW_ROOT_ARG +ARG PORT_ARG +ENV ALLOW_ROOT=$ALLOW_ROOT_ARG +ENV PORT=$PORT_ARG + +# Install dependencies +RUN apt-get -yqq update +RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata +RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal-dev\ + libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ + libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ + libflint-dev libflint-arb-dev python3 python3-pip\ + wget libmath-libm-perl python3-venv normaliz git + +# Make a soft link to the arb library and flint headers so that python-flint can install +RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so +RUN ln -s /usr/include/flint/* /usr/include/ + +# Set up non-root user +RUN groupadd -r -g $USERID $USERNAME && useradd -r -s /bin/bash -u $USERID -g $USERNAME -m $USERNAME\ + || echo "Skipping user creation" +USER $USERNAME + +# Create python virtual environment for non-root user +RUN python3 -m venv $VIRTUAL_ENV +ENV PATH="$VIRTUAL_ENV/bin:$PATH" + +# Install julia +WORKDIR /opt/cytools/ +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz +RUN tar xf julia-1.7.1-linux-x86_64.tar.gz +ENV PATH="$PWD/julia-1.7.1/bin:$PATH" +RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia +RUN rm julia-1.7.1-linux-x86_64.tar.gz + + +# Install pip packages +ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse +RUN pip3 install --upgrade pip +RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython qpsolvers osqp +RUN pip3 install python-flint matplotlib h5py +RUN pip3 install scikit-sparse cysignals gmpy2==2.1.0a4 +RUN pip3 install pplpy +RUN pip3 install julia +RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek +ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic + +# Fix cvxopt bug +USER root +RUN sed -i -e 's/mosek.solsta.near_optimal/ /g' $VIRTUAL_ENV/lib/python3.9/site-packages/cvxopt/coneprog.py + +# Install TOPCOM +WORKDIR /opt/cytools/external/topcom-mod +RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v0.17.8%2Bds-2%2Bcytools-1/topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb +RUN dpkg -i topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb + +# Copy code and installer +COPY . /opt/cytools/ +WORKDIR /opt/cytools/ +RUN python3 setup.py install + +# Copy CYAxiverse.jl package +WORKDIR /opt/ +RUN git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git +WORKDIR /opt/CYAxiverse.jl/ +ENV PYTHON="$VIRTUAL_ENV/bin/python3" +RUN julia --project="/opt/CYAxiverse.jl/" add_CYAxiverse.jl + +# Create CGAL code for different dimensions and compile +WORKDIR /opt/cytools/external/cgal +RUN for i in $(seq 2 5); do sed "27s/.*/typedef CGAL::Epick_d > K;/" cgal-triangulate.cpp > "cgal-triangulate-${i}d.cpp"; done; + +# Fix CGAL headers so that Eigen3 is imported correctly +RUN sed -i -e 's/Eigen\/Core/eigen3\/Eigen\/Core/g' /usr/include/CGAL/Dimension.h +RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/LA.h +RUN sed -i -e 's/Eigen\/Dense/eigen3\/Eigen\/Dense/g' /usr/include/CGAL/NewKernel_d/LA_eigen/constructors.h + +RUN cgal_create_CMakeLists +RUN sed -i -e 's/find_package/find_package( Eigen3 3.3 REQUIRED )\nfind_package/g' /opt/cytools/external/cgal/CMakeLists.txt +RUN cmake . -DCMAKE_BUILD_TYPE=Release +# Must be single-threaded or it crashes on macOS +RUN make -j 1 +RUN for i in $(seq 2 5); do ln -s "/opt/cytools/external/cgal/cgal-triangulate-${i}d" "/usr/local/bin/cgal-triangulate-${i}d"; done +RUN ln -s "/opt/cytools/external/cgal/cgal-triangulate" "/usr/local/bin/cgal-triangulate" + +# Set variables so that numpy is limited to one thread +ENV MKL_NUM_THREADS=1 +ENV NUMEXPR_NUM_THREADS=1 +ENV OMP_NUM_THREADS=1 +ENV OPENBLAS_NUM_THREADS=1 + +# Set entry path +WORKDIR /home/$USERNAME/mounted_volume + +# Start jupyter lab by default +USER $USERNAME +ENV JULIA_REVISE_POLL=1 +EXPOSE 8996 +ENV newARGS="docker" +CMD julia --project="/opt/CYAxiverse.jl/" /opt/CYAxiverse.jl/scripts/testing/pluto_docker.jl +# CMD jupyter lab --ip 0.0.0.0 --port $PORT --no-browser $ALLOW_ROOT diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..10be99a --- /dev/null +++ b/LICENSE @@ -0,0 +1,42 @@ +MIT License + +Copyright (c) 2022 Viraf M. Mehta + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +MIT License + +Copyright (c) 2022 vmmhep + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LocalPreferences.toml b/LocalPreferences.toml new file mode 100644 index 0000000..d88be56 --- /dev/null +++ b/LocalPreferences.toml @@ -0,0 +1,6 @@ +[MPIPreferences] +_format = "1.0" +abi = "OpenMPI" +binary = "system" +libmpi = "libmpi" +mpiexec = "mpiexec" diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..96f4c50 --- /dev/null +++ b/Project.toml @@ -0,0 +1,51 @@ +name = "CYAxiverse" +uuid = "e5e45d93-5055-4eab-878b-2e484be3f951" +authors = ["Viraf M. Mehta"] +version = "0.1.0" + +[deps] +AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442" +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +ClusterManagers = "34f1f09b-3a8b-5176-ab39-66d58a4d544e" +Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" +DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" +Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" +Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8" +DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1" +ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" +GenericLinearAlgebra = "14197337-ba66-59df-a3e3-ca00e7dcff7a" +HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" +LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" +MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" +MPIClusterManagers = "e7922434-ae4b-11e9-05c5-9780451d2c66" +MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781" +PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" +ProfileSVG = "132c30aa-f267-4189-9183-c8a63c7e05e6" +ProgressLogging = "33c8b6b6-d38a-422a-b730-caa89a2f386c" +PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" +Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" +SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +Tullio = "bc48ee85-29a4-5162-ae0b-a64e1601d4bc" + +[compat] +julia = "1.7" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/add_CYAxiverse.jl b/add_CYAxiverse.jl new file mode 100644 index 0000000..8638184 --- /dev/null +++ b/add_CYAxiverse.jl @@ -0,0 +1,5 @@ +using Pkg +Pkg.add("Revise") +Pkg.add("Pluto") +Pkg.instantiate() +exit() \ No newline at end of file diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl new file mode 100644 index 0000000..35f719e --- /dev/null +++ b/add_functions/cytools_wrapper.jl @@ -0,0 +1,330 @@ +############################################################################# +####### !!!!!! If this file stops the package compiling !!!!!! ############## +### !! First go into singularity / docker image and run julia !! ############ +##### !! then check ENV["PYTHON"] is set correctly !! ####################### +###### !! (if not, need to exit julia and export python path when !! ######## +######## !! loading singularity / docker image) !! ########################## +##### !! then Pkg.build("PyCall") -- this will then build it with !! ######## +##### !! the correct python installation, i.e. the one in the image !! ###### +##### !! now the package should recompile !! ################################ +############################################################################# + +""" + CYAxiverse.cytools_wrapper +Functions that wrap basic functionality of [CYTools](https://cytools.liammcallistergroup.com/) in order to pull polytopes from the [Kreuzer-Skarke Database](https://doi.org/10.4310/ATMP.2000.v4.n6.a2) + +""" +module cytools_wrapper + +using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate +using ..read: topology + +using PyCall +using HDF5 +using LinearAlgebra + +""" + __init__() +Here we initialise the CYTools functions +(for further details and argument info see https://cytools.liammcallistergroup.com/docs/documentation/): + +test_config() -- this function checks that the mosek_license file is found + +f_polytopes(h11,h12,h13,h21,h22,h31,chi,lattice,dim,n_points,n_vertices, + n_dual_points,n_facets,limit,timeout,as_list,backend, dualize,favorable) -- + this function pulls polytopes from the online KS database, i.e. calls fetch_polytopes + from CYTools + +poly(points, backend) -- this function allows access to the PyObject Polytope +""" +function __init__() + py""" + from cytools import config + import os + config.set_mosek_path(os.environ['HOME']) + config.check_mosek_license() + def test_config(): + return config.mosek_is_activated + """ + + py""" + import numpy as np + import scipy as sp + from cytools import fetch_polytopes + from cytools import Polytope + def f_polytopes(h11=None, h12=None, h13=None, h21=None, h22=None, h31=None, + chi=None, lattice=None, dim=4, n_points=None, + n_vertices=None, n_dual_points=None, n_facets=None, + limit=1000, timeout=60, as_list=False, backend=None, + dualize=False, favorable=None): + return fetch_polytopes(h11,h12,h13,h21,h22,h31,chi,lattice,dim,n_points,n_vertices, + n_dual_points,n_facets,limit,timeout,as_list,backend, dualize,favorable) + + def poly(points, backend=None): + return Polytope(points,backend) + """ +end + +fetch_polytopes(h11,limit; lattice="N",as_list=false,favorable=false) = py"f_polytopes(h11=$h11,limit=$limit, lattice=$lattice, as_list=$as_list, favorable=$favorable)" + +poly(points; backend=nothing) = py"poly($points, backend=$backend)" + + + +function topologies_generate(h11,n) + tri_test = [] + tri_test_m = [] + #Generate list of $n polytopes at $h11 + poly_test = fetch_polytopes(h11,4*n, lattice="N", as_list=true, favorable=true) + #Locator for points of polytope for saving + points = [p.points() for p in poly_test] + #If number of polytopes < $n, generate more triangulations per polytope, + #otherwise generate 1 triangulation per polytope upto $n + spt = size(poly_test,1) + m = nothing; + if spt == 0 + return [0, 0, 0, 0] + elseif spt < n && h11 > 3 + left_over = mod(n, spt) + m = n ÷ spt + if left_over == 0 + tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=1:spt]; + # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] + tri_test = vcat(tri_test_m...) + else + tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; + tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; + tri_test_m = vcat(tri_test_m1, tri_test_m) + # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] + # cy_num1 = [size(tri_test_m1[i],1) for i=1:size(tri_test_m1,1)] + # cy_num = vcat(cy_num1,cy_num) + tri_test = vcat(tri_test_m1...,tri_test_m...) + end + else + tri_test_m = nothing + tri_test = [poly_test[i].triangulate() for i=1:n]; + points = @view(points[1:n]) + end + simplices = [] + cy = [] + for t in eachindex(tri_test) + #Locator for simplices of triangulations for saving + push!(simplices,tri_test[t].simplices()) + #Generate list of CY3s + push!(cy,tri_test[t].get_cy()) + end + keys = ["m", "poly_tri", "poly_retri", "points", "simplices", "cy"] + vals = [m, tri_test, tri_test_m, points, simplices, cy] + + return Dict(zip(keys,vals)) +end + +""" + topologies(h11::Int, n::Int) + +This function generates and saves the topological data, _i.e._ `points` and `simplices` of the polytope, in a HDF5 file with path +`DATA_DIR/h11_XXX/np_YYYYYYY/cy_ZZZZZZZ/cyax.h5` + +Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] + +""" +function topologies(h11::Int, n::Int) + h11list_temp = [] + top_data = topologies_generate(h11, n) + m, tri_test, tri_test_m, points, simplices, cy = top_data["m"], top_data["poly_tri"], top_data["poly_retri"], top_data["points"], top_data["simplices"], top_data["cy"] + #Create dir for saving -- structure is h11_{$h11}.zfill(3)/np_{$tri}.zfill(7)/cy_{$cy}.zfill(7)/data + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"))) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"))) + end + if m === nothing + for tri in eachindex(tri_test) + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + end + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(1,7,"0"))) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(1,7,"0"))) + end + if isfile(cyax_file(h11,tri,1)) + rm(cyax_file(h11,tri,1)) + end + h5open(cyax_file(h11,tri,1), "cw") do file + f1 = create_group(file, "cytools") + f1a = create_group(f1, "geometric") + f1a["points",deflate=9] = Int.(points[tri]) + f1a["simplices",deflate=9] = Int.(simplices[tri]) + end + push!(h11list_temp, [h11,cy[tri],tri,1]) + end + else + t = 1 + for tri in eachindex(tri_test_m) + for cy_i in eachindex(tri_test_m[tri]) + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + end + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy_i,7,"0"))) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy_i,7,"0"))) + end + if isfile(cyax_file(h11,tri,cy_i)) + rm(cyax_file(h11,tri,cy_i)) + end + h5open(cyax_file(h11,tri,cy_i), "cw") do file + f1 = create_group(file, "cytools") + f1a = create_group(f1, "geometric") + f1a["points",deflate=9] = Int.(points[tri]) + f1a["simplices",deflate=9] = Int.(simplices[t]) + end + push!(h11list_temp, [h11,cy[t],tri,cy_i]) + t+=1 + end + end + end + h11list = hcat(h11list_temp...) + GC.gc() + return h11list +end + +""" + cy_from_poly(h11) + +Generates triangulations from already computed `points` and `simplices` of polytopes. + +Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] +""" +function cy_from_poly(h11) + h11list_temp = [] + h11list_inds = np_path_generate(h11) + for col in eachcol(h11list_inds) + h11,tri,cy_i = col + top_data = topology(h11,tri,cy_i) + points, simplices = top_data["points"], top_data["simplices"] + p = poly(points) + t = p.triangulate(simplices=simplices) + cy = t.get_cy() + push!(h11list_temp,[h11,cy,tri,cy_i]) + end + h11list = hcat(h11list_temp...) + GC.gc() + return h11list +end + +function geometries_generate(h11,cy,tri,cy_i=1) + glsm = zeros(Int,h11,h11+4) + basis = zeros(Int,h11) + tip = zeros(Float64,h11) + Kinv = zeros(Float64,h11,h11) + K = zeros(Float64,h11,h11) + tau = zeros(Float64,h11) + qprime = zeros(Int,h11+4,h11) + #Locator for h21s for saving + h21::Int = cy.h21() + #GLSM basis for saving + glsm = cy.glsm_charge_matrix(include_origin=false) + #Divisor basis for saving (allows for reproducibility) + basis = cy.divisor_basis() + #Find tip of SKC + n,m = 1,1 + tip = cy.toric_kahler_cone().tip_of_stretched_cone(sqrt(n)) + #Kinv at tip -- save this or save K? + Kinv = cy.compute_Kinv(tip) + Kinv = Hermitian(1/2 * Kinv + Kinv') + #Generate list of Q matrices -- only $h11+4 directions + qprime = cy.toric_effective_cone().rays() + #PTD volumes at tip + tau = cy.compute_divisor_volumes(tip)[basis] + while true + rhs_constraint = zeros(size(qprime,1)) + lhs_constraint = zeros(size(qprime,1),size(qprime,1)) + for i in axes(qprime,1) + for j in axes(qprime,1) + if i>j + lhs_constraint[i,j] = abs.(log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(tau, qprime[i,:] .+ qprime[j,:]))) + end + end + rhs_constraint[i] = abs.(log.(abs.(dot(tau, qprime[i, :]))) .+ (-2π * dot(tau, qprime[i,:]))) + end + if LowerTriangular(lhs_constraint .< rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) + break + else + m+=1e-2 + tip = m .* tip + #PTD volumes at tip + tau = cy.compute_divisor_volumes(tip)[basis] + #Kinv at tip -- save this or save K? + Kinv = cy.compute_Kinv(tip) + Kinv = Hermitian(1/2 * Kinv + Kinv') + end + end + if (minimum(tau) > 1.) + else + n = 1. / minimum(tau) + tip = sqrt(n) .* tip + #PTD volumes at tip + tau = cy.compute_divisor_volumes(tip)[basis] + #Kinv at tip -- save this or save K? + Kinv = cy.compute_Kinv(tip) + Kinv = Hermitian(1/2 * Kinv + Kinv') + end + tip_prefactor = [sqrt(n),m] + #Volume of CY3 at tip + V = cy.compute_cy_volume(tip) + + q = zeros(Int,h11+4+binomial(h11+4,2),h11) + L2 = zeros(Float64,binomial(h11+4,2),2) + n=1 + q[1:h11+4,:] = qprime + for i=1:size(qprime,1)-1 + for j=i+1:size(qprime,1) + q[h11+4+n,:] = qprime[i,:]-qprime[j,:] + L2[n,:] = [(pi*dot(qprime[i,:],(Kinv * qprime[j,:])) + + dot((qprime[i,:]+qprime[j,:]),tau))*8*pi/V^2 + -2*log10(exp(1))*pi*(dot(qprime[i,:],tau)+ dot(qprime[j,:],tau))] + n+=1 + end + end + #Use scalar potential eqn to generate \Lambda^4 (this produces a (h11+4,2) matrix + #where the components are in (mantissa, exponent)(base 10) format + #L1 are basis instantons and L2 are cross terms + L1 = zeros(h11+4,2) + for j in axes(qprime,1) + L1[j,:] = [(8*pi/V^2)*dot(qprime[j,:],tau) -2*log10(exp(1))*pi*dot(qprime[j,:],tau)] + end + #concatenate L1 and L2 + L = zeros(Float64,h11+4+binomial(h11+4,2),2) + L = vcat(L1,L2) + keys = ["h21", "glsm", "basis", "tip", "tip_prefactor", "CY_volume", "PTD_volumes", "Kinv", "L", "Q"] + vals = [h21, Int.(glsm), Int.(basis), Float64.(tip), Float64.(tip_prefactor), Float64(V), Float64.(tau), Float64.(Kinv), hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Int.(q)] + return Dict(zip(keys, vals)) +end + +function geometries(h11,cy,tri,cy_i=1) + geom_data = geometries_generate(h11, cy, tri, cy_i) + h5open(cyax_file(h11,tri,cy_i), "r+") do file + if haskey(file, "cytools/geometric/h21") + else + file["cytools/geometric/h21",deflate=9] = geom_data["h21"] + file["cytools/geometric/glsm",deflate=9] = geom_data["glsm"] + file["cytools/geometric/basis",deflate=9] = geom_data["basis"] + file["cytools/geometric/tip",deflate=9] = geom_data["tip"] + file["cytools/geometric/tip_prefactor",deflate=9] = geom_data["tip_prefactor"] + file["cytools/geometric/CY_volume",deflate=9] = geom_data["CY_volume"] + file["cytools/geometric/divisor_volumes",deflate=9] = geom_data["PTD_volumes"] + file["cytools/geometric/Kinv",deflate=9] = geom_data["Kinv"] + end + if haskey(file, "cytools/potential") + else + f1b = create_group(file, "cytools/potential") + f1b["L",deflate=9] = geom_data["L"] + f1b["Q",deflate=9] = geom_data["Q"] + end + end + GC.gc() + # return [h11,tri,cy_i] +end + +end \ No newline at end of file diff --git a/add_functions/profiling.jl b/add_functions/profiling.jl new file mode 100644 index 0000000..26d29e3 --- /dev/null +++ b/add_functions/profiling.jl @@ -0,0 +1,186 @@ +module profiling + +using HDF5 +using LinearAlgebra +using ArbNumerics, Tullio, LoopVectorization, Nemo +using GenericLinearAlgebra +using Distributions +using TimerOutputs + +using ..filestructure: cyax_file, minfile, present_dir +using ..read: potential + +function vacua(L::Matrix{Float64},Q::Matrix{Int}) + reset_timer!() + @timeit "h11" h11::Int = size(Q,2) + if h11 < 50 + ###### Nemo SNF ##### + @timeit "Nemo matrix" Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) + @timeit "SNF" T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] + @timeit "inv(T)" Tparallel1::Nemo.fmpz_mat = inv(T)[:,1:h11] + @timeit "convert T∥" Tparallel::Matrix{Int} = convert(Matrix{Int},Tparallel1) + + ###### wildart SNF ##### + # @timeit "SNF" F = smith(Q) + # @timeit "T" T::Matrix{Int} = F.S + # @timeit "inv(T)" Tparallel::Matrix{Int} = round.(inv(T)[:,1:h11]) + # println(size(T)) + + @timeit "θparallel" θparalleltest::Matrix{Float64} = inv(transpose(Float64.(Q)) * Float64.(Q)) * transpose(Float64.(Q)) * Float64.(Tparallel) + end + @timeit "zip LQ" LQtest::Matrix{Float64} = hcat(L,Q); + @timeit "sort LQ" LQsorted::Matrix{Float64} = LQtest[sortperm(L[:,2], rev=true), :] + @timeit "unzip LQ" Lsorted_test::Matrix{Float64},Qsorted_test::Matrix{Int} = LQsorted[:,1:2], Int.(LQsorted[:,3:end]) + @timeit "init Qtilde" Qtilde::Matrix{Int} = hcat(zeros(Int,size(Qsorted_test[1,:],1)),Qsorted_test[1,:]) + @timeit "init Ltilde" Ltilde::Matrix{Float64} = hcat(zeros(Float64,size(Lsorted_test[1,:],1)),Lsorted_test[1,:]) + @timeit "init S" S::Nemo.FmpzMatSpace = MatrixSpace(Nemo.ZZ,1,1) + @timeit "init m" m::Nemo.fmpz_mat = matrix(Nemo.ZZ,zeros(1,1)) + d::Int = 1 + @timeit "init Qbar" Qbar::Matrix{Int} = zeros(Int,size(Qsorted_test[1,:],1),1) + @timeit "init Lbar" Lbar::Matrix{Float64} = zeros(Float64,size(Lsorted_test[1,:],1),1) + for i=2:axes(Qsorted_test,1)[end] + @timeit "Matrix.Space" S = MatrixSpace(Nemo.ZZ, size(Qtilde,1), (size(Qtilde,2))) + @timeit "lin. ind." m = S(hcat(Qtilde[:,2:end],Qsorted_test[i,:])) + @timeit "NullSpace" d = Nemo.nullspace(m)[1] + if d == 0 + @timeit "Qtilde" Qtilde = hcat(Qtilde,Qsorted_test[i,:]) + @timeit "Ltilde" Ltilde = hcat(Ltilde,Lsorted_test[i,:]) + else + @timeit "Qbar" Qbar = hcat(Qbar,Qsorted_test[i,:]) + @timeit "Lbar" Lbar = hcat(Lbar,Lsorted_test[i,:]) + end + end + @timeit "Qtilde first pass" Qtilde = Qtilde[:,2:end] + @timeit "Qbar first pass" Qbar = Qbar[:,2:end] + @timeit "Ltilde first pass" Ltilde = Ltilde[:,2:end] + @timeit "Lbar first pass" Lbar = Lbar[:,2:end] + println(size(Qbar), size(Lbar),size(Ltilde),size(Qtilde)) + @timeit "Ltilde min" Ltilde_min::Float64 = minimum(Ltilde[2,:]) + println(Ltilde_min) + @timeit "Ldiff limit" Ldiff_limit::Float64 = log10(0.01) + @timeit "Qbar reduce" Qbar = Qbar[:, Lbar[2,:] .>= (Ltilde_min + Ldiff_limit)] + @timeit "Lbar reduce" Lbar = Lbar[:,Lbar[2,:] .>= (Ltilde_min + Ldiff_limit)] + @timeit "alpha" α::Matrix{Float64} = round.(Qbar' * inv(Qtilde')) + println(size(Qbar), size(Lbar), size(α), Qbar[:,1], Lbar[1,2]) + # println(α) + # i=1 + for i in axes(α,1) + index=0 + for j in axes(α,2) + if α[i,j] != 0. + index = j + end + end + if index!=0 + Ldiff::Float64 = round(Lbar[2,i] - Ltilde[2,index], digits=3) + if Ldiff > Ldiff_limit + println([i index α[i,index] Ldiff Lbar[2,i] Ltilde[2,index]]) + @timeit "Qtilde 2nd pass" Qtilde = hcat(Qtilde,Qbar[:,i]) + @timeit "Ltilde 2nd pass" Ltilde = hcat(Ltilde,Lbar[:,i]) + end + end + end + println(size(Qtilde)) + if h11 < 50 + if size(Qtilde,1) == size(Qtilde,2) + @timeit "vacua square" vacua = Int(round(abs(det(θparalleltest) / det(inv(Qtilde))))) + else + @timeit "vacua P!=N" vacua = round(abs(det(θparalleltest) / (1/sqrt(det(Qtilde * Qtilde'))))) + end + thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), thparallel, Qtilde] + print_timer() + return Dict(zip(keys,vals)) + else + if size(Qtilde,1) == size(Qtilde,2) + @timeit "vacua square" vacua = Int(round(abs(1 / det(inv(Qtilde))))) + else + @timeit "vacua P!=N" vacua = round(abs(sqrt(det(Qtilde * Qtilde')))) + end + + keys = ["vacua","Qtilde"] + vals = [abs(vacua), Qtilde] + print_timer() + return Dict(zip(keys,vals)) + end +end + + +function minimiser(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo,prec) + setprecision(ArbFloat; digits=prec) + Arb0 = ArbFloat(0.) + Arb1 = ArbFloat(1.) + Arb2π = ArbFloat(2π) + threshold = 0.01 + function QX(x::Vector) + Qx = zeros(ArbFloat,size(QV,1)); + @tullio Qx[c] = QV[c,i] * x[i] + return Qx + end + function fitness(x::Vector) + V = dot(LV,(Arb1 .- cos.(QX(x)))) + return V + end + function grad!(gradient::Vector, x::Vector) + grad_temp = zeros(ArbFloat, size(LV,1),h11) + @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) + @tullio gradient[i] = LV[c] * grad_temp[c,i] + end + function hess(x::Vector) + grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) + hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(h11,h11)) + hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + a = mod.(((ArbFloat.(θparalleltest) * xmin)/Arb2π),Arb1) + atilde = ArbFloat.(Qtilde) * xmin/Arb2π + a_sign = Int.(sign.(a)) + a_log = Float64.(log10.(abs.(a))) + atilde_sign = Int.(sign.(atilde)) + atilde_log = Float64.(log10.(abs.(atilde))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "±a","loga", "±ã", "logã", "eig(H)", "grad"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, a_sign, a_log, atilde_sign, atilde_log,Float64(log10(abs(minimum(eigen(hess(xmin)).values)))),sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ)))] + return Dict(zip(keys,vals)) + GC.gc() + end +end + +end \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..a303fff --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +build/ +site/ diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..dfa65cd --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,2 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..5e43ecd --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,29 @@ +push!(LOAD_PATH,"../src/") +using Documenter +using CYAxiverse + +makedocs( + sitename = "CYAxiverse.jl", + authors = "Viraf M. Mehta", + format = Documenter.HTML( + prettyurls = get(ENV, "CI", nothing) == "true", + canonical = "https://vmmhep.github.io/CYAxiverse.jl/stable/"), + modules = [CYAxiverse], + pages = [ + "Home" => "index.md" + "User guide" => "userguide.md" + "Examples" => "examples.md" + "API" => "api.md" + ] +) + +# Documenter can also automatically deploy documentation to gh-pages. +# See "Hosting Documentation" and deploydocs() in the Documenter manual +# for more information. +deploydocs(branch = "gh-pages", + repo = "github.com/vmmhep/CYAxiverse.jl.git", + devbranch = "dev", + target ="build", + deps = nothing, + make = nothing, + push_preview =true) \ No newline at end of file diff --git a/docs/src/api.md b/docs/src/api.md new file mode 100644 index 0000000..abd3ed5 --- /dev/null +++ b/docs/src/api.md @@ -0,0 +1,50 @@ +# Available functions +--- +```@meta +CurrentModule = CYAxiverse +``` +## `CYAxiverse.filestructure` +```@docs +CYAxiverse.filestructure +``` + +```@autodocs +Modules = [CYAxiverse.filestructure] +Pages = ["filestructure.jl"] +``` +## `CYAxiverse.generate` +```@docs +CYAxiverse.generate +``` + +```@autodocs +Modules = [CYAxiverse.generate] +Pages = ["generate.jl"] +``` +## `CYAxiverse.minimizer` +```@docs +CYAxiverse.minimizer +``` + +```@autodocs +Modules = [CYAxiverse.minimizer] +Pages = ["minimizer.jl"] +``` +## `CYAxiverse.read` +```@docs +CYAxiverse.read +``` + +```@autodocs +Modules = [CYAxiverse.read] +Pages = ["read.jl"] +``` +## `CYAxiverse.cytools_wrapper` +```@docs +add_functions/CYAxiverse.cytools_wrapper +``` + +```@autodocs +Modules = [CYAxiverse.cytools_wrapper] +Pages = ["add_functions/cytools_wrapper.jl"] +``` \ No newline at end of file diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..20fdc87673295ec5e70581d80a08484affafb651 GIT binary patch literal 1392840 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

    N##zJ*4ms?^ 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%0A%Re3f0{bW6TXRq@>fpADg!(%CIn0 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 z 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

    uFUM9c2~*lAIQAI7=?B9p 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

    O_K_l8|>; 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Ǹ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

    JnZ3Dl&cl;x*rU%;-H#?W6Efg;A4;3 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

  • u&aW&b{oQ@l%C?2ft~Xo9PSp1{ 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

    hzVEFKFgzlR+Yk67)}Co22rZ| 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%0A4_$zoai_A-q$IPTf_=#hAwV2f_jqL0GVv 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

    @0Vy#-A^l!_*YC#CE%B)=&#_Fw+ix6Xa~ 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%0D1S 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/src/examples.md b/docs/src/examples.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000..850327b --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,117 @@ +# CYAxiverse.jl + +A [Julia](https://julialang.org) package to compute axion/ALP spectra from string theory (using output of [CYTools](https://cytools.liammcallistergroup.com/)) + +--- + +## Authors ✒️ +[Viraf M. Mehta](https://inspirehep.net/authors/1228975) + +## Installation 💾 +!!! warning + This package is currently _not_ registered with the `julia` package manager and is still under development. **Use at your own risk!** + +!!! info + Currently this package runs in a docker container with `CYTools`. In time, the installation process will be automated. + +!!! warning + The Docker container is just over 3GB + +!!! tip + There are a couple of stages that take around 10-15 minutes to complete and so be ready with the kettle ☕ + +To build this docker container, follow these instructions (currently only appropriate for UNIX-based systems): + +- install the appropriate [Docker Desktop](https://docs.docker.com/desktop/) for your system +- in a terminal, create a new directory for `CYTools` and `CYAxiverse` e.g. +``` +export CYAXIVERSE_ROOT=$HOME/cyaxiverse && +export CYAXIVERSE_REPO=$CYAXIVERSE_ROOT/CYAxiverse_repo && +export CYTOOLS_REPO=$CYAXIVERSE_ROOT/CYTools_repo && +mkdir $CYAXIVERSE_ROOT && +mkdir $CYTOOLS_REPO && +mkdir $CYAXIVERSE_REPO +``` +!!! tip + Change `$HOME → /root/path/where/cyaxiverse/will/live` in the first line and it should propagate through + +!!! warning + A trailing `/` will break this, be careful. + +- clone the `CYTools` repository +``` +cd $CYTOOLS_REPO && +git clone https://github.com/LiamMcAllisterGroup/cytools.git +``` +- clone[^1] this repository (currently `dev` branch is up-to-date) + +[^1]: + one can also `git pull` the repository -- this would enable the `CYAxiverse.jl` package to be updated (while under development) with specific directory binding. Use this command instead: + ``` + mkdir $CYAXIVERSE_REPO/CYAxiverse.jl && + cd $CYAXIVERSE_REPO/CYAxiverse.jl && + git init && + git pull https://github.com/vmmhep/CYAxiverse.jl.git dev + ``` + and then you can keep this up-to-date as improvements are pushed with + ``` + git pull https://github.com/vmmhep/CYAxiverse.jl.git dev + ``` + +``` +cd $CYAXIVERSE_REPO && +git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git +``` +- replace the default `Dockerfile` in your `CYTools` directory with the `Dockerfile` in `$CYAXIVERSE_REPO` and move `add_CYAxiverse.jl` there too, _e.g._ +``` +mv $CYTOOLS_REPO/cytools/Dockerfile $CYAXIVERSE_ROOT/Dockerfile_CYTools && +cp $CYAXIVERSE_REPO/CYAxiverse.jl/Dockerfile $CYTOOLS_REPO/cytools/ && +cp $CYAXIVERSE_REPO/CYAxiverse.jl/add_CYAxiverse.jl $CYTOOLS_REPO/cytools/ +``` +- run the following command from your `CYTools` directory _e.g._ `cyaxiverse/cytools/` : +``` +docker build --no-cache --force-rm -t cyaxiverse:uid-$UID --build-arg USERNAME=cytools \ +--build-arg USERID=$UID --build-arg ARCH=amd64 \ +--build-arg AARCH=x86_64 --build-arg VIRTUAL_ENV=/home/cytools/cytools-venv/ \ +--build-arg ALLOW_ROOT_ARG=" " --build-arg PORT_ARG=$(($UID+2875)) . +``` +!!! note + This takes ~15 minutes on a + ``` + MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports) + Processor 2,3 GHz Dual-Core Intel Core i5 + Memory 16 GB 2133 MHz LPDDR3 + ``` + so make yourself a cup of tea 😃 +- create a `dir` for your data _e.g._ +``` +export CYAXIVERSE_DATA=$CYAXIVERSE_ROOT/CYAxiverse_database && +mkdir $CYAXIVERSE_DATA +``` +- you can now run your docker image with[^2] + +[^2]: + in order to keep `CYAxiverse.jl` up-to-date (while under development), bind the local `CYAxiverse` version with the `CYAxiverse.jl` directory in the Docker container, _e.g._ with the + ``` + --mount type=bind,source="$CYAXIVERSE_REPO/CYAxiverse.jl",target=/opt/CYAxiverse.jl,readonly + ``` + option included, _i.e._ + ``` + docker container run -it --mount type=bind,source=$CYAXIVERSE_DATA,target=/database\ + --mount type=bind,source=$CYAXIVERSE_REPO/CYAxiverse.jl,target=/opt/CYAxiverse.jl\ + -p 8994:8996 cyaxiverse:uid-$UID + ``` + Enabling this ensures the `CYAxiverse.jl` version compiled in the Docker container matches the one most recently `pull`ed from the repository. + +``` +docker container run -it --mount type=bind,source=$CYAXIVERSE_DATA,target=/database\ +-p 8994:8996 cyaxiverse:uid-$UID +``` +If this is the first run, `julia` will precompile the required packages for `CYAxiverse.jl` which, at the moment, takes about 5 minutes. Then, opening a browser and going to [`http://localhost:8994`](http://localhost:8994), you will be presented with the [`Pluto`](https://github.com/fonsp/Pluto.jl/wiki) notebook interface. You can save your new notebook in `/opt/CYAxiverse/notebooks`. + +Enjoy! +![:deploy_parrot:](https://emoji.slack-edge.com/T7DMEKZMH/deployparrot/ef6c902688cec864.gif) + + +## Acknowledgements 🙏 +This project was born after publication of [Superradiance in String Theory](https://iopscience.iop.org/article/10.1088/1475-7516/2021/07/033) and I am grateful to my collaborators for their input while this code was evolving. Huge thanks also to the authors of [CYTools](https://cy.tools/) for their ongoing hard work and to [Mona Dentler](https://inspirehep.net/authors/1635411) for constant help throughout the development of this package. diff --git a/docs/src/userguide.md b/docs/src/userguide.md new file mode 100644 index 0000000..830bb6b --- /dev/null +++ b/docs/src/userguide.md @@ -0,0 +1,4 @@ +# User guide + +!!! warning + Under construction \ No newline at end of file diff --git a/notebooks/optim_testing backup 1.jl b/notebooks/optim_testing backup 1.jl new file mode 100644 index 0000000..60e2f94 --- /dev/null +++ b/notebooks/optim_testing backup 1.jl @@ -0,0 +1,813 @@ +### A Pluto.jl notebook ### +# v0.19.11 + +using Markdown +using InteractiveUtils + +# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). +macro bind(def, element) + quote + local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end + local el = $(esc(element)) + global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) + el + end +end + +# ╔═╡ 3788df6d-c756-4b6a-8d75-8cd018ab2991 +begin + import Pkg + Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse") +end + +# ╔═╡ d1f78454-3ba0-4569-a491-f52e737c7dc3 +begin + using Revise + using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging + using CYAxiverse +end + +# ╔═╡ fee399f9-2668-41e0-a296-37b348a04769 +md""" +# Vacua search -- Numerics +""" + +# ╔═╡ 90f44877-6310-49b1-9331-f8601918e4b3 +md""" +### This notebook randomly selects a geometry in our database that may contain multiple minima and then runs a numerical optimisation routine to find them +""" + +# ╔═╡ 2000a078-38f5-4c93-8627-ba6b4970aef6 +html""" + +""" + +# ╔═╡ 7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +begin + ENV["newARGS"] = string("vacua_stretch") + md""" + The database we are using is $(ENV["newARGS"]) + """ +end + +# ╔═╡ 9071d014-a286-4f6f-bafc-648c1954d3d7 +begin + h11list = CYAxiverse.filestructure.paths_cy()[2] + md""" + There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) + """ +end + +# ╔═╡ 4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 +@bind go PlutoUI.Button("Run another example") + +# ╔═╡ e1fdc533-efc0-4012-8464-3db601f66819 +begin + min_idx = 7_000 + max_idx = 35_001 + md""" + Finding a suitable example between $(h11list[1,min_idx]) `` \leq h^{1,1} < `` $(h11list[1,max_idx]) + """ +end + +# ╔═╡ 8699f77c-4a59-4194-9f08-f878b65b93ba +h11, tri, cy = 50, 10, 1 + +# ╔═╡ 281b0be2-86fd-4201-871a-7e362b5872d7 +# ╠═╡ disabled = true +#=╠═╡ +# let +# go +# @progress for i=rand(min_idx:max_idx,1000) +# global h11,tri,cy = h11list[:,i] +# LQtildebar_data = CYAxiverse.generate.LQtildebar(h11,tri,cy; threshold=0.01) +# Qtilde = LQtildebar_data["Qtilde"] +# if size(Qtilde,1) != size(Qtilde,2) && size(LQtildebar_data["Qeff"],1) ≤ 20 +# break +# else +# global h11, tri, cy = 9, 256, 1 +# end +# end; +# end; + ╠═╡ =# + +# ╔═╡ 871778ce-735d-49ed-b6f5-ab68f127ad32 +md""" +The system we are considering is identified by: + ``h^{1,1}`` = $h11; Polytope number = $tri; FRST number = $cy +""" + +# ╔═╡ 0b13b99a-9c7d-4117-90ba-e74baf49054d +pot_data = CYAxiverse.read.potential(h11,tri,cy); + +# ╔═╡ 4cfe15ea-1a7f-4af3-9602-6eac3732232a +τ = CYAxiverse.read.geometry(h11,tri,cy)["τ_volumes"] + +# ╔═╡ 0b261480-4109-41f9-ac4e-52d040b20efe +Kinv = CYAxiverse.read.geometry(h11,tri,cy)["Kinv"] + +# ╔═╡ 33fc2f88-c402-4394-83c9-10df2e7a6d96 +qprime = pot_data["Q"][1:h11+4,:] + +# ╔═╡ 6c6bd3c6-4019-426c-9188-e63debe0fe8b +size(pot_data["L"]) + +# ╔═╡ b5020c4c-d37f-4ad0-9633-ebdef6898afc +rhs_constraint = zeros(size(qprime,1)); + +# ╔═╡ 1c45d205-f8fb-4d1f-8d57-0d6d46ce622f +lhs_constraint = zeros(size(qprime,1),size(qprime,1)); + +# ╔═╡ fd53a8a1-c782-4f31-bf8a-1403de56b64d +for i=1:h11+4 + for j=1:h11+4 + if i>j + lhs_constraint[i,j] = log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(τ, qprime[i,:] .+ qprime[j,:])) + end + end + rhs_constraint[i] = log.(abs.(dot(qprime[i,:],τ))) .+ (-2π * dot(τ, qprime[i,:])) +end + +# ╔═╡ 4993e5d8-48f1-4b4e-878c-9576e7bfc85c +lhs_constraint + +# ╔═╡ 5abd2caa-8d2d-4c8b-b064-a0426447b392 +LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) + +# ╔═╡ 07f43035-2e72-47b1-baef-7258c65a13c8 +constraint = LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) + +# ╔═╡ 64f3ac82-0f2b-4092-b904-b750ec16a309 +[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4] + +# ╔═╡ 6f614ec4-c03f-4d65-bd3b-153a31c23da4 +[rhs_constraint[i] for i in [i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ 622570d7-a3fa-4bd0-8d1d-5762490e8ad0 +lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], [i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ 6c5a1870-3657-4978-995f-578fe9d0602c +lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], :] + +# ╔═╡ cd6bbbd5-321f-4868-b0e7-71b96965bef7 +constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4],[i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ a1dfa08c-1056-4e15-a040-4de1276f400c +mod10(x) = (mod(x / 2π, 1) ≈ 1 || mod(x / 2π, 1) ≈ 0 ? 0 : x) + +# ╔═╡ ecfc017c-5eca-41b2-ba3e-71d6dbe68403 +function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64 = 1e-2) + setprecision(ArbFloat,digits=5_000) + LQtildebar = LQtildebar(L, Q; threshold=threshold) + Ltilde = LQtildebar["Ltilde"][:,sortperm(LQtildebar["Ltilde"][2,:], rev=true)] + Qtilde = LQtildebar["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] + Qtilde = Matrix{Int}(Qtilde') + basis_vectors = zeros(size(Qtilde,1), size(Qtilde,1)) + idx = 1 + while idx ≤ size(Qtilde,2) + Qsub = Qtilde[:,idx] + Lsub = Ltilde[:,idx] + while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[:,idx+1], Qtilde[:,idx]) != 0 + Lsub = hcat(Lsub, Ltilde[:, idx+1]) + Qsub = hcat(Qsub, Qtilde[:, idx+1]) + idx += 1 + end + if size(Qsub,2) == 1 + basis_vectors[idx,:] = Qsub + idx += 1 + else + Lsubdiff = Lsub[2,:] .- Lsub[2,1] + Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; + Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] + Qsub = Qsub[:,Qsubmask] + for run_number = 1:10_000 + x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) + res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer + res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] + end + xmin = hcat(res["xmin"]...) + for i in eachcol(xmin) + i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) + end + xmin = xmin[:, [sum(i)!=0 for i in eachcol(xmin)]] + xmin = xmin[:,sortperm([sqrt(sum(abs2,i)) for i in eachcol(xmin)])] + lattice_vecs = lattice_minimize(xmin) ##need to write lattice minimizer + basis_vectors[idx-size(lattice_vecs,2):idx, :] = lattice_vecs + end + proj = project_out(Qtilde[i,:]) + #this is the scipy.linalg.orth function written out + u, s, vh = svd(proj,full=true) + M, N = size(u,1), size(vh,2) + rcond = eps() * max(M, N) + tol = maximum(s) * rcond + num = Int.(round(sum(s[s .> tol]))) + T = u[:, 1:num] + Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) + LinearAlgebra.mul!(Qtilde_i, Qtilde, T) + Qtilde = copy(Qtilde_i) + end + return basis_vectors +end + +# ╔═╡ dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 +size(log.(abs.([(pi*dot(qprime[i,:],(Kinv * qprime[j,:]))) for i=1:h11+4,j=1:h11+4 if i=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i=1:size(hind1,1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) + hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i=1:size(hind1,1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] + return Dict(zip(keys,vals)) + GC.gc() + # end +end + +# ╔═╡ 316f3ae8-0110-4514-b132-38ddaa56b1ef +md""" +The smallest gradient element after a scan of 100 random points in the potential is +≈ 1e$(Float64(log10(minimum(gradσ[gradσ .> 0])))) +""" + +# ╔═╡ 42445c21-0608-4330-b04d-0ee49f592318 +Lfull = ArbFloat.(LQtilde["Leff"][1,:]) .* ArbFloat(10.) .^ ArbFloat.(LQtilde["Leff"][2,:]); + +# ╔═╡ 4fb9299e-564a-467c-8b15-9ebd1438b135 +md""" +The size of ``\mathcal{Q}_\mathrm{eff}`` is $(size(LQtilde["Qeff"]')) reduced from $(size(pot_data["Q"])) +""" + +# ╔═╡ 2eb2a848-14f3-4b10-a93f-d845b8d4daab +Markdown.parse(""" +The axions that contribute to the _effective_ or _reduced_ potential are ``\\tilde{\\theta}_i`` for i ∈ $((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) +""") + +# ╔═╡ 5bae78d1-8cf6-415c-8608-cc187a80759c +begin + Markdown.parse(""" + The instantons that generate the _effective_ or _reduced_ potential are ``\\tilde{\\Lambda}_a`` for a ∈ $(collect(1:size(LQtilde["Qtilde"],2))[LQtilde["Qcolmask"]]) + """) +end + +# ╔═╡ 89873528-0803-4a26-8cae-f560e8e3090f +begin + min_data = [] + @progress for i=1:500 + x0 = ArbFloat.(rand(Uniform(0,2π),size(LQtilde["Qeff"],1))) .* rand(ArbFloat,size(LQtilde["Qeff"],1)) + global prec = Int(round(abs(minimum(LQtilde["Leff"][2,:]))))+10 + min_data_temp = CYAxiverse.minimizer.minimize(h11,tri,cy,Lfull ./ maximum(Lfull),Matrix{ArbFloat}(LQtilde["Qeff"]'),x0,gradσ,algo_hz, prec < 1_000 ? prec : 1_000) + if min_data_temp["Hsign"] > 0 + push!(min_data,min_data_temp) + end + if size(min_data,1) == 200 + break + end + global num_limit = i + end + md""" + **There are $(size(min_data,1)) minima found from $(num_limit) numerical searches to $(min(1_000,prec)) significant figures** + """ +end + +# ╔═╡ a7d02d1c-01de-4b37-908d-0683cd7117a0 +[LQtilde["Leff"][2,:][Vector{Bool}(abs.(LQtilde["Qeff"][i,:]))] for i=1:size(LQtilde["Qeff"],1)] + +# ╔═╡ e96e7f3f-802f-421c-a4e4-f60aa18f646d +size(LQtilde["Qtilde"][:,1][LQtilde["Qtilde"][:,1] .== 0]) + +# ╔═╡ 6030dcb9-16c9-42f9-a214-286784de3100 +LQtilde["Qtilde"][:,9] + +# ╔═╡ 8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e +[i for (i,item) = enumerate(eachcol(LQtilde["Qtilde"])) if size(item[item .== 0],1) != h11-1] + +# ╔═╡ c703a028-4686-4f6e-a3b5-75cc71f1b434 +size(LQtilde["Qrowmask"]), size(LQtilde["Qcolmask"]) + +# ╔═╡ 41e2169d-65ff-44cb-9828-68e1c4a530d2 +function potential(L,Q,x) + V = dot(L,(ArbFloat(1.) .- cos.(Q' * x))) +end; + +# ╔═╡ 70b9770a-57c3-4ad4-90b8-f4efabc04ed0 +function grad_potential(L, Q, x::Number) + ∂V = dot(L, Q' .* sin.(Q' * x)) +end + +# ╔═╡ 9775a872-8a9a-4286-8ae7-c34c6560ed39 +function grad_potential(L, Q, x::Vector) + Q1 = Q[1, :]' + Q2 = Q[2, :]' + θ1 = x[1] + θ2 = x[2] + ∂V1 = dot(L, Q1 .* sin.(Q1 * θ1)) + ∂V2 = dot(L, Q2 .* sin.(Q2 * θ2)) + [∂V1, ∂V2] +end + +# ╔═╡ e1e6d095-f11a-40b7-8dc4-51952c4bdb30 +LQtilde["Qrowmask"] + +# ╔═╡ 7801297e-c52e-48e0-92d6-d58839afe7e3 +begin + xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i=1:size(min_data,1)]; + xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i=1:size(LQtilde["Qtilde"],1)] for _ in xtest] + for i=1:size(xtest,1) + for (j,k) in enumerate((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) + xmin_test[i][k] = xtest[i][j] + end + xtest[i] = inv(LQtilde["Qtilde"][:,1:size(LQtilde["Qtilde"],1)]') * xmin_test[i] ##Should this be Qtilde' or not in my code?! + end +end + +# ╔═╡ fd81eff2-d87b-4a5c-945d-8b9096ee5737 +xmin_test[1] + +# ╔═╡ 2fbee316-ca49-46c5-9afe-c1fe561ea948 +Ltest = ArbFloat.(LQtilde["Ltilde"][1,:] .* 10. .^ LQtilde["Ltilde"][2,:]); + +# ╔═╡ a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 +Qtest = ArbFloat.(Matrix{Float64}(LQtilde["Qtilde"])); + +# ╔═╡ 910dc6ba-9ad0-4f19-addb-81d882d6322c +xs = range(-0.5π,2.5π,length=300); + +# ╔═╡ a45e6c9d-b616-48c9-a7c2-0afe9d835516 +ys = xs; + +# ╔═╡ ebff481b-fcc3-4644-b766-c810c5131892 +md""" +Show 1D or 2D plot? +""" + +# ╔═╡ 27e7776b-1443-4cf0-b5d4-3985d89b85b5 +@bind plot_dims confirm(PlutoUI.Select(["1D","2D"])) + +# ╔═╡ 2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 +LQtilde["Qeff"] + +# ╔═╡ 3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a +LQtilde["Ltilde"] + +# ╔═╡ 4e6bbc87-bc60-47c2-960e-1084afed680f +hcat(xtest...) + +# ╔═╡ ee2060d2-00da-4ede-998e-23bd7805efc9 +[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)] + +# ╔═╡ 732bc5bb-419b-4361-a331-b563d15f1db1 +LQtilde["Qtilde"][:,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] * LQtilde["Ltilde"][2,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] + +# ╔═╡ c8507013-7fe1-4558-8992-53ecb650fe4d +md""" +Set which axion direction(s) to plot: +""" + +# ╔═╡ 4d96cbc5-f27c-4cf8-aac9-f73988761a09 +if plot_dims == "1D" + @bind axion confirm(PlutoUI.Select((1:size(LQtilde["Qtilde"],1)))) + # [hcat(xtest...)[:,1] .!= 0. .&& abs.(hcat(xtest...)[:,1]) .!= Float64(π),:][:,1])) +else + @bind axion confirm(PlutoUI.Select([[i,j] for i in (1:size(LQtilde["Qtilde"],1)), j in (1:size(LQtilde["Qtilde"],1)) if i notonemin_list[1,:] .- 10] + ╠═╡ =# + +# ╔═╡ 766cffea-b562-4997-9b2a-f05a27c59c2e +# ╠═╡ disabled = true +#=╠═╡ +@time test_mass = CYAxiverse.generate.pq_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]) + ╠═╡ =# + +# ╔═╡ 9d2af162-ce30-475b-921b-766e34692fc4 +# ╠═╡ disabled = true +#=╠═╡ +@time test_spec = CYAxiverse.generate.hp_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]; prec=5_000) + ╠═╡ =# + +# ╔═╡ 962576a8-fef2-48c4-b7fa-48ff5424298c +# ╠═╡ disabled = true +#=╠═╡ +test_spec["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] + ╠═╡ =# + +# ╔═╡ c7eeaa51-71b9-4b40-85cc-02063c64b8ce +# ╠═╡ disabled = true +#=╠═╡ +test_mass["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] + ╠═╡ =# + +# ╔═╡ 5f8113f3-59c3-42d4-8544-a61838381407 +# ╠═╡ disabled = true +#=╠═╡ +for t=4:100 + n = lpad(t,3,"0") + h5open("/scratch/users/mehta2/vacua_0822/h11_$n/np_0000001/cy_0000001/cyax.h5","r") do file + if haskey(file, "cytools/geometric/h21") + println("Gone too far") + else + [[string("$i/",keys(file[i]),"/",keys(file[i][j])) for j in keys(file[i])] for i in keys(file)] + end + end +end + ╠═╡ =# + +# ╔═╡ 4dea5c0f-fb4e-4510-9aab-902658407641 +# ╠═╡ disabled = true +#=╠═╡ +CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=0.5) + ╠═╡ =# + +# ╔═╡ Cell order: +# ╟─fee399f9-2668-41e0-a296-37b348a04769 +# ╟─90f44877-6310-49b1-9331-f8601918e4b3 +# ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 +# ╠═d1f78454-3ba0-4569-a491-f52e737c7dc3 +# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +# ╟─3788df6d-c756-4b6a-8d75-8cd018ab2991 +# ╟─fbb69bcb-64c6-42c2-8ce1-666f397eb40e +# ╠═b1362f7d-55e5-48d6-a695-f3bf59d8bf99 +# ╟─e556408b-25f7-4fae-ba0b-243242279ba8 +# ╟─9071d014-a286-4f6f-bafc-648c1954d3d7 +# ╟─4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 +# ╠═e1fdc533-efc0-4012-8464-3db601f66819 +# ╠═8699f77c-4a59-4194-9f08-f878b65b93ba +# ╠═281b0be2-86fd-4201-871a-7e362b5872d7 +# ╟─871778ce-735d-49ed-b6f5-ab68f127ad32 +# ╟─0b13b99a-9c7d-4117-90ba-e74baf49054d +# ╠═4cfe15ea-1a7f-4af3-9602-6eac3732232a +# ╠═0b261480-4109-41f9-ac4e-52d040b20efe +# ╠═33fc2f88-c402-4394-83c9-10df2e7a6d96 +# ╠═6c6bd3c6-4019-426c-9188-e63debe0fe8b +# ╠═b5020c4c-d37f-4ad0-9633-ebdef6898afc +# ╠═1c45d205-f8fb-4d1f-8d57-0d6d46ce622f +# ╠═fd53a8a1-c782-4f31-bf8a-1403de56b64d +# ╠═4993e5d8-48f1-4b4e-878c-9576e7bfc85c +# ╠═5abd2caa-8d2d-4c8b-b064-a0426447b392 +# ╠═07f43035-2e72-47b1-baef-7258c65a13c8 +# ╠═64f3ac82-0f2b-4092-b904-b750ec16a309 +# ╠═6f614ec4-c03f-4d65-bd3b-153a31c23da4 +# ╠═622570d7-a3fa-4bd0-8d1d-5762490e8ad0 +# ╠═6c5a1870-3657-4978-995f-578fe9d0602c +# ╠═cd6bbbd5-321f-4868-b0e7-71b96965bef7 +# ╠═77dd1f33-15b4-4885-9152-34427bcd7c4f +# ╠═999ffbe3-a67e-4d6a-86ed-30687afb2da5 +# ╠═eb2b9729-af3c-412e-8133-e07fbcdaee49 +# ╠═757b5ac0-5148-4980-ac09-d6e5e2930399 +# ╠═b9733f0f-4869-4af5-9d65-2bb092e0bf54 +# ╠═14945e1d-39c5-4975-ae0d-67d057f024d0 +# ╠═2fb703ac-e71a-4574-9aa6-eadef19ba8e6 +# ╠═a1dfa08c-1056-4e15-a040-4de1276f400c +# ╠═6307dc3a-8905-4773-b7fd-2daf60ed40f9 +# ╠═676080a2-e02b-4632-89a1-e906d282051e +# ╠═18eac169-749c-488d-8335-29f74e53975d +# ╠═5b362ce3-614e-4b98-b4e7-cfdf5e3a1043 +# ╠═ecfc017c-5eca-41b2-ba3e-71d6dbe68403 +# ╠═363b43f0-33b8-466a-bcdf-fccfede32f98 +# ╠═dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 +# ╠═ac863bc3-5386-4422-93cc-8dc7db09bb03 +# ╠═d6dfc108-d25a-4a7c-838d-ac5e7da43c49 +# ╠═7ecff719-84c4-474e-a4cb-a3d38fe04e16 +# ╠═51c5832f-afdd-4d76-8f4a-6b26fdc3e85e +# ╟─1facdec9-789b-48c5-98e2-f522f8b75f0f +# ╟─8cd946f8-5909-4ed9-a5e7-1d11efded856 +# ╟─0c0b9219-f2e1-4333-b775-10a98d1fd798 +# ╟─b0f33ae9-6056-4e0d-b79f-b7d880fd6016 +# ╟─5035d43e-24fb-40b3-b928-0e544e6d62cd +# ╟─bbc6437d-1010-49cc-ae82-0a247c8e0eec +# ╠═5ede58ca-dec2-4419-837b-7307f28a2005 +# ╟─316f3ae8-0110-4514-b132-38ddaa56b1ef +# ╠═42445c21-0608-4330-b04d-0ee49f592318 +# ╟─4fb9299e-564a-467c-8b15-9ebd1438b135 +# ╟─2eb2a848-14f3-4b10-a93f-d845b8d4daab +# ╟─5bae78d1-8cf6-415c-8608-cc187a80759c +# ╠═89873528-0803-4a26-8cae-f560e8e3090f +# ╠═a7d02d1c-01de-4b37-908d-0683cd7117a0 +# ╠═e96e7f3f-802f-421c-a4e4-f60aa18f646d +# ╠═6030dcb9-16c9-42f9-a214-286784de3100 +# ╠═8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e +# ╠═c703a028-4686-4f6e-a3b5-75cc71f1b434 +# ╠═41e2169d-65ff-44cb-9828-68e1c4a530d2 +# ╠═70b9770a-57c3-4ad4-90b8-f4efabc04ed0 +# ╠═9775a872-8a9a-4286-8ae7-c34c6560ed39 +# ╠═e1e6d095-f11a-40b7-8dc4-51952c4bdb30 +# ╠═7801297e-c52e-48e0-92d6-d58839afe7e3 +# ╠═fd81eff2-d87b-4a5c-945d-8b9096ee5737 +# ╠═2fbee316-ca49-46c5-9afe-c1fe561ea948 +# ╠═a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 +# ╠═910dc6ba-9ad0-4f19-addb-81d882d6322c +# ╠═a45e6c9d-b616-48c9-a7c2-0afe9d835516 +# ╟─ebff481b-fcc3-4644-b766-c810c5131892 +# ╠═27e7776b-1443-4cf0-b5d4-3985d89b85b5 +# ╠═2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 +# ╠═3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a +# ╠═4e6bbc87-bc60-47c2-960e-1084afed680f +# ╠═ee2060d2-00da-4ede-998e-23bd7805efc9 +# ╠═732bc5bb-419b-4361-a331-b563d15f1db1 +# ╠═c8507013-7fe1-4558-8992-53ecb650fe4d +# ╠═4d96cbc5-f27c-4cf8-aac9-f73988761a09 +# ╠═b54d02e9-634d-4451-a942-fc0a57c935d3 +# ╠═5437ccfc-224f-4744-b08a-994460f7f2bb +# ╠═a422be5b-4031-4f34-b0db-a1c380d61351 +# ╠═1c32e0b9-1243-44d1-9a4f-54d966abbee9 +# ╠═16c15a91-7f4d-4d13-8a9f-2c155cf31037 +# ╠═c1b94e33-c604-42b9-a103-a551fb1ca93a +# ╠═2b382a1a-fd60-4ecd-b550-c396d7496d0f +# ╟─8e30171e-0146-450e-b31d-26a18adb2fe3 +# ╠═3b5c385d-fd90-4b49-8155-0d28582a1384 +# ╠═f11dfbf2-7d3a-4d90-b6f9-3fbf8cc6f764 +# ╠═bcc4d307-8aa5-497b-af76-ad000fd62b72 +# ╠═d2ec3683-4e96-41cd-8e6b-51f45c31df89 +# ╠═61dae36d-46e2-45db-b6a1-90132febf8a6 +# ╠═2fe9315e-90d5-4e56-844b-61fde4902091 +# ╠═054dfb58-c816-48d7-bb12-9d43e1715efb +# ╠═766cffea-b562-4997-9b2a-f05a27c59c2e +# ╠═9d2af162-ce30-475b-921b-766e34692fc4 +# ╠═962576a8-fef2-48c4-b7fa-48ff5424298c +# ╠═c7eeaa51-71b9-4b40-85cc-02063c64b8ce +# ╠═5f8113f3-59c3-42d4-8544-a61838381407 +# ╠═4dea5c0f-fb4e-4510-9aab-902658407641 diff --git a/notebooks/optim_testing.jl b/notebooks/optim_testing.jl new file mode 100644 index 0000000..bb8fc3c --- /dev/null +++ b/notebooks/optim_testing.jl @@ -0,0 +1,834 @@ +### A Pluto.jl notebook ### +# v0.19.11 + +using Markdown +using InteractiveUtils + +# This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). +macro bind(def, element) + quote + local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end + local el = $(esc(element)) + global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) + el + end +end + +# ╔═╡ 3788df6d-c756-4b6a-8d75-8cd018ab2991 +begin + import Pkg + Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse") +end + +# ╔═╡ d1f78454-3ba0-4569-a491-f52e737c7dc3 +begin + using Revise + using HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Nemo + using CYAxiverse +end + +# ╔═╡ 7fb60b52-1158-4bcb-b5e0-1e3ebd1ad52b +using PlutoUI + +# ╔═╡ fee399f9-2668-41e0-a296-37b348a04769 +md""" +# Vacua search -- Numerics +""" + +# ╔═╡ 90f44877-6310-49b1-9331-f8601918e4b3 +md""" +### This notebook randomly selects a geometry in our database that may contain multiple minima and then runs a numerical optimisation routine to find them +""" + +# ╔═╡ 2000a078-38f5-4c93-8627-ba6b4970aef6 +html""" + +""" + +# ╔═╡ 7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +begin + ENV["newARGS"] = string("vacua_stretch") + md""" + The database we are using is $(ENV["newARGS"]) + """ +end + +# ╔═╡ 9071d014-a286-4f6f-bafc-648c1954d3d7 +begin + h11list = CYAxiverse.filestructure.paths_cy()[2] + md""" + There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) + """ +end + +# ╔═╡ 25e1eb34-0e4b-4bf2-ac1b-228545bb82a8 +h11list + +# ╔═╡ 4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 +@bind go PlutoUI.Button("Run another example") + +# ╔═╡ e1fdc533-efc0-4012-8464-3db601f66819 +begin + min_idx = 7_000 + max_idx = 35_001 + md""" + Finding a suitable example between $(h11list[1,min_idx]) `` \leq h^{1,1} < `` $(h11list[1,max_idx]) + """ +end + +# ╔═╡ 8699f77c-4a59-4194-9f08-f878b65b93ba +h11, tri, cy = 35, 10, 1 + +# ╔═╡ 281b0be2-86fd-4201-871a-7e362b5872d7 +# ╠═╡ disabled = true +#=╠═╡ +# let +# go +# @progress for i=rand(min_idx:max_idx,1000) +# global h11,tri,cy = h11list[:,i] +# LQtildebar_data = CYAxiverse.generate.LQtildebar(h11,tri,cy; threshold=0.01) +# Qtilde = LQtildebar_data["Qtilde"] +# if size(Qtilde,1) != size(Qtilde,2) && size(LQtildebar_data["Qeff"],1) ≤ 20 +# break +# else +# global h11, tri, cy = 9, 256, 1 +# end +# end; +# end; + ╠═╡ =# + +# ╔═╡ 871778ce-735d-49ed-b6f5-ab68f127ad32 +md""" +The system we are considering is identified by: + ``h^{1,1}`` = $h11; Polytope number = $tri; FRST number = $cy +""" + +# ╔═╡ 0b13b99a-9c7d-4117-90ba-e74baf49054d +pot_data = CYAxiverse.read.potential(h11,tri,cy); + +# ╔═╡ 4cfe15ea-1a7f-4af3-9602-6eac3732232a +τ = CYAxiverse.read.geometry(h11,tri,cy)["τ_volumes"] + +# ╔═╡ 0b261480-4109-41f9-ac4e-52d040b20efe +Kinv = CYAxiverse.read.geometry(h11,tri,cy)["Kinv"] + +# ╔═╡ 33fc2f88-c402-4394-83c9-10df2e7a6d96 +qprime = pot_data["Q"][1:h11+4,:] + +# ╔═╡ 6c6bd3c6-4019-426c-9188-e63debe0fe8b +size(pot_data["L"]) + +# ╔═╡ b5020c4c-d37f-4ad0-9633-ebdef6898afc +rhs_constraint = zeros(size(qprime,1)); + +# ╔═╡ 1c45d205-f8fb-4d1f-8d57-0d6d46ce622f +lhs_constraint = zeros(size(qprime,1),size(qprime,1)); + +# ╔═╡ fd53a8a1-c782-4f31-bf8a-1403de56b64d +for i=1:h11+4 + for j=1:h11+4 + if i>j + lhs_constraint[i,j] = log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(τ, qprime[i,:] .+ qprime[j,:])) + end + end + rhs_constraint[i] = log.(abs.(dot(qprime[i,:],τ))) .+ (-2π * dot(τ, qprime[i,:])) +end + +# ╔═╡ 4993e5d8-48f1-4b4e-878c-9576e7bfc85c +lhs_constraint + +# ╔═╡ 5abd2caa-8d2d-4c8b-b064-a0426447b392 +LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) + +# ╔═╡ 07f43035-2e72-47b1-baef-7258c65a13c8 +constraint = LowerTriangular(lhs_constraint .> rhs_constraint) - I(h11+4) + +# ╔═╡ 64f3ac82-0f2b-4092-b904-b750ec16a309 +[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4] + +# ╔═╡ 6f614ec4-c03f-4d65-bd3b-153a31c23da4 +[rhs_constraint[i] for i in [i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ 622570d7-a3fa-4bd0-8d1d-5762490e8ad0 +lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], [i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ 6c5a1870-3657-4978-995f-578fe9d0602c +lhs_constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4], :] + +# ╔═╡ cd6bbbd5-321f-4868-b0e7-71b96965bef7 +constraint[[i for (i,item) in enumerate(eachrow(constraint)) if sum(item .== 0) != h11+4],[i for (i,item) in enumerate(eachcol(constraint)) if sum(item .== 0) != h11+4]] + +# ╔═╡ 6f9c2ba1-6536-44d2-938e-7adf68b93bc5 + + +# ╔═╡ a1dfa08c-1056-4e15-a040-4de1276f400c +mod10(x) = (mod(x / 2π, 1) ≈ 1 || mod(x / 2π, 1) ≈ 0 ? 0 : x) + +# ╔═╡ ecfc017c-5eca-41b2-ba3e-71d6dbe68403 +function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64 = 1e-2) + setprecision(ArbFloat,digits=5_000) + LQtildebar = LQtildebar(L, Q; threshold=threshold) + Ltilde = LQtildebar["Ltilde"][:,sortperm(LQtildebar["Ltilde"][2,:], rev=true)] + Qtilde = LQtildebar["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] + Qtilde = Matrix{Int}(Qtilde') + basis_vectors = zeros(size(Qtilde,1), size(Qtilde,1)) + idx = 1 + while idx ≤ size(Qtilde,2) + Qsub = Qtilde[:,idx] + Lsub = Ltilde[:,idx] + while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[:,idx+1], Qtilde[:,idx]) != 0 + Lsub = hcat(Lsub, Ltilde[:, idx+1]) + Qsub = hcat(Qsub, Qtilde[:, idx+1]) + idx += 1 + end + if size(Qsub,2) == 1 + basis_vectors[idx,:] = Qsub + idx += 1 + else + Lsubdiff = Lsub[2,:] .- Lsub[2,1] + Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; + Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] + Qsub = Qsub[:,Qsubmask] + for run_number = 1:10_000 + x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) + res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer + res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] + end + xmin = hcat(res["xmin"]...) + for i in eachcol(xmin) + i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) + end + xmin = xmin[:, [sum(i)!=0 for i in eachcol(xmin)]] + xmin = xmin[:,sortperm([sqrt(sum(abs2,i)) for i in eachcol(xmin)])] + lattice_vecs = lattice_minimize(xmin) ##need to write lattice minimizer + basis_vectors[idx-size(lattice_vecs,2):idx, :] = lattice_vecs + end + proj = project_out(Qtilde[i,:]) + #this is the scipy.linalg.orth function written out + u, s, vh = svd(proj,full=true) + M, N = size(u,1), size(vh,2) + rcond = eps() * max(M, N) + tol = maximum(s) * rcond + num = Int.(round(sum(s[s .> tol]))) + T = u[:, 1:num] + Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) + LinearAlgebra.mul!(Qtilde_i, Qtilde, T) + Qtilde = copy(Qtilde_i) + end + return basis_vectors +end + +# ╔═╡ dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 +size(log.(abs.([(pi*dot(qprime[i,:],(Kinv * qprime[j,:]))) for i=1:h11+4,j=1:h11+4 if i=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) + hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] + return Dict(zip(keys,vals)) + GC.gc() + # end +end + +# ╔═╡ 316f3ae8-0110-4514-b132-38ddaa56b1ef +md""" +The smallest gradient element after a scan of 100 random points in the potential is +≈ 1e$(Float64(log10(minimum(gradσ[gradσ .> 0])))) +""" + +# ╔═╡ 42445c21-0608-4330-b04d-0ee49f592318 +Lfull = ArbFloat.(LQtilde["Leff"][1,:]) .* ArbFloat(10.) .^ ArbFloat.(LQtilde["Leff"][2,:]); + +# ╔═╡ 4fb9299e-564a-467c-8b15-9ebd1438b135 +md""" +The size of ``\mathcal{Q}_\mathrm{eff}`` is $(size(LQtilde["Qeff"]')) reduced from $(size(pot_data["Q"])) +""" + +# ╔═╡ 2eb2a848-14f3-4b10-a93f-d845b8d4daab +Markdown.parse(""" +The axions that contribute to the _effective_ or _reduced_ potential are ``\\tilde{\\theta}_i`` for i ∈ $((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) +""") + +# ╔═╡ 5bae78d1-8cf6-415c-8608-cc187a80759c +begin + Markdown.parse(""" + The instantons that generate the _effective_ or _reduced_ potential are ``\\tilde{\\Lambda}_a`` for a ∈ $(collect(1:size(LQtilde["Qtilde"],2))[LQtilde["Qcolmask"]]) + """) +end + +# ╔═╡ 89873528-0803-4a26-8cae-f560e8e3090f +begin + min_data = [] + @progress for i=1:500 + x0 = ArbFloat.(rand(Uniform(0,2π),size(LQtilde["Qeff"],1))) .* rand(ArbFloat,size(LQtilde["Qeff"],1)) + global prec = Int(round(abs(minimum(LQtilde["Leff"][2,:]))))+10 + min_data_temp = CYAxiverse.minimizer.minimize(h11,tri,cy,Lfull ./ maximum(Lfull),Matrix{ArbFloat}(LQtilde["Qeff"]'),x0,gradσ,algo_hz, prec < 1_000 ? prec : 1_000) + if min_data_temp["Hsign"] > 0 + push!(min_data,min_data_temp) + end + if size(min_data,1) == 200 + break + end + global num_limit = i + end + md""" + **There are $(size(min_data,1)) minima found from $(num_limit) numerical searches to $(min(1_000,prec)) significant figures** + """ +end + +# ╔═╡ a7d02d1c-01de-4b37-908d-0683cd7117a0 +[LQtilde["Leff"][2,:][Vector{Bool}(abs.(LQtilde["Qeff"][i,:]))] for i=1:size(LQtilde["Qeff"],1)] + +# ╔═╡ e96e7f3f-802f-421c-a4e4-f60aa18f646d +size(LQtilde["Qtilde"][:,1][LQtilde["Qtilde"][:,1] .== 0]) + +# ╔═╡ 6030dcb9-16c9-42f9-a214-286784de3100 +LQtilde["Qtilde"][:,9] + +# ╔═╡ 8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e +[i for (i,item) = enumerate(eachcol(LQtilde["Qtilde"])) if size(item[item .== 0],1) != h11-1] + +# ╔═╡ c703a028-4686-4f6e-a3b5-75cc71f1b434 +size(LQtilde["Qrowmask"]), size(LQtilde["Qcolmask"]) + +# ╔═╡ 41e2169d-65ff-44cb-9828-68e1c4a530d2 +function potential(L,Q,x) + V = dot(L,(ArbFloat(1.) .- cos.(Q' * x))) +end; + +# ╔═╡ 70b9770a-57c3-4ad4-90b8-f4efabc04ed0 +function grad_potential(L, Q, x::Number) + ∂V = dot(L, Q' .* sin.(Q' * x)) +end + +# ╔═╡ 9775a872-8a9a-4286-8ae7-c34c6560ed39 +function grad_potential(L, Q, x::Vector) + Q1 = Q[1, :]' + Q2 = Q[2, :]' + θ1 = x[1] + θ2 = x[2] + ∂V1 = dot(L, Q1 .* sin.(Q1 * θ1)) + ∂V2 = dot(L, Q2 .* sin.(Q2 * θ2)) + [∂V1, ∂V2] +end + +# ╔═╡ e1e6d095-f11a-40b7-8dc4-51952c4bdb30 +LQtilde["Qrowmask"] + +# ╔═╡ 7801297e-c52e-48e0-92d6-d58839afe7e3 +begin + xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i in eachindex(min_data)]; + xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i=1:size(LQtilde["Qtilde"],1)] for _ in xtest] + for i in eachindex(xtest) + for (j,k) in enumerate((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) + xmin_test[i][k] = xtest[i][j] + end + xtest[i] = inv(LQtilde["Qtilde"][:,1:size(LQtilde["Qtilde"],1)]') * xmin_test[i] ##Should this be Qtilde' or not in my code?! + end +end + +# ╔═╡ fd81eff2-d87b-4a5c-945d-8b9096ee5737 +xmin_test[1] + +# ╔═╡ 2fbee316-ca49-46c5-9afe-c1fe561ea948 +Ltest = ArbFloat.(LQtilde["Ltilde"][1,:] .* 10. .^ LQtilde["Ltilde"][2,:]); + +# ╔═╡ a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 +Qtest = ArbFloat.(Matrix{Float64}(LQtilde["Qtilde"])); + +# ╔═╡ 910dc6ba-9ad0-4f19-addb-81d882d6322c +xs = range(-0.5π,2.5π,length=300); + +# ╔═╡ a45e6c9d-b616-48c9-a7c2-0afe9d835516 +ys = xs; + +# ╔═╡ ebff481b-fcc3-4644-b766-c810c5131892 +md""" +Show 1D or 2D plot? +""" + +# ╔═╡ 27e7776b-1443-4cf0-b5d4-3985d89b85b5 +@bind plot_dims confirm(PlutoUI.Select(["1D","2D"])) + +# ╔═╡ 2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 +LQtilde["Qeff"] + +# ╔═╡ 3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a +LQtilde["Ltilde"] + +# ╔═╡ 4e6bbc87-bc60-47c2-960e-1084afed680f +hcat(xtest...) + +# ╔═╡ ee2060d2-00da-4ede-998e-23bd7805efc9 +[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)] + +# ╔═╡ 732bc5bb-419b-4361-a331-b563d15f1db1 +LQtilde["Qtilde"][:,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] * LQtilde["Ltilde"][2,[i for i=1:h11 if mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) != zeros(size(xtest,1)) .|| any(mod.((Float64.((hcat(xtest...)[i,:])) ./ 2π), 1) == 1.)]] + +# ╔═╡ c8507013-7fe1-4558-8992-53ecb650fe4d +md""" +Set which axion direction(s) to plot: +""" + +# ╔═╡ 4d96cbc5-f27c-4cf8-aac9-f73988761a09 +if plot_dims == "1D" + @bind axion confirm(PlutoUI.Select((1:size(LQtilde["Qtilde"],1)))) + # [hcat(xtest...)[:,1] .!= 0. .&& abs.(hcat(xtest...)[:,1]) .!= Float64(π),:][:,1])) +else + @bind axion confirm(PlutoUI.Select([[i,j] for i in (1:size(LQtilde["Qtilde"],1)), j in (1:size(LQtilde["Qtilde"],1)) if i notonemin_list[1,:] .- 10] + ╠═╡ =# + +# ╔═╡ 766cffea-b562-4997-9b2a-f05a27c59c2e +# ╠═╡ disabled = true +#=╠═╡ +@time test_mass = CYAxiverse.generate.pq_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]) + ╠═╡ =# + +# ╔═╡ 9d2af162-ce30-475b-921b-766e34692fc4 +# ╠═╡ disabled = true +#=╠═╡ +@time test_spec = CYAxiverse.generate.hp_spectrum(pot_data["K"],pot_data["L"],pot_data["Q"]; prec=5_000) + ╠═╡ =# + +# ╔═╡ 962576a8-fef2-48c4-b7fa-48ff5424298c +# ╠═╡ disabled = true +#=╠═╡ +test_spec["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] + ╠═╡ =# + +# ╔═╡ c7eeaa51-71b9-4b40-85cc-02063c64b8ce +# ╠═╡ disabled = true +#=╠═╡ +test_mass["m"][(test_spec["m"] .- test_mass["m"]) .== maximum(test_spec["m"] .- test_mass["m"])] + ╠═╡ =# + +# ╔═╡ 5f8113f3-59c3-42d4-8544-a61838381407 +# ╠═╡ disabled = true +#=╠═╡ +for t=4:100 + n = lpad(t,3,"0") + h5open("/scratch/users/mehta2/vacua_0822/h11_$n/np_0000001/cy_0000001/cyax.h5","r") do file + if haskey(file, "cytools/geometric/h21") + println("Gone too far") + else + [[string("$i/",keys(file[i]),"/",keys(file[i][j])) for j in keys(file[i])] for i in keys(file)] + end + end +end + ╠═╡ =# + +# ╔═╡ 4dea5c0f-fb4e-4510-9aab-902658407641 +# ╠═╡ disabled = true +#=╠═╡ +CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=0.5) + ╠═╡ =# + +# ╔═╡ Cell order: +# ╟─fee399f9-2668-41e0-a296-37b348a04769 +# ╟─90f44877-6310-49b1-9331-f8601918e4b3 +# ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 +# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +# ╠═7fb60b52-1158-4bcb-b5e0-1e3ebd1ad52b +# ╠═d1f78454-3ba0-4569-a491-f52e737c7dc3 +# ╠═3788df6d-c756-4b6a-8d75-8cd018ab2991 +# ╠═9071d014-a286-4f6f-bafc-648c1954d3d7 +# ╠═25e1eb34-0e4b-4bf2-ac1b-228545bb82a8 +# ╟─4c1b071d-65ad-41ce-b7ab-9b11fcf15ce5 +# ╠═e1fdc533-efc0-4012-8464-3db601f66819 +# ╠═8699f77c-4a59-4194-9f08-f878b65b93ba +# ╠═281b0be2-86fd-4201-871a-7e362b5872d7 +# ╟─871778ce-735d-49ed-b6f5-ab68f127ad32 +# ╟─0b13b99a-9c7d-4117-90ba-e74baf49054d +# ╠═df395e06-f130-4dd2-a95e-799a1d6b7d1f +# ╠═f939d71c-86ce-4e12-9e18-b112743a130e +# ╠═0df48817-9fdf-4032-8419-49fd940c89e8 +# ╠═4cfe15ea-1a7f-4af3-9602-6eac3732232a +# ╠═0b261480-4109-41f9-ac4e-52d040b20efe +# ╠═33fc2f88-c402-4394-83c9-10df2e7a6d96 +# ╠═6c6bd3c6-4019-426c-9188-e63debe0fe8b +# ╠═b5020c4c-d37f-4ad0-9633-ebdef6898afc +# ╠═1c45d205-f8fb-4d1f-8d57-0d6d46ce622f +# ╠═fd53a8a1-c782-4f31-bf8a-1403de56b64d +# ╠═4993e5d8-48f1-4b4e-878c-9576e7bfc85c +# ╠═5abd2caa-8d2d-4c8b-b064-a0426447b392 +# ╠═07f43035-2e72-47b1-baef-7258c65a13c8 +# ╠═64f3ac82-0f2b-4092-b904-b750ec16a309 +# ╠═6f614ec4-c03f-4d65-bd3b-153a31c23da4 +# ╠═622570d7-a3fa-4bd0-8d1d-5762490e8ad0 +# ╠═6c5a1870-3657-4978-995f-578fe9d0602c +# ╠═cd6bbbd5-321f-4868-b0e7-71b96965bef7 +# ╠═77dd1f33-15b4-4885-9152-34427bcd7c4f +# ╠═999ffbe3-a67e-4d6a-86ed-30687afb2da5 +# ╠═eb2b9729-af3c-412e-8133-e07fbcdaee49 +# ╠═757b5ac0-5148-4980-ac09-d6e5e2930399 +# ╠═6f9c2ba1-6536-44d2-938e-7adf68b93bc5 +# ╠═b9733f0f-4869-4af5-9d65-2bb092e0bf54 +# ╠═14945e1d-39c5-4975-ae0d-67d057f024d0 +# ╠═2fb703ac-e71a-4574-9aa6-eadef19ba8e6 +# ╠═a1dfa08c-1056-4e15-a040-4de1276f400c +# ╠═6307dc3a-8905-4773-b7fd-2daf60ed40f9 +# ╠═676080a2-e02b-4632-89a1-e906d282051e +# ╠═18eac169-749c-488d-8335-29f74e53975d +# ╠═5b362ce3-614e-4b98-b4e7-cfdf5e3a1043 +# ╠═ecfc017c-5eca-41b2-ba3e-71d6dbe68403 +# ╠═363b43f0-33b8-466a-bcdf-fccfede32f98 +# ╠═dc4c35f6-90cc-4a71-ab8d-b9ae847ca561 +# ╠═ac863bc3-5386-4422-93cc-8dc7db09bb03 +# ╠═d6dfc108-d25a-4a7c-838d-ac5e7da43c49 +# ╠═7ecff719-84c4-474e-a4cb-a3d38fe04e16 +# ╠═51c5832f-afdd-4d76-8f4a-6b26fdc3e85e +# ╟─1facdec9-789b-48c5-98e2-f522f8b75f0f +# ╟─8cd946f8-5909-4ed9-a5e7-1d11efded856 +# ╟─0c0b9219-f2e1-4333-b775-10a98d1fd798 +# ╟─b0f33ae9-6056-4e0d-b79f-b7d880fd6016 +# ╟─5035d43e-24fb-40b3-b928-0e544e6d62cd +# ╟─bbc6437d-1010-49cc-ae82-0a247c8e0eec +# ╠═5ede58ca-dec2-4419-837b-7307f28a2005 +# ╟─316f3ae8-0110-4514-b132-38ddaa56b1ef +# ╠═42445c21-0608-4330-b04d-0ee49f592318 +# ╟─4fb9299e-564a-467c-8b15-9ebd1438b135 +# ╟─2eb2a848-14f3-4b10-a93f-d845b8d4daab +# ╟─5bae78d1-8cf6-415c-8608-cc187a80759c +# ╠═89873528-0803-4a26-8cae-f560e8e3090f +# ╠═a7d02d1c-01de-4b37-908d-0683cd7117a0 +# ╠═e96e7f3f-802f-421c-a4e4-f60aa18f646d +# ╠═6030dcb9-16c9-42f9-a214-286784de3100 +# ╠═8d5d3d0e-b156-4e0b-b3c7-7e558ee0230e +# ╠═c703a028-4686-4f6e-a3b5-75cc71f1b434 +# ╠═41e2169d-65ff-44cb-9828-68e1c4a530d2 +# ╠═70b9770a-57c3-4ad4-90b8-f4efabc04ed0 +# ╠═9775a872-8a9a-4286-8ae7-c34c6560ed39 +# ╠═e1e6d095-f11a-40b7-8dc4-51952c4bdb30 +# ╠═7801297e-c52e-48e0-92d6-d58839afe7e3 +# ╠═fd81eff2-d87b-4a5c-945d-8b9096ee5737 +# ╠═2fbee316-ca49-46c5-9afe-c1fe561ea948 +# ╠═a9189c10-9aa6-4a07-abf5-7cfc9ec3ab62 +# ╠═910dc6ba-9ad0-4f19-addb-81d882d6322c +# ╠═a45e6c9d-b616-48c9-a7c2-0afe9d835516 +# ╟─ebff481b-fcc3-4644-b766-c810c5131892 +# ╠═27e7776b-1443-4cf0-b5d4-3985d89b85b5 +# ╠═2a9e079d-4131-4e2e-a6ce-e3111cbcb7d3 +# ╠═3a918852-9ec4-48f9-a2c5-b2de8a3b7e7a +# ╠═4e6bbc87-bc60-47c2-960e-1084afed680f +# ╠═ee2060d2-00da-4ede-998e-23bd7805efc9 +# ╠═732bc5bb-419b-4361-a331-b563d15f1db1 +# ╠═c8507013-7fe1-4558-8992-53ecb650fe4d +# ╠═4d96cbc5-f27c-4cf8-aac9-f73988761a09 +# ╠═b54d02e9-634d-4451-a942-fc0a57c935d3 +# ╠═5437ccfc-224f-4744-b08a-994460f7f2bb +# ╠═a422be5b-4031-4f34-b0db-a1c380d61351 +# ╠═1c32e0b9-1243-44d1-9a4f-54d966abbee9 +# ╠═16c15a91-7f4d-4d13-8a9f-2c155cf31037 +# ╠═c1b94e33-c604-42b9-a103-a551fb1ca93a +# ╠═2b382a1a-fd60-4ecd-b550-c396d7496d0f +# ╟─8e30171e-0146-450e-b31d-26a18adb2fe3 +# ╠═3b5c385d-fd90-4b49-8155-0d28582a1384 +# ╠═f11dfbf2-7d3a-4d90-b6f9-3fbf8cc6f764 +# ╠═bcc4d307-8aa5-497b-af76-ad000fd62b72 +# ╠═d2ec3683-4e96-41cd-8e6b-51f45c31df89 +# ╠═61dae36d-46e2-45db-b6a1-90132febf8a6 +# ╠═2fe9315e-90d5-4e56-844b-61fde4902091 +# ╠═054dfb58-c816-48d7-bb12-9d43e1715efb +# ╠═766cffea-b562-4997-9b2a-f05a27c59c2e +# ╠═9d2af162-ce30-475b-921b-766e34692fc4 +# ╠═962576a8-fef2-48c4-b7fa-48ff5424298c +# ╠═c7eeaa51-71b9-4b40-85cc-02063c64b8ce +# ╠═5f8113f3-59c3-42d4-8544-a61838381407 +# ╠═4dea5c0f-fb4e-4510-9aab-902658407641 diff --git a/notebooks/optim_testing.qmd b/notebooks/optim_testing.qmd new file mode 100644 index 0000000..eadec4a --- /dev/null +++ b/notebooks/optim_testing.qmd @@ -0,0 +1,28 @@ +--- +title: "Vacua Algorithms" +author: "Viraf M. Mehta" +date: "26/09/2022" +format: + html: + code-fold: true +jupyter: julia-1.7 +--- + +## Parametric Plots + +Plot function pair (x(u), y(u)). +See @fig-parametric for an example. + +```{julia} +#| label: fig-parametric +#| fig-cap: "Parametric Plots" + +using Plots + +plot(sin, + x->sin(2x), + 0, + 2π, + leg=false, + fill=(0,:lavender)) +``` \ No newline at end of file diff --git a/scripts/Qeff.jl b/scripts/Qeff.jl new file mode 100644 index 0000000..0e1edc3 --- /dev/null +++ b/scripts/Qeff.jl @@ -0,0 +1,124 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 + +@everywhere function extra_rows(h11, tri, cy, l) + Qshape = CYAxiverse.read.qshape(h11, tri, cy) + if Qshape.issquare == 1 + else + data = CYAxiverse.generate.vacua_estimate(h11, tri, cy; threshold = 1e-2) + h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r+") do f + f["extra_rows"] = data.extrarows + end + end +end + +@everywhere function main_Qshape(h11, tri, cy, l) + threshold = 1e-2 + if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) + else + try + CYAxiverse.generate.vacua_estimate_save(h11, tri, cy; threshold=threshold) + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) + end + if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) + rm(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) + end + h5open(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f + f["square", deflate=9] = 0 + f["vacua_estimate", deflate=9] = 0 + end + finally + open(l, "a") do outf + write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) + end + end + end +end + + +function main_sortQ(h11list::Matrix) + Qnon_square = [] + Qsquare = [] + for col in eachcol(h11list) + h11, tri, cy = col + data = CYAxiverse.read.qshape(h11, tri, cy) + square = data["issquare"] + vac = data["vacua_estimate"] + if square == 0 && vac != 0 + push!(Qnon_square, [h11 tri cy vac]) + elseif square == 1 && vac != 0 + push!(Qsquare, [h11 tri cy vac]) + end + end + if isfile(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5")) + rm(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5")) + end + h5open(joinpath(CYAxiverse.filestructure.data_dir(),"Qshape.h5"), "cw") do f + if !isa(Qsquare, Vector{Any}) + f["square",deflate=9] = hcat(Qsquare...) + end + if !isa(Qnon_square, Vector{Any}) + f["non_square",deflate=9] = hcat(Qnon_square...) + end + end +end +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +@time temp_spec = extra_rows(4,10,1,lfile) +h11list_temp = [4 4 5 7; 10 1 5 7; 1 1 1 1; lfile lfile lfile lfile] +@time begin + temp_vac = pmap(extra_rows, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) +end + +# @time begin +# main_sortQ(h11list_temp[1:3,:]) +# end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_spec = nothing +GC.gc() + +############################## +############ Main ############ +############################## +@time h11list = CYAxiverse.filestructure.paths_cy()[2] +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "Qeff shapes to compute.\n")) +# h11 = shuffle(h11) +log_files_spec = [lfile for _=1:size(h11list,2)] +@time begin + res = pmap(extra_rows, h11list[1,:], h11list[2,:], h11list[3,:], log_files_spec) +end + +# @time begin +# main_sortQ(h11list) +# end + + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + diff --git a/scripts/optimize.jl b/scripts/optimize.jl new file mode 100644 index 0000000..8eaa1ad --- /dev/null +++ b/scripts/optimize.jl @@ -0,0 +1,98 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +using HDF5, ArbNumerics, Distributions, Optim, LineSearches, Random +using MPIClusterManagers +import MPI +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse + +@everywhere function main(h11::Int,tri::Int,cy::Int,l::String,run_num::Int=1) + if run_num == 1 + if isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) + rm(CYAxiverse.filestructure.minfile(h11,tri,cy)) + end + end + prec = 1_000 + pot_data = CYAxiverse.read.potential(h11,tri,cy) + QV::Matrix, LV::Matrix{Float64} = ArbFloat.(pot_data["Q"]), pot_data["L"] + Lfull::Vector{ArbFloat} = ArbFloat.(LV[:,1]) .* ArbFloat(10.) .^ ArbFloat.(LV[:,2]) + gradσ = CYAxiverse.minimizer.grad_std(h11,tri,cy,Lfull,QV) + h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file + if haskey(file, "gradσ") + else + f0 = create_group(file, "gradσ") + f0["log10", deflate=9] = Float64.(log10.(gradσ)) + end + end + vac_data = CYAxiverse.generate.vacua_TB(pot_data["L"],pot_data["Q"]) + x0::Vector = ArbFloat.(rand(Uniform(0,2π),h11)) .* rand(ArbFloat,h11)##Do not declare type! Breaks optimizer... + algo_hz = Newton(alphaguess = LineSearches.InitialHagerZhang(α0=1.0), linesearch = LineSearches.HagerZhang()) + algo_LBFGS = LBFGS(linesearch = LineSearches.BackTracking()) + try + res = CYAxiverse.minimizer.minimize_save(h11,tri,cy, Lfull, QV,x0,gradσ,vac_data["θ∥"],vac_data["Qtilde"],algo_LBFGS; prec=prec, run_num=run_num) + open(l, "a") do outf + write(outf,string("min-(",h11,",",tri,",",cy,",",run_num,")\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,",",run_num,")\n")) + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +@time temp_vac = main(4,10,1,lfile, 1) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile; 1 2 1 1] +@time begin + temp_vac = pmap(main, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:], h11list_temp[5,:]) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +n=100#sample to minimize +x0i = 50#number of optimizations per geometry +split = round(Int,0.7*n) +geomparams = hcat(vcat(sort(rand(10:40,split)),sort(rand(40:100,n-split))), rand(1:100,n), ones(Int,n),)' +geomparams = geomparams[:,sortperm(geomparams[1,:])] +geomparams = [hcat([geomparams for _=1:x0i]...); vcat([ones(Int,n)*i for i=1:x0i]...)'] +# geomparams = geomparams[:, shuffle(1:end)] +geomparams = geomparams[:, sortperm(geomparams[2,:])] +geomparams = geomparams[:, sortperm(geomparams[1,:])] +ntasks = size(geomparams,2) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +@time h11list = CYAxiverse.filestructure.paths_cy()[2] +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main,geomparams[1,:],geomparams[2,:],geomparams[3,:],logfiles,geomparams[4,:]) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + diff --git a/scripts/spectra.jl b/scripts/spectra.jl new file mode 100644 index 0000000..d545f55 --- /dev/null +++ b/scripts/spectra.jl @@ -0,0 +1,65 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +using MPIClusterManagers +import MPI +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse + + +@everywhere function main_spec(h11,tri,cy,l) + try + test = CYAxiverse.generate.pq_spectrum_save(h11,tri,cy); + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) + end + finally + open(l, "a") do outf + write(outf,string("spec-(",h11,",",tri,",",cy,")\n")) + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +@time temp_spec = main_spec(4,10,1,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile] +@time begin + temp_spec = pmap(main_spec, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_spec = nothing +GC.gc() + +############################## +############ Main ############ +############################## +@time h11list = CYAxiverse.filestructure.paths_cy()[2] +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "spectra to compute.\n")) +# h11 = shuffle(h11) +log_files_spec = [lfile for _=1:size(h11list,2)] +@time begin + res = pmap(main_spec,h11list[1,:],h11list[2,:],h11list[3,:],log_files_spec) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + diff --git a/scripts/testing/init.jl b/scripts/testing/init.jl new file mode 100644 index 0000000..1791579 --- /dev/null +++ b/scripts/testing/init.jl @@ -0,0 +1,2 @@ +using Pkg +Pkg.instantiate() \ No newline at end of file diff --git a/scripts/testing/pluto.jl b/scripts/testing/pluto.jl new file mode 100644 index 0000000..e997d8b --- /dev/null +++ b/scripts/testing/pluto.jl @@ -0,0 +1,4 @@ +using Revise +using Pluto + +Pluto.run(host="0.0.0.0", port=8996, require_secret_for_access=false) \ No newline at end of file diff --git a/scripts/testing/pluto_docker.jl b/scripts/testing/pluto_docker.jl new file mode 100644 index 0000000..f1ecaa9 --- /dev/null +++ b/scripts/testing/pluto_docker.jl @@ -0,0 +1,6 @@ +using Pkg +Pkg.instantiate() +using Revise +using Pluto +# cd("/scratch/users/mehta2/vacua_db") +Pluto.run(host="0.0.0.0", port=8996, require_secret_for_access=false) \ No newline at end of file diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl new file mode 100644 index 0000000..ba8f2c2 --- /dev/null +++ b/scripts/top_geom.jl @@ -0,0 +1,156 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +# using MPIClusterManagers +# import MPI +# # MPI.initialize() +# manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# # addprocs(manager) +# np = workers() +# println(np) +# if np!=0 +# else +# error("no workers!") +# exit() +# end + +try + np = parse(Int32,ENV["SLURM_NPROCS"]) + addprocs(np, exeflags="--project=$(Base.active_project())") +catch e + error("no workers!") + exit() +end +split = nothing +if haskey(ENV, "SLURM_ARRAY_TASK_ID") + split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) +end +# @everywhere newARGS = string("vacua_new") + +@everywhere using CYAxiverse +@everywhere using Random + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +@everywhere function main_top(h11,n,l) + try + test = CYAxiverse.cytools_wrapper.cy_from_poly(h11); + return test + catch + try + test = CYAxiverse.cytools_wrapper.topologies(h11,n); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) + end + return [0,0,0,0] + finally + open(l, "a") do outf + write(outf,string("top-(",h11,")\n")) + end + end + end + +end + +@everywhere function main_geom(h11,cy,tri,cy_i,l) + try + test = CYAxiverse.cytools_wrapper.geometries(h11,cy,tri,cy_i); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy_i,")\n")) + end + return [0,0,0] + finally + open(l, "a") do outf + write(outf,string("geom-(",h11,",",tri,",",cy_i,")\n")) + end + end + +end + + + + +############################## +#### Initialise functions #### +############################## +@time temp_top = main_top(4,10,lfile) +# temp_top = hcat(temp_top...) +# println(size(temp_top)) +# println(temp_top) + +@time temp_geom = pmap(main_geom,temp_top[1,:],temp_top[2,:],temp_top[3,:],temp_top[4,:], [lfile for _=1:size(temp_top,2)]) +temp_geom = hcat(temp_geom...) +# println(size(temp_geom)) +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(temp_geom), "test runs have finished.\n")) +### Clear memory ###### +temp_top = nothing +temp_geom = nothing +GC.gc() + +############################## +############ Main ############ +############################## +h11_init = 4 +np = nworkers() +h11_end = 500 +h11 = collect(h11_init:h11_init+h11_end) +max_split = 0 +if haskey(ENV, "MAX_JOB") + max_split = parse(Int32, ENV["MAX_JOB"]) +end + +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) + log_files_top = [] + n = [] + if split === nothing + log_files_top = [lfile for _ in h11] + n = [ngeometries for _ in h11] + else + if split == max_split + h11 = [462, 491] + n = [ngeometries * 1_000 for _ in h11] + log_files_top = [lfile for _ in h11] + + else + Random.seed!(9876543210) + h11 = shuffle(h11) + tasks = length(h11) ÷ max_split + h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) + n = [ngeometries * 1_000 for _ in h11] + log_files_top = [lfile for _ in h11] + end + end + (h11 = h11, log_files = log_files_top, ngeometries = n) +end + +run_vars = h11list_generate(h11, lfile; ngeometries=10, split=split, max_split = max_split) + +h11 = run_vars.h11 +n = run_vars.ngeometries +log_files_top = run_vars.log_files + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11), "topologies to run.\n")) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("These are ", h11, "\n")) +@time begin + h11cylist = pmap(main_top,h11,n,log_files_top) +end + +h11cylist = hcat(h11cylist...)[:, hcat(h11cylist...)[1,:] .!= 0] +# h11cylist = h11cylist[:, shuffle(1:end)] + +GC.gc() + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11cylist), "geometries to run.\n")) + +ntasks_cy = size(h11cylist,2) +log_files_geom = [lfile for _=1:ntasks_cy] +@time begin + h11list = pmap(main_geom, h11cylist[1,:],h11cylist[2,:], h11cylist[3,:],h11cylist[4,:],log_files_geom) +end \ No newline at end of file diff --git a/scripts/vacua.jl b/scripts/vacua.jl new file mode 100644 index 0000000..1c5e75b --- /dev/null +++ b/scripts/vacua.jl @@ -0,0 +1,67 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +using HDF5 +using MPIClusterManagers +import MPI +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse + + +@everywhere function main_vac(h11,tri,cy,l) + try + test = CYAxiverse.generate.vacua_save_TB(h11,tri,cy); + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) + end + finally + open(l, "a") do outf + write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) + end + end + GC.gc() +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +@time temp_vac = main_vac(4,10,1,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile] +@time begin + temp_vac = pmap(main_vac, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +@time h11list = CYAxiverse.filestructure.paths_cy()[2] +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "systems to compute vacua in.\n")) +# h11 = shuffle(h11) +log_files_vac = [lfile for _=1:size(h11list,2)] +@time begin + res = pmap(main_vac,h11list[1,:],h11list[2,:],h11list[3,:],log_files_vac) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + diff --git a/src/.vscode/launch.json b/src/.vscode/launch.json new file mode 100644 index 0000000..c043748 --- /dev/null +++ b/src/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "julia", + "request": "launch", + "name": "Run active Julia file", + "program": "${file}", + "stopOnEntry": false, + "cwd": "${workspaceFolder}", + "juliaEnv": "${command:activeJuliaEnvironment}" + } + ] +} \ No newline at end of file diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json new file mode 100644 index 0000000..96656a2 --- /dev/null +++ b/src/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "julia.executablePath": "/home/scratch/bin/julia" +} \ No newline at end of file diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl new file mode 100644 index 0000000..8305fc3 --- /dev/null +++ b/src/CYAxiverse.jl @@ -0,0 +1,36 @@ +""" + CYAxiverse +A Julia package for computing axion/ALP spectra and statistics using geometric data generated by [CYTools](https://cytools.liammcallistergroup.com/). + +""" +module CYAxiverse + +if haskey(ENV,"newARGS") +else + println("Please specify where to read/write data, currently using pwd!") +end +include("structs.jl") + +include("filestructure.jl") +include("read.jl") +include("minimizer.jl") +include("generate.jl") +include("plotting.jl") + +include("../add_functions/profiling.jl") +if haskey(ENV, "PYTHON") + if occursin("cytools/cytools-venv//bin/python3",ENV["PYTHON"]) + include("../add_functions/cytools_wrapper.jl") + end + +else + println("This installation does not include CYTools!") +end + +if haskey(ENV, "SLURM_JOB_ID") + include("slurm.jl") +else + println("This installation does not include SLURM!") +end + +end diff --git a/src/filestructure.jl b/src/filestructure.jl new file mode 100644 index 0000000..72d5b77 --- /dev/null +++ b/src/filestructure.jl @@ -0,0 +1,421 @@ +""" + CYAxiverse.filestructure +This module sets up the structure of the database, identifying where to locate data / plot files etc + +""" +module filestructure +using ..structs: GeometryIndex +####################### +### Test functions #### +######################## +using HDF5 +using Dates + +############################### +### Initialising functions #### +############################### +""" + localARGS() +Load key for data dir -- key should be in ol_DB +""" +function localARGS() + if haskey(ENV,"newARGS") + newARGS = ENV["newARGS"] + else + ARGS + end +end +""" + ol_DB(args) + +Define dict of directories for data read/write +""" +function ol_DB(args) + ol_db::Dict{String,String} = Dict( + "KU_Fair" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_KU_Fair_Large/", + "inKC" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_Scaled/", + "home_Large" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse/", + "KU1" => "/scratch/Axiverse_Learning/KU1/", + "KV1" => "/scratch/Axiverse_Learning/KV1/", + "KV25" => "/scratch/Axiverse_Learning/KV25/", + "vacua_test" => "/scratch/users/mehta2/vacua_testing/", + "vacua_stretchtest" => "/scratch/users/mehta2/vacua_stretchtesting/", + "vacua_new" => "/scratch/users/mehta2/vacua_db/", + "vacua_0822" => "/scratch/users/mehta2/vacua_0822/", + "vacua_stretch" => "/scratch/users/mehta2/vacua_stretch/", + "docker" => "/database/", + "pwd" => string(pwd(), "/") + ) + try + ol_db[string(args)] + catch y + ol_db["pwd"] + end +end + +############################ +### Directory functions #### +############################ +""" + present_dir() + +Returns the present data directory using localARGS +""" +function present_dir() + pwd = ol_DB(localARGS()) + return pwd +end +""" + plots_dir() + +Creates/reads a directory for plots +""" +function plots_dir() + pwd = string(ol_DB(localARGS()),"plots") + if isdir(pwd) + else + mkpath(pwd) + end + return pwd +end +""" + log_dir() +Creates/reads log directory +""" +function log_dir() + if isdir(joinpath(present_dir(),"logs")) + else + mkdir(joinpath(present_dir(),"logs")) + end + return joinpath(present_dir(),"logs") +end + +""" + data_dir() +Creates/reads data directory +""" +function data_dir() + if isdir(joinpath(present_dir(),"data")) + else + mkdir(joinpath(present_dir(),"data")) + end + return joinpath(present_dir(),"data") +end +""" + logfile() +Returns path of logfile in format data_dir()/logs/YYYY:MM:DD:T00:00:00.000log.out +""" +function logfile() + log = string(Dates.DateTime(Dates.now()),"log.out") + return joinpath(log_dir(), log) +end + +""" + logcreate(l) +Creates logfile +""" +function logcreate(l::String) + open(l, "w") do outf + write(outf,string(Dates.DateTime(Dates.now()),"\n")) + end +end + +""" + np_path_generate(h11) +Walks through `data_dir()` and returns list of data paths and matrix of `[h11; tri; cy]` -- at specific h11. +Saves in h5 file `paths_cy.h5` +""" +function np_path_generate(h11::Int; geometric_data::Bool = false) + np_paths = Vector{UInt8}[] + h11zero = lpad(h11,3,"0") + np_pathinds = Vector{Int}[] + for i in first(walkdir(present_dir()))[2] + if occursin("h11_$h11zero", i) + for j in first(walkdir(joinpath(present_dir(),i)))[2] + if occursin(r"np_*", j) + for k in first(walkdir(joinpath(present_dir(),i,j)))[2] + if occursin(r"cy_*", k) + if isfile(joinpath(present_dir(), i, j, k, "cyax.h5")) + h11, tri, cy = parse(Int,SubString(i,5,7)),parse(Int,SubString(j,4,10)),parse(Int,SubString(k,4,10)) + if geometric_data + if isgeometry(h11, tri, cy) + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + else + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + end + end + end + end + end + end + end + hcat(np_paths...), hcat(np_pathinds...) +end + +""" + np_path_generate() +Walks through `data_dir()` and returns list of data paths and matrix of `[h11; tri; cy]`. +Saves in h5 file `paths_cy.h5` +""" +function np_path_generate(; geometric_data::Bool = false) + np_paths = Vector{UInt8}[] + np_pathinds = Vector{Int}[] + for i in first(walkdir(present_dir()))[2] + if occursin(r"h11_*", i) + for j in first(walkdir(joinpath(present_dir(),i)))[2] + if occursin(r"np_*", j) + for k in first(walkdir(joinpath(present_dir(),i,j)))[2] + if occursin(r"cy_*", k) + if isfile(joinpath(present_dir(),i,j,k,"cyax.h5")) + h11, tri, cy = parse(Int,SubString(i,5,7)), parse(Int,SubString(j,4,10)), parse(Int,SubString(k,4,10)) + if geometric_data + if isgeometry(h11, tri, cy) + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + else + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + end + end + end + end + end + end + end + hcat(np_paths...), hcat(np_pathinds...) +end + + +""" + np_path() + +Saves list of data paths and matrix of `[h11; tri; cy]` in h5 file `paths_cy.h5` +""" +function np_path() + np_paths, np_pathinds = np_path_generate() + if isfile(joinpath(data_dir(),"paths.h5")) || isfile(joinpath(data_dir(),"paths_cy.h5")) + else + h5open(joinpath(data_dir(),"paths_cy.h5"), "cw") do f + f["paths",deflate=9] = np_paths + f["pathinds",deflate=9] = np_pathinds + end + end + np_paths, np_pathinds +end +""" + paths_cy() +Loads / generates `paths_cy.h5` which contains the explicit locations and also `[h11; tri; cy]` indices of the geometries already saved. +""" +function paths_cy() + if isfile(joinpath(data_dir(),"paths.h5")) || isfile(joinpath(data_dir(),"paths_cy.h5")) + else + return np_path() + end + if localARGS()==string("in_KC") + paths_cy,pathinds_cy = h5open(joinpath(data_dir(),"paths.h5"), "r") do f + read(f,"paths"),read(f,"pathinds") + end; + else + paths_cy,pathinds_cy = h5open(joinpath(data_dir(),"paths_cy.h5"), "r") do f + read(f,"paths"),read(f,"pathinds") + end; + end + if typeof(paths_cy) == Matrix{UInt8} + paths_cy = [transcode(String, col) for col in eachcol(paths_cy)] + end + return paths_cy,pathinds_cy +end +####################### +### Misc functions #### +####################### +""" + h11lst(min,max) +Loads geometry indices between ``h^{1,1} \\in (\\mathrm{min},\\mathrm{max}]`` +""" +function h11lst(h11min=0,h11max=100) + pathinds_cy = paths_cy()[2] + h11list = @view(pathinds_cy[:,h11min .< @view(pathinds_cy[1,:]).<= h11max]) + return h11list +end + +""" + h11lst(h11list::Vector) + +TBW +""" +function h11lst(h11list::Vector; geometric_data::Bool = false) + file_list = [] + h11_count = [] + for h11 in h11list + h11_file_list = np_path_generate(h11; geometric_data = geometric_data)[2] + push!(file_list, h11_file_list) + push!(h11_count, length(h11_file_list)) + end + file_list, h11_count = hcat(file_list...), hcat(h11_count) + if geometric_data + for col in eachcol(file_list) + if isfile(cyax_file(col...)) + col = zero(col) + end + end + return file_list[:, @view(file_list[1, :]) .!= 0] + end +end + +""" + isgeometry(h11, tri, cy) + +Check if geometric quantities have been computed +""" +function isgeometry(h11, tri, cy) + h5open(cyax_file(h11, tri, cy), "r") do file + if haskey(file, "cytools/geometric/h21") + return true + else + return false + end + end +end + +""" + geom_dir(h11,tri,cy) +Defines file directories for data specified by geometry index. +""" +function geom_dir(h11,tri,cy=1) + if localARGS()!=string("inKC") + if localARGS()==string("home_Large")||localARGS()==string("KV1") + if h11 >= 238 + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + end + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + end + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) + else + mkdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + end + end +end + + +function geom_dir(geom_idx::GeometryIndex) + h11, tri, cy = geom_idx.h11, geom_idx.tri, geom_idx.cy + geom_dir(h11, tri, cy) +end +################################### +### Geometric Data Files (old) #### +################################### +""" + Kfile(h11,tri,cy) +Loads Kähler metric specified by geometry index. +!!! warning + Deprecated +""" +function Kfile(h11,tri, cy=1) + if localARGS()!=string("inKC") + if localARGS()==string("home_Large")||localARGS()==string("KV1") + if h11 >= 238 + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/K.hdf5") + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/K.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/K.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/K.hdf5") + end +end +""" + Qfile(h11,tri,cy) +Loads instanton charge matrix specified by geometry index. +!!! warning + Deprecated +""" +function Qfile(h11,tri, cy=1) + if localARGS()!=string("inKC") + if localARGS()==string("home_Large")||localARGS()==string("KV1") + if h11 >= 238 + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/Q.hdf5") + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/Q.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/Q.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/Q.hdf5") + end +end +""" + Lfile(h11,tri,cy) +Loads instanton energy scales specified by geometry index. +!!! warning + Deprecated +""" +function Lfile(h11,tri, cy=1) + if localARGS()!=string("inKC") + if localARGS()==string("home_Large")||localARGS()==string("KV1") + if h11 >= 238 + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/L.hdf5") + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/L.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"),"/L.hdf5") + end + else + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/L.hdf5") + end +end + +################### +### Data Files #### +################### +""" + cyax_file(h11,tri,cy) +Path to data file -- will contain all data that relates to geometry index. +""" +function cyax_file(h11,tri, cy=1) + return string(geom_dir(h11,tri,cy),"/cyax.h5") +end + +function cyax_file(geom_idx::GeometryIndex) + return string(geom_dir(geom_idx),"/cyax.h5") +end +""" + minfile(h11,tri,cy) +Path to file containing minimization data. +""" +function minfile(h11,tri, cy=1) + return string(geom_dir(h11,tri,cy),"/minima.h5") +end + +function minfile(geom_idx::GeometryIndex) + return string(geom_dir(geom_idx),"/minima.h5") +end + + +end \ No newline at end of file diff --git a/src/generate.jl b/src/generate.jl new file mode 100644 index 0000000..069a390 --- /dev/null +++ b/src/generate.jl @@ -0,0 +1,1668 @@ +""" + CYAxiverse.generate +This is where most of the functions are defined. + +""" +module generate + +using HDF5 +using LinearAlgebra +using ArbNumerics, Tullio, LoopVectorization, Nemo +using GenericLinearAlgebra +using Distributions +using TimerOutputs + +using ..filestructure: cyax_file, minfile, present_dir, geom_dir +using ..read: potential +using ..minimizer: minimize, subspace_minimize +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential + +################# +### Constant #### +################# + +""" + constants() + +Loads constants:\n +- Reduced Planck Mass = 2.435 × 10^18 +- Hubble = 2.13 × 0.7 × 10^-33 +- log2π = log10(2π) +as `Dict{String,ArbFloat}`\n +#Examples +```julia-repl +julia> const_data = CYAxiverse.generate.constants() +Dict{String, ArbNumerics.ArbFloat{128}} with 3 entries: + "MPlanck" => 2435000000000000000.0 + "log2π" => 0.7981798683581150521959557408991 + "Hubble" => 1.490999999999999999287243983194e-33 +``` +""" +function constants() + mplanck_r::ArbFloat = ArbFloat("2.435e18") + hubble::ArbFloat = ArbFloat("2.13")*ArbFloat("0.7")*ArbFloat("1e-33") + log2pi::ArbFloat = ArbFloat(log10(2π)) + return Dict("MPlanck" => mplanck_r, "Hubble" => hubble, "log2π" => log2pi) +end + + +############################### +##### Pseudo-Geometric data ### +############################### + +""" + pseudo_Q(h11,tri,cy=1) + +Randomly generates an instanton charge matrix that takes the same form as those found in the KS Axiverse, namely `I(h11)` with 4 randomly filled rows and the cross-terms, i.e. an h11+4+C(h11+4,2) × h11 integer matrix.\n +#Examples +```julia-repl +julia> CYAxiverse.generate.pseudo_Q(4,10,1) +36×4 Matrix{Int64}: + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 + 0 0 0 1 + 1 4 -3 5 + -5 -4 -2 4 + 4 5 3 -2 + -5 2 -3 -3 + ⋮ + -9 -9 -5 6 + 0 -6 1 7 + 9 3 6 1 +``` +""" +function pseudo_Q(h11::Int,tri::Int,cy::Int=1) + Q = vcat(Matrix{Int}(I(h11)),rand(-5:5,4,h11)) + return vcat(Q,hcat([Q[i,:]-Q[j,:] for i=1:size(Q,1)-1 for j=i+1:size(Q,1)]...)') +end + +""" + pseudo_K(h11,tri,cy=1) + +Randomly generates an h11 × h11 Hermitian matrix with positive definite eigenvalues. \n +#Examples +```julia-repl +julia> K = CYAxiverse.generate.pseudo_K(4,10,1) +4×4 Hermitian{Float64, Matrix{Float64}}: + 2.64578 2.61012 0.91203 2.27339 + 2.61012 3.89684 2.22451 1.93356 + 0.91203 2.22451 2.94717 1.58126 + 2.27339 1.93356 1.58126 4.85208 + +julia> eigen(K).values +4-element Vector{Float64}: + 0.17629073145135896 + 1.8632009739875723 + 2.7425362219513487 + 9.559840749713599 +``` +""" +function pseudo_K(h11::Int,tri::Int,cy::Int=1) + K::Matrix{Float64} = rand(h11,h11) + K = 4* 0.5 * (K+transpose(K)) + 2 .* I(h11) + while minimum(eigen(K).values) < 0. + K = rand(h11,h11) + K = 4* 0.5 * (K+transpose(K)) + 2 .* I(h11) + end + return Hermitian(K) +end + +""" + pseudo_L(h11,tri,cy=1;log=true) + +Randomly generates a h11+4+C(h11+4,2)-length hierarchical list of instanton scales, similar to those found in the KS Axiverse. Option for (sign,log10) or full precision.\n +#Examples +```julia-repl +julia> CYAxiverse.generate.pseudo_L(4,10) +36×2 Matrix{Float64}: + 1.0 0.0 + 1.0 -4.0 + 1.0 -8.0 + 1.0 -12.0 + 1.0 -16.0 + 1.0 -20.0 + 1.0 -24.0 + 1.0 -28.0 + -1.0 -29.4916 + 1.0 -33.8515 + ⋮ + 1.0 -133.665 + -1.0 -138.951 + +julia> CYAxiverse.generate.pseudo_L(4,10,log=false) +36-element Vector{ArbNumerics.ArbFloat}: + 1.0 + 0.0001 + 1.0e-8 + 1.0e-12 + 1.0e-16 + 1.0e-20 + 1.0e-24 + 1.0e-28 + -1.462574279422558833057690597964e-31 + -2.381595397961591074099629406235e-34 + ⋮ + 3.796809523142314798130344022481e-134 + -3.173000613781491329619833894919e-138 +``` +""" +function pseudo_L(h11::Int,tri::Int,cy::Int=1;log::Bool=true) + L1::Matrix{Float64} = [1. 0.] + L2::Matrix{Float64} = vcat([[1. -(4. *(j-1.))] for j=2.:h11+4.]...) + L3::Matrix{Float64} = vcat([[sign(rand(Uniform(-100. *h11,100. *h11))) -(4*(j-1))+log10(abs(rand(Uniform(-100. *h11,100. *h11))))] + for j=h11+5:h11+4+binomial(h11+4,2)]...) + L4::Matrix{Float64} = @.(log10(abs(L3))) + L::Matrix{Float64} = vcat(L1,L2,L3) + L = hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]) + if log == 1 + return L + else + Ltemp::Vector{ArbFloat} = ArbFloat.(L[:,1]) .* ArbFloat(10.) .^ ArbFloat.(L[:,2]) + return Ltemp + end +end + +############################## +#### Computing Spectra ####### +############################## + +""" + gauss_sum(z) + +Computes the addition of 2 numbers in (natural) log-space using the definition [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n +#Examples +```julia-repl +julia> CYAxiverse.generate.gauss_sum(10.) +10.000045398899218 + +julia> CYAxiverse.generate.gauss_sum(1000.) +1000.0 +``` +""" +function gauss_sum(z::Float64) + log2 = log(2) + if abs(z)>600. + return 0.5*z +abs(0.5*z) + else + return log2 + 0.5*z + log(cosh(0.5*z)) + end +end +""" + gauss_diff(z) + +Computes the difference of 2 numbers in (natural) log-space using the definition [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n +#Examples +```julia-repl +julia> CYAxiverse.generate.gauss_diff(10.) +9.99995459903963 + +julia> CYAxiverse.generate.gauss_diff(1000.) +1000.0 +``` +""" +function gauss_diff(z::Float64) + log2 = log(2) + if abs(z)>600. + return 0.5*z +abs(0.5*z) + else + return log2 + 0.5*z + log(abs(sinh(0.5*z))) + end +end + +""" + gauss_log_split(sign, log) + +Algorithm to compute Gaussian logarithms, as detailed [here](https://en.wikipedia.org/wiki/Gaussian_logarithm).\n +#Examples +```julia-repl +julia> CYAxiverse.generate.gauss_diff(10.) +9.99995459903963 + +julia> CYAxiverse.generate.gauss_diff(1000.) +1000.0 +``` +""" +function gauss_log_split(sb::Vector{Int},logb::Vector{Float64}) + # loga = log(|A|); logb = log(|B|); sa = sign(A); sb = sign(B) + temp = hcat(sb,logb) + temp = temp[sortperm(temp[:,2]),:] + sb::Vector{Int} = temp[:,1] + logb::Vector{Float64} = temp[:,2] + i = 1 + sa = sb[i] + loga = logb[i] + while i < size(sb,1) +# println(i) +# println([sa,sb[i+1],loga, logb[i+1]]) + if (sa==0 && sb[i+1]==0) ## A == B == 0 + elseif sa==0 ## A==0 --> B + sa = sb[i+1] + loga = logb[i+1] + elseif sb[i+1]==0 ## B==0 --> A + elseif (sa<0 && sb[i+1]>0) ## B-A + if loga|B| + sa = -1 + loga = logb[i+1]+gauss_diff(loga-logb[i+1]) + end + elseif (sa>0 && sb[i+1]<0) ## A-B + if loga>logb[i+1] ## |A|>|B| + sa =1 + loga = loga+gauss_diff(-loga+logb[i+1]) + elseif loga == logb[i+1] + sa = 0 + loga = 0 + else ## |A|<|B| + sa = -1 + loga = loga+gauss_diff(-loga+logb[i+1]) + end + elseif (sa<0 && sb[i+1]<0) ## -A-B + sa = -1 + loga = loga + gauss_sum(-loga+logb[i+1]) + else ## A+B + sa = 1 + loga = loga + gauss_sum(-loga+logb[i+1]) + end + i+=1 + end + return Int(sa), Float64(loga) +end + +function gauss_log(sb,logb) + if size(sb[sb .== 0.],1) == size(sb,1) + return 0,-Inf + elseif size(sb[sb .> 0.],1) == 0 + test = -1 +# elseif size(sb[sb .< 0.],1) == 0 +# test = 1 + else + test = 1 + end + temp = hcat(sb,logb) + signed_mask::Vector{Bool} = temp[:,1] .== test + temp1 = temp[signed_mask,:] + temp1 = temp1[sortperm(temp1[:,2]),:] + sb::Vector{Int} = temp1[:,1] + logb::Vector{Float64} = temp1[:,2] + sa1::Int,loga1::Float64 = gauss_log_split(sb,logb) + if size(temp1,1) != size(temp,1) + signed_mask = Bool.(true .- signed_mask) + temp2 = temp[signed_mask,:] + temp2 = temp2[sortperm(temp2[:,2]),:] + sba::Vector{Int} = temp2[:,1] + logba::Vector{Float64} = temp2[:,2] + sa2::Int,loga2::Float64 = gauss_log_split(sba,logba) + sa3::Vector{Int} = vcat(sa1,sa2) + loga3::Vector{Float64} = vcat(loga1,loga2) + sa::Int,loga = gauss_log_split(sa3,loga3) + return Int(sa),Float64(loga) + else + return Int(sa1), Float64(loga1) + end +end + +function V(x; L, Q) + potential = dot(L, (1. - cos(Q * x))) +end + +""" + hp_spectrum(K,L,Q; prec=5_000) + +Uses potential data generated by CYTools (or randomly generated) to compute axion spectra -- masses, quartic couplings and decay constants -- to high precision.\n +#Examples +```julia-repl +julia> pot_data = CYAxiverse.read.potential(4,10,1) +julia> hp_spec_data = CYAxiverse.generate.hp_spectrum(pot_data["K"], pot_data["L"], pot_data["Q"]) +Dict{String, Any} with 12 entries: + "msign" => [] + "m" => [] + "fK" => [] + "fpert" => [] + "λselfsign" => [] + "λself" => [] + "λ31_i" => [] + "λ31sign" => [] + "λ31" => [] + "λ22_i" => [] + "λ22sign" => [] + "λ22" => [] +``` +""" +function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Q::Matrix{Int}; prec=5_000) + @assert size(Q,1) == size(L,1) && size(Q,2) == size(K,1) + setprecision(ArbFloat; digits=prec) + h11::Int = size(K,1) + Lh::Vector{ArbFloat}, Qtest::Matrix{ArbFloat} = L[:,1] .* ArbFloat(10.) .^L[:,2], ArbFloat.(Q) + #Compute Hessian (in lattice basis) + grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) + hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) +# Lh::Vector{ArbFloat} = zeros(ArbFloat,size(Ltemp,1)) +# @inbounds for i=1:size(Lh,1) +# Lh[i] = Ltemp[i,1] .* Ltemp[i,2] .* 10. .^ Ltemp[i,3] +# end + + grad2_temp1::Matrix{ArbFloat} = zeros(ArbFloat,size(Lh,1),size(hind1,1)) +# xh::Vector{ArbFloat} = x(h11,tri,cy) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + Qtest[c,i] * Qtest[c,j] end) grad=false fastmath=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * Lh[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + Lh = zeros(3) + #Compute QM using generalised eigendecomposition (but keep fK) + Ktest = Hermitian(ArbFloat.(K)) + fK::Vector{Float64} = Float64.(log10.(sqrt.(eigen(Ktest).values))) + Vls::Vector{ArbFloat},Tls::Matrix{ArbFloat} = eigen(hessfull, Ktest) + Hsign::Vector{Int64} = @.(sign(Vls)) + Hvals::Vector{Float64} = @.(log10(sqrt(abs(Vls)))) + QMs::Matrix{ArbFloat} = similar(Qtest) + multH(M,N) = @tullio fastmath=false grad=false R[c,i] := M[c,j] * N[j,i] + QMs = multH(Qtest,Tls) + signQMs::Matrix{Int64} = @.(Int(sign(QMs))) + logQMs::Matrix{Float64} = @.(Float64(log(abs(QMs)))) + + #Clear memory + Vls = zeros(ArbFloat,1) + Tls = zeros(ArbFloat,1,1) + QMs = zeros(ArbFloat,1,1) + Qtest = zeros(ArbFloat,1,1) + hessfull = zeros(ArbFloat,1,1) + grad2_temp1 = zeros(ArbFloat,1,1) + grad2_temp = zeros(ArbFloat,1) + grad2 = zeros(ArbFloat,1,1) + Ktest = zeros(ArbFloat,1,1) +# GC.gc() + + #Generate quartics in logspace + signL::Vector{Int}, logL::Vector{Float64} = L[:,1], L[:,2] + #Compute quartics + qindq31::Vector{Vector{Int64}} = [[x,x,x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x!=y] + qindq22::Vector{Vector{Int64}} = [[x,x,y,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>y] + quart31log1::Matrix{Float64} = zeros(Float64,size(logL,1),size(qindq31,1)) + quart22log1::Matrix{Float64} = zeros(Float64,size(logL,1),size(qindq22,1)) + quartiilog1::Matrix{Float64} = zeros(Float64,size(logL,1),h11) + quart31sign1::Matrix{Float64} = zeros(Int64,size(logL,1),size(qindq31,1)) + quart22sign1::Matrix{Float64} = zeros(Int64,size(logL,1),size(qindq22,1)) + quartiisign1::Matrix{Float64} = zeros(Int64,size(logL,1),h11) + quart31log::Vector{Float64} = zeros(Float64,size(qindq31,1)) + quart22log::Vector{Float64} = zeros(Float64,size(qindq22,1)) + quartdiaglog::Vector{Float64} = zeros(Float64,h11) + quart31sign::Vector{Int} = zeros(Int,size(qindq31,1)) + quart22sign::Vector{Int} = zeros(Int,size(qindq22,1)) + quartdiagsign::Vector{Int} = zeros(Int,h11) + @inbounds for k in eachindex(qindq31) + i,_,_,j = qindq31[k] + quart31sign1[:,k] = signL .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,j] + quart31log1[:,k] = logL .+ (logQMs[:,i] + logQMs[:,i] .+ logQMs[:,i] + logQMs[:,j]) + quart31sign[k],quart31log[k] = gauss_log(quart31sign1[:,k],quart31log1[:,k]) + end + @inbounds for k in eachindex(qindq22) + i,_,_,j = qindq22[k] + quart22sign1[:,k] = signL .* signQMs[:,i] .* signQMs[:,i] .* signQMs[:,j] .* signQMs[:,j] + quart22log1[:,k] = logL .+ (logQMs[:,i] + logQMs[:,i] .+ logQMs[:,j] + logQMs[:,j]) + quart22sign[k],quart22log[k] = gauss_log(quart22sign1[:,k],quart22log1[:,k]) + end + @inbounds for k=1:h11 + quartiisign1[:,k] = signL .* signQMs[:,k] .* signQMs[:,k] .* signQMs[:,k] .* signQMs[:,k] + quartiilog1[:,k] = logL .+ (logQMs[:,k] + logQMs[:,k] .+ logQMs[:,k] + logQMs[:,k]) + quartdiagsign[k],quartdiaglog[k] = gauss_log(quartiisign1[:,k],quartiilog1[:,k]) + end + qindqdiag::Vector{Vector{Int64}} = [[x,x,x,x]::Vector{Int64} for x=1:h11] + + fpert::Vector{Float64} = @.(Hvals+log10(constants()["MPlanck"])- (0.5*quartdiaglog*log10(exp(1)))) + + vals = Hsign, Hvals .+ Float64(log10(constants()["MPlanck"])) .+9 .+ Float64(constants()["log2π"]), + fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), fpert .- Float64(constants()["log2π"]), quartdiagsign, quartdiaglog .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq31...) .-1), quart31sign, + quart31log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), quart22sign, + quart22log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq22...) .-1) + + keys = ["msign","m", "fK", "fpert","λselfsign", "λself","λ31_i","λ31sign","λ31", "λ22_i","λ22sign","λ22"] + return Dict(zip(keys,vals)) +# GC.gc() +end + +function hp_spectrum(h11::Int,tri::Int,cy::Int=1; prec=5_000) + pot_data = potential(h11,tri,cy); + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + LQtilde = LQtildebar(h11,tri,cy) + Ltilde = Matrix{Float64}(LQtilde["L\tiil̃"]') + Qtilde = Matrix{Int}(LQtilde["Qtilde"]') + spectrum_data = hp_spectrum(K,Ltilde,Qtilde) +end +""" + hp_spectrum_save(h11,tri,cy) + +""" +function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1) + if h11!=0 + pot_data = potential(h11,tri,cy); + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + LQtest = hcat(L,Q); + Lfull::Vector{Float64} = LQtest[:,2] + LQsorted = LQtest[sortperm(Lfull, rev=true), :] + Lsorted_test,Qsorted_test = LQsorted[:,1:2], Int.(LQsorted[:,3:end]) + Qtilde = Qsorted_test[1,:] + Ltilde = Lsorted_test[1,:] + for i=2:axes(Qsorted_test,1)[end] + S = MatrixSpace(Nemo.ZZ, size(Qtilde,1), (size(Qtilde,2)+1)) + m = S(hcat(Qtilde, @view(Qsorted_test[i,:]))) + (d,bmat) = Nemo.nullspace(m) + if d == 0 + Qtilde = hcat(Qtilde, @view(Qsorted_test[i,:])) + Ltilde = hcat(Ltilde, @view(Lsorted_test[i,:])) + end + end + spectrum_data = hp_spectrum(K,Ltilde,Qtilde) + h5open(cyax_file(h11,tri,cy), "r+") do file + f2 = create_group(file, "spectrum") + f2a = create_group(f2, "quartdiag") + f2a["log10",deflate=9] = spectrum_data["λself"] + f2a["sign",deflate=9] = spectrum_data["λselfsign"] + f2e = create_group(f2, "decay") + f2e["fpert",deflate=9] = spectrum_data["fpert"] + f2e["fK",deflate=9] = spectrum_data["fK"] + + f2b = create_group(f2, "quart31") + f2b["log10",deflate=9] = spectrum_data["λ31"] + f2b["sign",deflate=9] = spectrum_data["λ31sign"] + f2b["index",deflate=9] = spectrum_data["λ31_i"] + + f2c = create_group(f2, "quart22") + f2c["log10",deflate=9] = spectrum_data["λ22"] + f2c["sign",deflate=9] = spectrum_data["λ22sign"] + f2c["index",deflate=9] = spectrum_data["λ22_i"] + + f2d = create_group(f2, "masses") + f2d["log10",deflate=9] = spectrum_data["m"] + f2d["sign",deflate=9] = spectrum_data["msign"] + end + end + GC.gc() +end +function project_out(v::Vector{Int}) + idd = Matrix{Rational}(I(size(v,1))) + norm2::Int = dot(v,v) + proj = 1 // norm2 * (v * v') + Projector(@.(ifelse(abs(proj) < eps(), zero(proj), proj)), idd - proj) +end + +""" + project_out(v::Vector) + +Takes the direction to be projected out as input and returns a projector of the form + +``\\Pi\\bigl(\\vec{v}\\bigr) = \\mathbb{1}_{h^{1,1}} - \\frac{\\bigl|\\vec{v}\\bigr\\rangle\\bigl\\langle\\vec{v}\\bigr|}{||\\vec{v}||^2}`` +""" +function project_out(v::Vector{Rational{Int64}}) + idd = Matrix{Rational}(I(size(v,1))) + norm2 = dot(v,v) + proj = 1 // norm2 * (v * v') + # TODO: #16 Need to remove floating point errors + Projector(@.(ifelse(abs(proj) < 1e-5, zero(proj), proj)), idd - proj) +end + +function project_out(projector::Matrix, v::Vector{Int}) + norm2 = dot(projector * v, projector * v) + proj = 1. / norm2 * ((projector * v) * (v' * projector)) + projector = projector - proj + @.(ifelse(abs(projector) < 1e-5, zero(projector), projector)) +end + +function project_out(v::Vector{Float64}) + idd = Matrix{Float64}(I(size(v,1))) + norm2 = dot(v,v) + proj = 1. /norm2 * (v * v') + proj = @.(ifelse(abs(proj) < eps(), zero(proj), proj)) + idd_proj = idd - proj + Projector(proj, @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj))) +end + +function project_out(projector::Matrix, v::Vector{Float64}) + norm2 = dot(projector * v, projector * v) + proj = 1. / norm2 * ((projector * v) * (v' * projector)) + proj = @.(ifelse(abs(proj) < eps(), zero(proj), proj)) + idd_proj = projector - proj + @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj)) +end + +""" + project_out(orth_basis::Matrix) + +TBW +""" +function project_out(orth_basis::Matrix) + projector = I(size(orth_basis, 1)) + for i in 1:size(orth_basis, 2) + P = @view(orth_basis[:, i]) * transpose(@view(orth_basis[:, i])) + projector -= P + end + @.(ifelse(abs(projector) < 1e-10, zero(projector), projector)) +end + +""" + orth_basis(vec::Vector) + +Uses the projector defined in [`project_out(v)`](@ref) to construct an orthonormal basis (same method as [scipy.linalg.orth](https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.orth.html)) +""" +function orth_basis(vec::Vector) + proj = project_out(vec) + #this is the scipy.linalg.orth function written out + u, s, vh = svd(proj,full=true) + M, N = size(u,1), size(vh,2) + rcond = eps() * max(M, N) + tol = maximum(s) * rcond + num = Int.(round(sum(s .> tol))) + T = u[:, 1:num] + @.(ifelse(abs(T) < tol, zero(T), T)) +end + +""" + orth_basis(Q) +Takes a set of vectors (columns of `Q`) and constructs an orthonormal basis +""" +function orth_basis(Q::Matrix) + #this is the scipy.linalg.orth function written out + u, s, vh = svd(Q, full=true) + M, N = size(u,1), size(vh,2) + rcond = eps() * max(M, N) + tol = maximum(s) * rcond + num = Int.(round(sum(s .> tol))) + T = u[:, 1:num] + @.(ifelse(abs(T) < tol, zero(T), T)) +end + +""" + pq_spectrum(K,L,Q) +Uses a modified version of the algorithm outlined in the _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) to compute the masses and decay constants. +!!! note + The off-diagonal elements of the quartic self-interaction tensor are not yet included in this computation +""" +function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Q::Matrix{Int}) + # TODO: #17 Include threshold + h11::Int = size(K,1) + fK::Vector{Float64} = log10.(sqrt.(eigen(K).values)) + Kls = cholesky(K).L + + LQtilde = LQtildebar(L, Q) + Ltilde = LQtilde["Ltilde"] + Qtilde = LQtilde["Qtilde"] + QKs::Matrix{Float64} = zeros(Float64,h11,h11) + fapprox::Vector{Float64} = zeros(Float64,h11) + mapprox::Vector{Float64} = zeros(h11) + LinearAlgebra.mul!(QKs, inv(Kls'), Qtilde') + for i=1:h11 + fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) + mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) + T = orth_basis(QKs[i,:]) + println(size(QKs), size(T)) + QKs1 = zeros(size(QKs,1), size(T,2)) + LinearAlgebra.mul!(QKs1,QKs, T) + QKs = copy(QKs1) + end + vals = [mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"]))] + keys = ["m", "fK", "fpert"] + + return Dict(zip(keys,vals)) +end + +function pq_spectrum(h11::Int,tri::Int,cy::Int) + pot_data = potential(h11,tri,cy) + K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] + pq_spectrum(K, L, Q) +end + +function pq_spectrum_save(h11::Int,tri::Int,cy::Int=1) + if h11!=0 + file_open::Bool = 0 + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "spectrum") + file_open = 1 + return nothing + end + end + if file_open == 0 + pot_data = potential(h11,tri,cy); + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + spectrum_data = pq_spectrum(K,L,Q) + h5open(cyax_file(h11,tri,1), "r+") do file + f2 = create_group(file, "spectrum") + f2e = create_group(f2, "decay") + f2e["fpert",deflate=9] = spectrum_data["fpert"] + f2e["fK",deflate=9] = spectrum_data["fK"] + + f2d = create_group(f2, "masses") + f2d["log10",deflate=9] = spectrum_data["m"] + end + end + end +end + +function Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) + m,n = size(x) + mat = Int[x[i,j] for i = 1:m, j = 1:n] + return mat +end +Base.convert(::Type{Matrix}, x::Nemo.fmpz_mat) = convert(Matrix{Int}, x) + + +""" + vacua(L,Q; threshold) + +Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) and a threshold for: + +``\\frac{\\Lambda_a}{|\\Lambda_j|}`` + +_i.e._ is the instanton contribution large enough to affect the minima. + +For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. + +For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential.\n +#Examples +```julia-repl +julia> using CYAxiverse +julia> h11,tri,cy = 10,20,1; +julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); +julia> vacua_data = CYAxiverse.generate.vacua(pot_data["L"],pot_data["Q"]) +Dict{String, Any} with 3 entries: + "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] + "vacua" => 3 + "Qtilde" => [0 0 … 1 0; 0 0 … 0 0; … ; 1 1 … 0 0; 0 0 … 0 0] +``` +""" +function vacua(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) + h11::Int = size(Q,2) + if h11 <= 50 + snf_data = vacua_SNF(Q) + Tparallel::Matrix{Int} = snf_data["T∥"] + θparalleltest::Matrix{Float64} = snf_data["θ∥"] + end + data = LQtildebar(L,Q; threshold=threshold) + Qtilde = data["Qtilde"] + + if h11 <= 50 + vacua = Int(round(abs(det(θparalleltest) / det(inv(Qtilde))))) + thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), thparallel, Qtilde] + return Dict(zip(keys,vals)) + else + vacua = Int(round(abs(1 / det(inv(Qtilde))))) + keys = ["vacua","Qtilde"] + vals = [abs(vacua), Qtilde] + return Dict(zip(keys,vals)) + end +end + +""" + LQtilde(Q, L) + +TBW +""" +function LQtilde(Q, L) + if @isdefined h11 + else + h11 = size(Q, 2) + end + Q = Matrix{Int}(Q[:, sortperm(L[2,:], rev=true)]) + L = L[:, sortperm(L[2,:], rev=true)] + Qbar = zeros(Int, size(Q,1),1) + Qtilde = zeros(Int, size(Q,1),1) + Lbar = zeros(Int, size(L,1),1) + Ltilde = zeros(Int, size(L,1),1) + for idx in axes(Q, 2) + if rank(hcat(Qtilde, Q[:, idx])) > rank(Qtilde) + Qtilde = hcat(Qtilde, Q[:, idx]) + Ltilde = hcat(Ltilde, L[:, idx]) + if rank(Qtilde) == h11 + break + end + else + Qbar = hcat(Qbar, Q[:, idx]) + Lbar = hcat(Lbar, L[:, idx]) + end + end + if size(Qtilde, 2) + size(Qbar, 2) != size(Q, 2) + Qbar = hcat(Qbar[:, 2:end], Q[:, size(Qtilde,2)+size(Qbar,2)-1:end]) + Lbar = hcat(Lbar[:, 2:end], L[:, size(Qtilde,2)+size(Qbar,2):end]) + end + LQLinearlyIndependent(Qtilde[:, 2:end], Qbar, Lbar, Ltilde[:, 2:end]) +end + +function LQtilde(h11::Int, tri::Int, cy::Int) + Q = Matrix{Int}(potential(h11, tri, cy)["Q"]') + L = Matrix{Float64}(potential(h11, tri, cy)["L"]') + LQtilde(Q, L) +end + +function LQtilde(geom_idx::GeometryIndex) + Q = Matrix{Int}(potential(geom_idx).Q') + L = Matrix{Float64}(potential(geom_idx).L') + LQtilde(Q, L) +end + +""" + αmatrix(LQtilde::NamedTuple; threshold::Float64=0.5) + +TBW +""" +function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) + Qhat = Matrix{Rational}(LQ.Qtilde) + Qbar = Matrix{Int}(LQ.Qbar) + Lhat = LQ.Ltilde + Lbar = LQ.Lbar + Ltilde_min::Float64 = minimum(@view(Lhat[2,:])) + Ldiff_limit::Float64 = log10(threshold) + Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + Qinv = (inv(Qhat)) + Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) + # Qhat::Matrix{Int} = deepcopy(Qtilde) + # Lhat = deepcopy(Ltilde) + αeff::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) + α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES + for i in axes(α,1) + for j in axes(α,2) + if abs(α[i,j]) > 1e-3 + Ldiff::Float64 = round(Lbar[2,i] - Lhat[2,j], digits=3) + if Ldiff > Ldiff_limit + else + α[i,j] = zero(Rational) + end + else + α[i,j] = zero(Rational) + end + end + if α[i,:] == zeros(size(α,2)) + else + Qhat = hcat(Qhat, @view(Qbar[:,i])) + Lhat = hcat(Lhat, @view(Lbar[:,i])) + αeff = hcat(αeff,@view(α[i,:])) + end + end + CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) +end + +function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) + αmatrix(LQtilde(h11, tri, cy); threshold) +end + +function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) + αmatrix(LQtilde(geom_idx); threshold) +end +""" + LQtildebar(L,Q; threshold) + +Compute the linearly independent leading instantons that generate the axion potential, including any subleading instantons that are within `threshold` of their basis instanton. Also returns `α` which is a vector of zeros if `Qhat` is square, or is a matrix with additional non-zero columns if `Qhat` is not square.\n +#Examples +```julia-repl +julia> h11,tri,cy = 12, 7, 1; +julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); +julia> vacua_data = CYAxiverse.generate.LQtildebar(pot_data["L"],pot_data["Q"]; threshold=1e-2) +Dict{String, Matrix}( +"Lbar" => 2×51 Matrix{Float64}: + 1.0 1.0 1.0 -1.0 … 1.0 -1.0 1.0 1.0 + -101.342 -110.839 -156.784 -271.595 -1113.02 -1118.28 -1118.47 -1144.78 + +"Qhat" => 12×13 Matrix{Int64}: + 0 0 0 0 0 0 -1 0 0 0 0 0 1 + 0 -2 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 -1 2 0 0 0 0 0 + 0 1 0 0 0 0 -1 2 0 1 0 0 0 + 0 1 0 0 0 0 1 -2 0 0 0 0 0 + 0 1 0 0 0 0 -1 0 1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 1 0 + 0 -1 0 1 0 0 0 1 0 0 0 0 0 + 0 1 0 0 0 1 0 -1 0 0 0 0 0 + 0 1 1 0 0 0 -1 1 0 0 0 0 0 + 1 0 0 0 0 0 -1 1 0 0 0 0 0 + 0 1 0 0 0 0 0 0 0 0 1 0 0 + +"Lhat" => 2×13 Matrix{Float64}: + 1.0 1.0 1.0 1.0 … 1.0 1.0 1.0 1.0 + -31.7319 -77.6752 -87.1719 -249.058 -693.394 -872.027 -1143.42 -1144.78 + +"Qbar" => 12×51 Matrix{Int64}: + 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 1 0 0 0 0 1 + -2 0 -2 0 0 0 2 2 -2 0 0 0 0 -2 0 -1 0 0 0 0 0 + 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 -2 0 0 1 0 + 1 0 1 0 0 0 -1 -1 1 0 0 -1 1 1 0 2 -1 0 0 0 0 + 1 0 1 0 0 0 -1 -1 1 0 0 0 0 1 0 -1 2 0 0 0 0 + 1 0 1 0 0 0 -1 -1 1 0 0 … 0 0 1 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 + -1 0 -1 1 0 0 2 1 -1 1 0 0 0 -1 0 0 -1 1 0 0 0 + 1 0 1 0 0 1 -1 -1 0 0 0 0 -1 1 0 0 1 0 1 0 0 + 1 1 0 0 0 0 -1 -1 1 -1 -1 0 0 1 1 1 -1 0 0 0 0 + -1 -1 0 -1 -1 -1 0 0 0 0 0 … 0 0 0 0 1 -1 0 0 0 0 + 1 0 1 0 0 0 -1 -1 1 0 0 0 0 0 -1 0 0 -1 -1 -1 0 + +"α" => 12×2 Matrix{Rational}: + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 0//1 + 0//1 3//4 + ) +``` +""" +function LQtildebar(L::Matrix{Float64},Q::Matrix{Int}; threshold = 0.5) + Qsorted_test = Matrix{Int}(Q[sortperm(L[:, 2], rev=true), :]) + Lsorted_test = Matrix{Float64}(L[sortperm(L[:, 2], rev=true), :]) + Qtilde::Matrix{Int} = hcat(zeros(Int,size(Qsorted_test[1,:],1)),Qsorted_test[1,:]) + Ltilde::Matrix{Float64} = hcat(zeros(Float64,size(Lsorted_test[1,:],1)),Lsorted_test[1,:]) + + S::Nemo.FmpzMatSpace = MatrixSpace(Nemo.ZZ,1,1) + m::Nemo.fmpz_mat = matrix(Nemo.ZZ,zeros(1,1)) + d::Int = 1 + Qbar::Matrix{Int} = zeros(Int,size(Qsorted_test[1,:],1),1) + Lbar::Matrix{Float64} = zeros(Float64,size(Lsorted_test[1,:],1),1) + for i=2:axes(Qsorted_test,1)[end] + S = MatrixSpace(Nemo.ZZ, size(Qtilde)...) + m = S(hcat(@view(Qtilde[:,2:end]),@view(Qsorted_test[i,:]))) + d = Nemo.nullspace(m)[1] + if d == 0 + Qtilde = hcat(Qtilde,@view(Qsorted_test[i,:])) + Ltilde = hcat(Ltilde,@view(Lsorted_test[i,:])) + else + Qbar = hcat(Qbar, @view(Qsorted_test[i,:])) + Lbar = hcat(Lbar, @view(Lsorted_test[i,:])) + end + end + Qtilde = Matrix{Rational}(@view(Qtilde[:,2:end])) + Qbar = Matrix{Int}(@view(Qbar[:,2:end])) + Ltilde = @view(Ltilde[:,2:end]) + Lbar = @view(Lbar[:,2:end]) + Ltilde_min::Float64 = minimum(@view(Ltilde[2,:])) + Ldiff_limit::Float64 = log10(threshold) + Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + Qinv = (inv(Qtilde)) + Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) + Qhat::Matrix{Int} = deepcopy(Qtilde) + Lhat = deepcopy(Ltilde) + αeff::Matrix{Rational} = zeros(size(@view(Q[1,:]),1),1) + α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES + for i in axes(α,1) + for j in axes(α,2) + if abs(α[i,j]) > 1e-3 + Ldiff::Float64 = round(Lbar[2,i] - Lhat[2,j], digits=3) + if Ldiff > Ldiff_limit + else + α[i,j] = zero(Rational) + end + else + α[i,j] = zero(Rational) + end + end + if α[i,:] == zeros(size(α,2)) + else + Qhat = hcat(Qhat, @view(Qbar[:,i])) + Lhat = hcat(Lhat, @view(Lbar[:,i])) + αeff = hcat(αeff,@view(α[i,:])) + end + end + keys = ["Qhat", "Qbar", "Lhat", "Lbar", "α"] + vals = [Qhat, Qbar, Lhat, Lbar, αeff] + return Dict(zip(keys,vals)) +end + +""" + LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + +TBW +""" +function LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + pot_data = potential(h11,tri,cy) + Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + LQtildebar(L, Q; threshold=threshold) +end + +""" + vacua_id_basis(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) + +Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) and a threshold for: + +``\frac{Lambda_a}{|Lambda_j|}`` + +_i.e._ is the instanton contribution large enough to affect the minima. This function uses JLM's method outlined in [TO APPEAR]. + +#Examples +```julia-repl +julia> using CYAxiverse +julia> h11,tri,cy = 10,20,1; +julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); +julia> vacua_data = CYAxiverse.generate.vacua_id_basis(pot_data["L"],pot_data["Q"]; threshold=0.01) +Dict{String, Any} with 3 entries: + "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] + "vacua" => 11552.0 + "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] +``` +""" +function vacua_id_basis(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) + if @isdefined h11 + else + h11::Int = size(Q,2) + end + data = LQtildebar(L,Q; threshold=threshold) + Leff = data["Lhat"] + Qtilde = Matrix{Rational}(data["Qhat"][:, 1:h11]) + Qbar = Matrix{Int}(data["Qbar"]) + Qinv = Matrix{Rational}(inv(Qtilde)) + Qinv = @.(ifelse(abs(Qinv) < 1e-5, zero(Rational), Rational(Qinv))) + αeff = data["α"] + if αeff == zeros(Float64,size(@view(Q[1,:]),1),1) + keys = ["θ̃∥", "vac"] + vals = [unique(Qinv, dims=2), abs(det(Qtilde))] + return Dict(zip(keys,vals)) + else + αeff = @view(αeff[:,2:end]) + Qeff = hcat((1//1 * I(size(αeff,1))),αeff) + Qrowmask = [sum(i .== zero(i[1])) < size(Qeff,2)-1 for i in eachrow(Qeff)] + Qcolmask = [any(col .!= zero(col[1])) for col in eachcol(Qeff[Qrowmask,:])] + keys = ["Qtilde_inv", "α", "Qeff","Leff", "Qrowmask", "Qcolmask"] + vals = [inv(Matrix{Rational}(@view(Qtilde[:,1:size(Qtilde,1)]))), (inv(Matrix{Rational}(@view(Qtilde[:,1:size(Qtilde,1)]))) * Qbar), Qeff, Leff, Qrowmask, Qcolmask] + return Dict(zip(keys,vals)) + end +end + +function vacua_id_basis(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + pot_data = potential(h11,tri,cy) + Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + vacua_id_basis(L, Q; threshold=threshold) +end +""" + vacua_id(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=zero(Q[1, :])) + +TBW +""" +function vacua_id(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=zero(Q[1, :])) + # TODO: #4 add phases @vmmhep + if @isdefined h11 + else + h11::Int = size(Q,2) + end + id_basis = vacua_id_basis(L, Q; threshold) + if haskey(id_basis, "Qeff") + Qeff = Matrix(id_basis["Qeff"]) + xmin = [] + for (i,row) in enumerate(eachrow(Qeff)) + if sum(iszero.(row)) == (size(row, 1)) - 1 + push!(xmin, zeros(Float64, h11)) + elseif maximum(denominator.(row)) == 1 + push!(xmin, zeros(Float64, h11)) + else + Leff = id_basis["Leff"][:, @.(!iszero(row))] + Lsubdiff = @view(Leff[2,:]) .- @view(Leff[2,1]) + Lfull = Leff[1,:] .* 10. .^ Lsubdiff; + res = subspace_minimize(Lfull, Matrix(row[row .!= 0]'); phase=phase[i]) + if typeof(res) <: Vector + res = reshape(res, length(res), 1) + end + subspace_min = zeros(h11, size(res, 1)) + subspace_min[i, :] = hcat(@view(res[:, 1])...) + subspace_min = subspace_min' * id_basis["Qtilde_inv"] + push!(xmin, Matrix(subspace_min')) + end + end + keys = ["θ̃∥", "vac"] + xmin = hcat(xmin...) + xmin = sort(xmin, dims = 2) + min_num = 1 + while min_num < size(xmin, 2) + if all(abs.(@view(xmin[:, min_num+1]) .- @view(xmin[:, min_num])) .< 1e-10) + xmin[:, min_num] = zero(@view(xmin[:, min_num])) + end + min_num += 1 + end + xmin = unique(xmin, dims = 2) + vac = size(xmin, 2) + vals = [xmin, vac] + return Dict(zip(keys, vals)) + else + θ̃min = id_basis["θ̃∥"] + for col in axes(θ̃min, 2) + if sum(θ̃min[:, col] .== zero(θ̃min[:, col][1])) == size(θ̃min, 1) - 1 + θ̃min[:, col] = zero(θ̃min[:, col]) + else + for i in 1:maximum(denominator.(θ̃min[:, col])) + θ̃min = hcat(θ̃min, i .+ θ̃min[:, col]) + end + end + end + xmin = unique(θ̃min, dims=2) + xmin = unique(@.(ifelse(all(xmin != 0), mod(xmin, 1), xmin)), dims=2) + keys = ["θ̃min", "θ̃∥", "vac"] + vals = [θ̃min, xmin, id_basis["vac"]] + Dict(zip(keys, vals)) + end +end + +""" + vacua_id(h11::Int, tri::Int, cy::Int; threshold, phase::Vector) + +TBW +""" +function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector=zeros(h11)) + pot_data = potential(h11,tri,cy) + Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + vacua_id(L, Q; threshold=threshold, phase=phase) +end + + +function vacua_SNF(Q::Matrix{Int}) + h11::Int = size(Q,2) + ###### Nemo SNF ##### + Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) + T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] + Tparallel1::Nemo.fmpz_mat = inv(T)[:,1:h11] + Tparallel::Matrix{Int} = convert(Matrix{Int},Tparallel1) + + θparalleltest::Matrix{Float64} = inv(transpose(Float64.(Q)) * Float64.(Q)) * transpose(Float64.(Q)) * Float64.(Tparallel) + keys = ["T∥", "θ∥"] + vals = [Tparallel,θparalleltest] + return Dict(zip(keys,vals)) +end +""" + vacua_TB(L,Q) + +Compute the number of vacua given an instanton charge matrix `Q` and 2-column matrix of instanton scales `L` (in the form [sign; exponent]) + +For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. + +For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential. +#Examples +```julia-repl +julia> using CYAxiverse +julia> h11,tri,cy = 10,20,1; +julia> pot_data = CYAxiverse.read.potential(h11,tri,cy); +julia> vacua_data = CYAxiverse.generate.vacua_TB(pot_data["L"],pot_data["Q"]) +Dict{String, Any} with 3 entries: + "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] + "vacua" => 11552.0 + "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] +``` +""" +function vacua_TB(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) + + h11::Int = size(Q,2) + if h11 <= 50 + snf_data = vacua_SNF(Q) + Tparallel::Matrix{Int} = snf_data["T∥"] + θparalleltest::Matrix{Float64} = snf_data["θ∥"] + end + data = LQtildebar(L,Q; threshold=threshold) + Qtilde = data["Qtilde"] + Qbar = data["Qbar"] + Ltilde = data["Ltilde"] + Lbar = data["Lbar"] + α = data["α"] + if h11 <= 50 + if size(Qtilde,1) == size(Qtilde,2) + vacua = abs(det(θparalleltest) / det(inv(Qtilde))) + else + vacua = abs(det(θparalleltest) / (1/sqrt(det(Qtilde * Qtilde')))) + end + thparallel::Matrix{Rational} = Rational.(round.(θparalleltest; digits=5)) + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), thparallel, Qtilde] + return Dict(zip(keys,vals)) + else + if size(Qtilde,1) == size(Qtilde,2) + vacua = abs(1 / det(inv(Qtilde))) + else + vacua = abs(sqrt(det(Qtilde * Qtilde'))) + end + + keys = ["vacua","Qtilde"] + vals = [abs(vacua), Qtilde] + return Dict(zip(keys,vals)) + end +end + +""" + vacua_TB(h11,tri,cy) + +Compute the number of vacua given a geometry from the KS database. + +For small systems (Nax<=50) the algorithm computes the ratio of volumes of the fundamental domain of the leading potential and the full potential. + +For larger systems, the algorithm only computes the volume of the fundamental domain of the leading potential. +#Examples +```julia-repl +julia> using CYAxiverse +julia> h11,tri,cy = 10,20,1; +julia> vacua_data = CYAxiverse.generate.vacua_TB(h11,tri,cy) +Dict{String, Any} with 3 entries: + "θ∥" => Rational[1//1 0//1 … 0//1 0//1; 0//1 1//1 … 0//1 0//1; … ; 0//1 0//1 … 1//1 0//1; 0//1 0//1 … 0//1 1//1] + "vacua" => 11552.0 + "Qtilde" => [0 0 … 0 1; 0 0 … 0 0; … ; 1 1 … -1 -1; 0 0 … 0 0] +``` +""" +function vacua_TB(h11::Int,tri::Int,cy::Int; threshold::Float64=0.5) + pot_data = potential(h11,tri,cy) + Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + vacua_TB(L, Q; threshold=threshold) +end + + +function vacua_save(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) + file_open::Bool = 0 + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "vacua") + file_open = 1 + return nothing + end + end + if file_open == 0 + pot_data = potential(h11,tri,cy) + vacua_data = vacua(pot_data["L"],pot_data["Q"]; threshold=threshold) + h5open(cyax_file(h11,tri,cy), "r+") do file + f3 = create_group(file, "vacua") + f3["vacua",deflate=9] = vacua_data["vacua"] + f3["Qtilde",deflate=9] = vacua_data["Qtilde"] + if h11 <=50 + f3a = create_group(f3, "thparallel") + f3a["numerator",deflate=9] = numerator.(vacua_data["θ∥"]) + f3a["denominator",deflate=9] = denominator.(vacua_data["θ∥"]) + end + end + end +end + + + +function vacua_save_TB(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) + file_open::Bool = 0 + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "vacua_TB") + file_open = 1 + return nothing + end + end + if file_open == 0 + pot_data = potential(h11,tri,cy) + vacua_data = vacua_TB(pot_data["L"],pot_data["Q"]; threshold=threshold) + h5open(cyax_file(h11,tri,cy), "r+") do file + f3 = create_group(file, "vacua_TB") + f3["vacua",deflate=9] = vacua_data["vacua"] + f3["Qtilde",deflate=9] = vacua_data["Qtilde"] + if h11 <=50 + f3a = create_group(f3, "thparallel") + f3a["numerator",deflate=9] = numerator.(vacua_data["θ∥"]) + f3a["denominator",deflate=9] = denominator.(vacua_data["θ∥"]) + end + end + end +end + + +""" + vacua_MK(L,Q; threshold=1e-2) +Uses the projection method of _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) on ``\\mathcal{Q}`` to compute the locations of vacua. +!!! note + Finding the lattice of minima when numerical minimisation is required has not yet been implemented. +""" +function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold = 1e-2) + setprecision(ArbFloat; digits=5_000) + LQtilde = LQtildebar(L, Q; threshold=threshold) + Ltilde = LQtilde["Ltilde"][:,sortperm(LQtilde["Ltilde"][2,:], rev=true)] + Qtilde = LQtilde["Qtilde"]'[sortperm(Ltilde[2,:], rev=true), :] + Qtilde = Matrix{Int}(Qtilde) + basis_vectors = zeros(size(Qtilde,2), size(Qtilde,2)) + idx = 1 + println("size Qtilde: ", size(Qtilde)) + while idx < size(Q,2) + println("start ", idx) + Qsub = Qtilde[idx, :] + Lsub = Ltilde[:, idx] + while Ltilde[2, idx+1] - Ltilde[2, idx] ≥ threshold && dot(Qtilde[idx+1, :], Qtilde[idx, :]) != 0 + Lsub = hcat(Lsub, Ltilde[:, idx+1]) + Qsub = hcat(Qsub, Qtilde[idx+1, :]) + idx += 1 + println("while ", idx) + end + if size(Qsub,2) == 1 + basis_vectors[idx, :] = Qsub + idx += 1 + println("if ", idx) + + else + Lsubdiff = Lsub[2,:] .- Lsub[2,1] + Lfull = Lsubdiff[1,:] .* 10. .^ Lsubdiff[2,:]; + Qsubmask = [sum(i .== 0) < size(Qsub,1) for i in eachcol(Qsub)] + Qsub = Qsub[:,Qsubmask] + for run_number = 1:10_000 + x0 = rand(Uniform(0,2π),h11) .* rand(Float64,h11) + res = CYAxiverse.minimizer.minimize(Lfull, Qsub, x0) ##need to write subsystem minimizer + res["Vmin_log"] = res["Vmin_log"] .+ Lsub[2,1] + end + xmin = hcat(res["xmin"]...) + for i in eachcol(xmin) + i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) + end + xmin = xmin[:, [sum(i)/size(i,1) > eps() for i in eachcol(xmin)]] + xmin = xmin[:,sortperm([norm(i,Inf) for i in eachcol(xmin)])] + xmin[xmin .< 10. * eps()] .= 0. + println(size(xmin)) + lattice_vecs = CYAxiverse.minimizer.minima_lattice(xmin) ##need to write lattice minimizer + basis_vectors[idx-size(lattice_vecs["lattice_vectors"],2):idx, :] = lattice_vecs["lattice_vectors"] + end + T = orth_basis(Qtilde[idx, :]) + Qtilde_i = zeros(size(Qtilde, 1), size(T, 2)) + LinearAlgebra.mul!(Qtilde_i, Qtilde, T) + Qtilde = copy(Qtilde_i) + println("size(Qtilde): ", size(Qtilde)) + end + keys = ["minima_lattice_vectors"] + vals = [basis_vectors] + return Dict(zip(keys,vals)) +end + +""" + vacua_MK(L,Q; threshold=1e-2) +Uses the projection method of _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.04503) (Appendix A) on ``\\mathcal{Q}`` to compute the locations of vacua. +!!! note + Finding the lattice of minima when numerical minimisation is required has not yet been implemented. +""" +function vacua_MK(h11::Int,tri::Int,cy::Int) + pot_data = potential(h11,tri,cy) + K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] + vacua_MK(L, Q) +end + +function simple_rationals(min, max) + if max < 1 # J ⊂ (0, 1) + return 1/(simple_rationals(1 / max, 1 / min)) + elseif 1 < min # J ⊂ (1, ∞): + q = ceil(min) - 1 # largest q satisfying q < left + return q + simple_rationals(abs(min - q), abs(min - q)) + else # left <= 1 <= right, so 1 ∈ J + return 1/1 + end +end + +""" + vacua_projector(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5) + +This applies the projection method to square Q̂ to verify procedure +""" +function vacua_projector(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector = [[0.]]) + # TODO: #5 fix phases + if @isdefined h11 + else + h11::Int = size(Q, 2) + end + LQtilde = LQtildebar(L, Q; threshold=threshold) + Qhat = Matrix{Int}(LQtilde["Qhat"]) + Lhat = LQtilde["Lhat"] + if size(Qhat, 1) == size(Qhat, 2) + Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] + LQtilde["Qhat"] = copy(Qhat) + Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] + idx = 1 + θmin_list = [] + Qsub_list = [] + projectedQ_list = [] + projector = zeros(h11, h11) + grad(Q::Vector, θ::Float64, δ::Float64) = sin(norm(Q) * θ - δ) + while idx ≤ size(Qhat, 2) + # TODO: #7 check if projected Qhat is required at each iteration + println("COLUMN", idx, ":") + Qhat = (I(h11) - projector) * Qhat + Qhat = @.(ifelse(abs(Qhat) < 1e-10, 0., Qhat)) + Qsub = Qhat[:, idx] + println("Qsub: ", Qsub) + if Lhat[2, idx == size(Qhat,2) ? idx : idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx == size(Qhat,2) ? idx : idx+1], Qhat[:, idx]) != 0 + return "Sorry, there are degeneracies. Please try another example." + else + min_list = [] + θmin(n::Int) = [(2π*n-δ)/norm(Qsub) for δ in hcat(phase[idx]...)] + # TODO: #10 check gradient / hessian + # TODO: #9 Lambdas have different signså + m = 0 + esub = Qsub ./ norm(Qsub) + limit = ifelse(any(0. .< abs.(Qsub) .< 1.), 2π/minimum(abs.(esub[esub .!= 0.])), 2π) + println("limit: ", limit) + while all(i -> i < limit, θmin(m)) + # TODO: #12 Check condition on periodicity + push!(min_list, θmin(m)) + m+=1 + println("θmin: ", θmin(m)) + end + # min_list = hcat(min_list...) + push!(θmin_list, min_list) + println(zip(phase, min_list...)) + # grad_list = [grad(Qsub, θ, δ) for (δ,θ) in zip(hcat(δlist...), hcat(min_list...))] + # println("gradients: ", grad_list) + # println("size(gradients[gradients .== 0]): ", grad_list[grad_list .== 0.]) + end + projector = I(h11) - project_out(Qsub) + # TODO: #14 Check products of projectors are projectors + push!(projectedQ_list, hcat([norm(col) for col in eachcol(projector * Qhat)]...)) + if idx < size(Q, 2) + phase = reshape(norm(projector * Qhat[:, idx+1]) .* hcat(min_list...), size(min_list)) + # TODO: #13 Phase is sum of all previous phases + end + push!(Qsub_list, Qsub) + println("projectedQ: ", projectedQ_list[idx]) + # TODO: #11 construct θ_min + idx +=1 + println("phases: ", δlist) + println("size(phases): ", size(δlist)) + println("projector: ", projector) + println("projector[projector .!= 0]: ", projector[projector .!=0]) + println("size(projector): ", size(projector)) + end + (θmin = θmin_list, vacua_estimate = abs(det(LQtilde["Qhat"])), Qhat = LQtilde["Qhat"]) + end +end + +function vacua_projector(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + pot_data = potential(h11, tri, cy) + L, Q = pot_data["L"], pot_data["Q"] + vacua_projector(L, Q; threshold=threshold) +end + +function vacuaΩ(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector=[[0.]]) + # TODO: #5 fix phases + if @isdefined h11 + else + h11::Int = size(Q, 2) + end + LQtilde = LQtildebar(L, Q; threshold=threshold) + Qhat = Matrix{Int}(LQtilde["Qhat"]) + Lhat = LQtilde["Lhat"] + if size(Qhat, 1) == size(Qhat, 2) + Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] + LQtilde["Qhat"] = copy(Qhat) + Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] + idx = 1 + θmin_list = [] + Qsub_list = [] + projectedQ_list = [] + projector = zeros(h11, h11) + while idx ≤ size(Qhat, 2) + # TODO: #7 check if projected Qhat is required at each iteration + println("COLUMN", idx, ":") + Qhat = (I(h11) - projector) * Qhat + Qhat = @.(ifelse(abs(Qhat) < 1e-10, 0., Qhat)) + if Lhat[2, idx == size(Qhat,2) ? idx : idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx == size(Qhat,2) ? idx : idx+1], Qhat[:, idx]) != 0 + return "Sorry, there are degeneracies. Please try another example." + else + Qsub = Qhat[:, idx] + push!(Qsub_list, [norm(col) for col in eachcol(Qhat)]) + println("Qsub: ", Qsub) + min_list = [] + δ(θmin::Float64) = sum(norm(projector * Qsub)) + # TODO: introduce δ + θmin(n::Int) = [(2π*n-δ)/norm(Qsub) for δ in hcat(phase...)] + # TODO: #10 check gradient / hessian + # TODO: #9 Lambdas have different signså + m = 0 + esub = Qsub ./ norm(Qsub) + limit = ifelse(any(0. .< abs.(Qsub) .< 1.), 2π/minimum(abs.(esub[esub .!= 0.])), 2π) + println("limit: ", limit) + while all(i -> i < limit, θmin(m)) + # TODO: #12 Check condition on periodicity + push!(min_list, θmin(m)) + m+=1 + println("θmin: ", θmin(m)) + end + # min_list = hcat(min_list...) + push!(θmin_list, min_list) + println(zip(phase, min_list...)) + # grad_list = [grad(Qsub, θ, δ) for (δ,θ) in zip(hcat(phase...), hcat(min_list...))] + # println("gradients: ", grad_list) + # println("size(gradients[gradients .== 0]): ", grad_list[grad_list .== 0.]) + end + projector = I(h11) - project_out(Qsub) + # TODO: #14 Check products of projectors are projectors + push!(projectedQ_list, hcat([norm(col) for col in eachcol(projector * Qhat)]...)) + if idx < size(Q, 2) + phase = reshape(norm(projector * Qhat[:, idx+1]) .* hcat(min_list...), size(min_list)) + # TODO: #13 Phase is sum of all previous phases + end + push!(Qsub_list, Qsub) + println("projectedQ: ", projectedQ_list[idx]) + # TODO: #11 construct θ_min + idx +=1 + println("phases: ", phase[idx]) + println("size(phases): ", size(phase[idx])) + println("projector: ", projector) + println("projector[projector .!= 0]: ", projector[projector .!=0]) + println("size(projector): ", size(projector)) + end + (θmin = θmin_list, vacua_estimate = abs(det(LQtilde["Qhat"])), Qhat = LQtilde["Qhat"]) + end +end +""" + Omega(Ω::Matrix{Int}) + +TBW +""" +function omega(Ω::Matrix{Int}) + Ωperp = Matrix{Rational}(deepcopy(Ω)) + Ωparallel = zeros(size(Ω)) + for (i, col) in enumerate(eachcol(Ω)) + # TODO: #15 Π function + Ωperp[:, i+1:end] = project_out(Vector(col)).Πperp * Ωperp[:, i+1:end] + Ωperp = @.(ifelse(abs(Ωperp) < 1e-4, zero(Ωperp), Ωperp)) + Ωparallel[:, i] = mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=2) + end + Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-4, zero(Ωparallel), Ωparallel)) + ProjectedQ(Ωperp, Ωparallel) +end +""" + θmin(Ωparallel, Ωperp, Ω) + +TBW +""" +function θmin(Ωparallel, Ωperp, Ω; phase=zeros(size(Ω,1)), n::Vector=zeros(size(Ω,1))) + min1 = (2π * n[1] - phase[1]) / Ωperp[:, 1] + ei = [Ωperp[:, i] / norm(Ωperp[:, i]) for (i,_) in enumerate(eachcol(Ωperp))] +end +""" + vacuaΠ(L, Q; threshold=0.5, phase=zeros(size(Q,2))) + +TBW +""" +function vacuaΠ(L, Q; threshold=0.5, phase=zeros(size(Q,2))) + if @isdefined h11 + else + h11::Int = size(Q, 2) + end + LQtilde = LQtildebar(L, Q; threshold=threshold) + if size(LQtilde["Qhat"], 1) == size(LQtilde["Qhat"], 2) + Qhat = LQtilde["Qhat"][:, sortperm(LQtilde["Lhat"][2,:], rev=true)] + Lhat = LQtilde["Lhat"][:, sortperm(LQtilde["Lhat"][2,:], rev=true)] + Ω = Matrix{Int}(Qhat) + Ω = omega(Ω) + else + "Ω is not square" + end +end + +function vacuaΠ(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase=zeros(h11)) + pot_data = potential(h11, tri, cy) + L, Q = pot_data["L"], pot_data["Q"] + vacuaΠ(L, Q; threshold=threshold, phase=phase) +end + + +""" + vacua_full(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) +New implementation of MK's algorithm -- testing! +""" +function vacua_full(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2)), runs = 100_000) + # TODO: #6 projections of square Qhat + # TODO: #4 add phases @vmmhep + if @isdefined h11 + else + h11::Int = size(Q, 2) + end + LQtilde = LQtildebar(L, Q; threshold=threshold) + Qhat = Matrix{Int}(LQtilde["Qhat"]) + Lhat = LQtilde["Lhat"] + if size(Qhat, 1) == size(Qhat, 2) + Qinv = Matrix{Rational}(inv(Qhat)) + Qinv = @.(ifelse(abs(Qinv) < 1e-5, zero(Qinv), simple_rationals(round(Qinv; digits=4) - 1e-4, round(Qinv; digits=4) + 1e-4))) + for col in axes(Qinv, 2) + if sum(Qinv[:, col] .== zero(Qinv[:, col][1])) == size(Qinv, 1)-1 + Qinv[:, col] = zero(Qinv[:, col]) + end + end + return unique(mod.(Qinv, 1), dims=2), abs(det(Qhat)), phase + else + Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] + Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] + θmin = [] + vac = 0 + idx = 1 + while idx < size(Qhat, 2) + Qsub = Qhat[:, idx] + Lsub = Lhat[:, idx] + while Lhat[2, idx+1] - Lhat[2, idx] ≥ threshold && dot(Qhat[:, idx+1], Qhat[:, idx]) != 0 + Lsub = hcat(Lsub, Lhat[:, idx+1]) + Qsub = hcat(Qsub, Qhat[:, idx+1]) + idx += 1 + end + if size(Qsub, 2) == 1 && sum(Qsub .== 0) == size(Qsub, 1)-1 + push!(θmin, zeros(Float64, h11)) + Qhat = project_out(Qsub) * Qhat + Qhat = @.(ifelse(abs(Qhat) < 1e-5, zero(Qhat), Qhat)) + else + # Lsub = Lsub[:, @.(!iszero(Qsub))] + Lsubdiff = @view(Lsub[2,:]) .- Lsub[2,1] + Lfull = Lsub[1,:] .* 10. .^ Lsubdiff; + if size(Qsub, 2) == 1 + Qsub = reshape(Qsub, h11,1) + end + println("size(phase): ", size(phase)) + println("phases: ", phase) + println("size(phase) without zeros: ", size(phase[phase .!= 0])) + xmin = subspace_minimize(Lfull, Qsub; runs = runs, phase=phase) + xmin = hcat(xmin...) + println("number of minima found with $runs random initialisations: ", size(xmin)) + xmin = sort(xmin, dims = 2) + min_num = 1 + while min_num < size(xmin, 2) + if all(abs.(@view(xmin[:, min_num+1]) .- @view(xmin[:, min_num])) .< 1e-10) + xmin[:, min_num] = zero(@view(xmin[:, min_num])) + end + min_num += 1 + end + xmin = unique(xmin, dims = 2) + vac += size(xmin, 2) + push!(θmin, xmin) + Qsub = orth_basis(Qsub) + Qhat = project_out(Qsub) * Qhat + Qhat = @.(ifelse(abs(Qhat) < 1e-10, zero(Qhat), Qhat)) + # phase::Array{Rational} = I(size(phase,1)) .- project_out(Qsub) + # phase = @.(ifelse(abs(phase) < 1e-10, zero(phase), phase)) + end + idx += 1 + end + θmin = unique(hcat(θmin...), dims = 2) + vac = size(θmin, 2) + return θmin, vac, phase + end +end + +function vacua_full(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector{Float64}=zeros(h11)) + pot_data = potential(h11, tri, cy) + L, Q = pot_data["L"], pot_data["Q"] + vacua_full(L, Q; threshold=threshold, phase=phase) +end + +""" + vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + +Uses `LQtildebar` function to make Q̂. If Q̂ is square, returns number of vacua as `|det(Q̂)|` +otherwise returns number of vacua as `√|det(Q̂'Q̂)|`. +""" +function vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + data = αmatrix(h11, tri, cy; threshold=threshold) + if size(data.Qhat, 1) == size(data.Qhat, 2) + vac = Int(round(abs(det(data.Qhat)))) + return (vac = vac, issquare = 1) + else + vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) + return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - h11) + end +end + +function vacua_estimate(geom_idx::GeometryIndex; threshold::Float64=0.5) + data = αmatrix(geom_idx; threshold=threshold) + if size(data.Qhat, 1) == size(data.Qhat, 2) + vac = Int(round(abs(det(data.Qhat)))) + return (vac = vac, issquare = 1) + else + vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) + return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - geom_idx.h11) + end +end + +function vacua_estimate_save(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + vac_data = vacua_estimate(h11, tri, cy; threshold=threshold) + h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f + f["square", deflate=9] = vac_data.issquare + f["vacua_estimate", deflate=9] = vac_data.vac + if vac_data.issquare == 0 + f["extra_rows", deflate=9] = vac_data.extrarows + end + end +end + +""" + vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) + +TBW +""" +function vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) + if @isdefined h11 + else + h11::Int = size(Q, 2) + end + LQtilde = LQtildebar(L, Q; threshold=threshold) + Qhat = Matrix{Int}(LQtilde["Qhat"]) + Lhat = LQtilde["Lhat"] + if size(Qhat, 1) == size(Qhat, 2) + Qinv = Matrix{Rational}(inv(Qhat)) + Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), Rational(round(Qinv; digits=4)))) + for col in axes(Qinv, 2) + if sum(Qinv[:, col] .== zero(Qinv[:, col][1])) == size(Qinv, 1)-1 + Qinv[:, col] = zero(Qinv[:, col]) + end + end + return unique(mod.(Qinv, 1), dims=2), abs(det(Qhat)), phase + else + Lhat = Lhat[:, sortperm(Lhat[2,:], rev=true)] + Qhat = Qhat[:, sortperm(Lhat[2,:], rev=true)] + Ω = Matrix{Int}(@view(Qhat[:, 1:h11])) + Ωinv = Matrix{Rational}(inv(Ω)) + Ωinv = @.(ifelse(abs(Ωinv) < 1e-10, zero(Ωinv), Rational(round(Ωinv; digits=4)))) + Ωhat = (Ωinv * Qhat)' + for col in eachcol(Ωhat) + end + end + + +end +end \ No newline at end of file diff --git a/src/minimizer.jl b/src/minimizer.jl new file mode 100644 index 0000000..f67790c --- /dev/null +++ b/src/minimizer.jl @@ -0,0 +1,489 @@ +""" + CYAxiverse.minimizer +Some minimization / optimization routines to find vacua and other such explorations. + +""" +module minimizer + +using HDF5 +using LinearAlgebra +using ArbNumerics, Tullio, LoopVectorization +using GenericLinearAlgebra +using Distributions +using Random +using Optim, LineSearches, Dates, HDF5 + +using ..filestructure: cyax_file, minfile, present_dir +using ..read: potential + +function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo,prec) + setprecision(ArbFloat,digits=prec) + Arb0 = ArbFloat(0.) + Arb1 = ArbFloat(1.) + Arb2π = ArbFloat(2π) + threshold = 0.01 + function QX(x::Vector) + Qx = zeros(ArbFloat,size(QV,1)); + @tullio Qx[c] = QV[c,i] * x[i] + return Qx + end + function fitness(x::Vector) + V = dot(LV,(Arb1 .- cos.(QX(x)))) + return V + end + function grad!(gradient::Vector, x::Vector) + grad_temp = zeros(ArbFloat, size(LV,1),h11) + @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) + @tullio gradient[i] = LV[c] * grad_temp[c,i] + end + function hess(x::Vector) + grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) + hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(h11,h11)) + hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + a = mod.(((ArbFloat.(θparalleltest) * xmin)/Arb2π),Arb1) + atilde = ArbFloat.(Qtilde) * xmin/Arb2π + a_sign = Int.(sign.(a)) + a_log = Float64.(log10.(abs.(a))) + atilde_sign = Int.(sign.(atilde)) + atilde_log = Float64.(log10.(abs.(atilde))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "±a","loga", "±ã", "logã"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, a_sign, a_log, atilde_sign, atilde_log] + return Dict(zip(keys,vals)) + GC.gc() + end +end + +function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,algo,prec) + setprecision(ArbFloat; digits=prec) + Arb0 = ArbFloat(0.) + Arb1 = ArbFloat(1.) + Arb2π = ArbFloat(2π) + threshold = 0.01 + function QX(x::Vector) + Qx = zeros(ArbFloat,size(QV,1)); + @tullio Qx[c] = QV[c,i] * x[i] + return Qx + end + function fitness(x::Vector) + V = dot(LV,(Arb1 .- cos.(QX(x)))) + return V + end + function grad!(gradient::Vector, x::Vector) + grad_temp = zeros(ArbFloat, size(LV,1),size(x,1)) + @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) + @tullio gradient[i] = LV[c] * grad_temp[c,i] + end + function hess(x::Vector) + grad2::Matrix{ArbFloat} = zeros(ArbFloat,(size(x,1),size(x,1))) + hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(size(x,1),size(x,1))) + hind1 = [[x,y]::Vector{Int64} for x=1:size(x,1),y=1:size(x,1) if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:size(x,1)]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + # if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + sum_grad = sum(Float64.(log10.(abs.(grad(xmin))))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "Heigs", "Hsign", "gradsum"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, hess_eigs, hess_sign, sum_grad] + return Dict(zip(keys,vals)) + GC.gc() + # end +end + + +function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,Qtilde::Matrix,algo,prec) + setprecision(ArbFloat,digits=prec) + Arb0 = ArbFloat(0.) + Arb1 = ArbFloat(1.) + Arb2π = ArbFloat(2π) + threshold = 0.01 + function QX(x::Vector) + Qx = zeros(ArbFloat,size(QV,1)); + @tullio Qx[c] = QV[c,i] * x[i] + return Qx + end + function fitness(x::Vector) + V = dot(LV,(Arb1 .- cos.(QX(x)))) + return V + end + function grad!(gradient::Vector, x::Vector) + grad_temp = zeros(ArbFloat, size(LV,1),h11) + @tullio grad_temp[c,i] = QV[c,i] * sin.(QX(x)[c]) + @tullio gradient[i] = LV[c] * grad_temp[c,i] + end + function hess(x::Vector) + grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) + hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp::Vector{ArbFloat} = zeros(ArbFloat,size(hind1,1)) + grad2_temp1::Matrix{Float64} = zeros(Float64,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) + end + function hess!(hessian::Matrix, x::Vector) + grad2 = zeros(ArbFloat,(h11,h11)) + hind1 = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] + grad2_temp = zeros(ArbFloat,size(hind1,1)) + grad2_temp1 = zeros(ArbFloat,size(LV,1),size(hind1,1)) + @tullio grad2_temp1[c,k] = @inbounds(begin + i,j = hind1[k] + QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false + @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] + @inbounds for i in eachindex(hind1) + j,k = hind1[i] + grad2[j,k] = grad2_temp[i] + end + hessian .= grad2 + transpose(grad2) - Diagonal(grad2) + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) + res = optimize(fitness,grad!,hess!, + x0, algo, + Optim.Options(x_tol =minimum(abs.(LV)),g_tol =minimum(threshold .* abs.(gradσ)))) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + GC.gc() + if Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) < -prec && sum(Float64.(log10.(abs.(grad(xmin)))) .< log10.(abs.(threshold .* gradσ))) == (h11 - size(gradσ[gradσ .== 0.],1)) + atilde = ArbFloat.(Qtilde) * xmin/Arb2π + atilde_sign = Int.(sign.(atilde)) + atilde_log = Float64.(log10.(abs.(atilde))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin_log = Float64.(log10.(abs.(xmin))) + xmin_sign = Int.(sign.(xmin)) + + keys = ["±V", "logV","±x", "logx", "±ã", "logã"] + vals = [Vmin_sign, Vmin_log, xmin_sign, xmin_log, atilde_sign, atilde_log] + return Dict(zip(keys,vals)) + GC.gc() + end +end + +function minimize_save(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo; prec::Int=5_000, run_num::Int=1) + min_data = minimize(h11,tri,cy,LV,QV,x0,gradσ,θparalleltest,Qtilde,algo, prec) + if min_data === nothing + return nothing + else + h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file + if haskey(file, "runs") + else + f0 = create_group(file,"runs") + end + f0 = create_group(file, "runs/$run_num") + f1 = create_group(f0, "V") + f1["log10",deflate=9] = min_data["logV"] + f1["sign",deflate=9] = min_data["±V"] + f2 = create_group(f0, "x") + f2["log10",deflate=9] = min_data["logx"] + f2["sign",deflate=9] = min_data["±x"] + f3 = create_group(f0, "a") + f3["log10",deflate=9] = min_data["loga"] + f3["sign",deflate=9] = min_data["±a"] + f4 = create_group(f0, "atilde") + f4["log10",deflate=9] = min_data["logã"] + f4["sign",deflate=9] = min_data["±ã"] + end + end +GC.gc() +end + +function minimize_save(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,Qtilde::Matrix,algo; prec::Int=5_000, run_num::Int=1) + min_data = minimize(h11,tri,cy,LV,QV,x0,gradσ,Qtilde,algo, prec) + if min_data === nothing + return nothing + else + h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file + if haskey(file, "runs") + else + f0 = create_group(file,"runs") + end + f0 = create_group(file, "runs/$run_num") + f1 = create_group(f0, "V") + f1["log10",deflate=9] = min_data["logV"] + f1["sign",deflate=9] = min_data["±V"] + f2 = create_group(f0, "x") + f2["log10",deflate=9] = min_data["logx"] + f2["sign",deflate=9] = min_data["±x"] + f4 = create_group(f0, "atilde") + f4["log10",deflate=9] = min_data["logã"] + f4["sign",deflate=9] = min_data["±ã"] + end + end +GC.gc() +end + +""" + grad_std(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix) + +TBW +""" +function grad_std(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix) + Arb0 = ArbFloat(0.) + Arb1 = ArbFloat(1.) + Arb2π = ArbFloat(2π) + function QX(x::Vector) + Qx = zeros(ArbFloat,size(QV,1)); + @tullio Qx[c] = QV[c,i] * x[i] + return Qx + end + grad(x) = vcat([dot(LV,QV[:,i] .* sin.(QX(x))) for i ∈ 1:h11]...) + n=100 + grad_all = zeros(h11,n) + for j=1:n + x0 = ArbFloat.(rand(Uniform(0,2π),h11)) .* rand(ArbFloat,h11) + grad_all[:,j] = grad(x0) + end + return ArbFloat.(std(grad_all, dims=2)) +end + +""" + grad_std(LV::Vector,QV::Matrix) + +TBW +""" +function grad_std(LV::Vector,QV::Matrix) + if @isdefined h11 + else + h11 = size(QV, 1) + end + function grad(x::Vector) + grad_temp = LV' .* (QV .* sin.(x' * QV)) + sum(grad_temp, dims = 2) + end + n=100 + grad_all = zeros(h11,n) + for j=1:n + x0 = rand(Uniform(0,2π),h11) .* rand(h11) + grad_all[:,j] = grad(x0) + end + return mean(grad_all, dims=2) .- 2. .* std(grad_all, dims=2) +end + +function grad_std(h11::Int, tri::Int, cy::Int) + pot_data = potential(h11,tri,cy) + QV::Matrix, LV::Matrix{Float64} = ArbFloat.(pot_data["Q"]), pot_data["L"] + Lfull::Vector{ArbFloat} = ArbFloat.(LV[:,1]) .* ArbFloat(10.) .^ ArbFloat.(LV[:,2]) + grad_std(h11,tri,cy,Lfull,QV) +end + + +""" + minimize(LV::Vector,QV::Matrix,x0::Vector) + +TBW +""" +function minimize(LV::Vector, QV, x0::Vector) + if @isdefined h11 + else + h11 = size(QV, 1) + end + @assert size(QV, 2) == size(LV, 1) + threshold = 1e-2 + function fitness(x::Vector) + sum(LV .* (1. .- cos.(x' * QV))) + end + function grad!(gradient::Vector, x::Vector) + grad_temp = LV' .* (QV .* sin.(x' * QV)) + gradient .= sum(grad_temp, dims = 2) + end + function hess!(hessian::Matrix, x::Vector) + for i in axes(QV, 1), j in axes(QV, 1) + if i>=j + hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) + end + end + hessian .= hessian + hessian' - Diagonal(hessian) + end + function hess(x::Vector) + hessian = zeros(size(x, 1), size(x, 1)) + for i in axes(QV, 1), j in axes(QV, 1) + if i>=j + hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) + end + end + hessian + hessian' - Diagonal(hessian) + end + function grad(x::Vector) + grad_temp = LV' .* (QV .* sin.(x' * QV)) + sum(grad_temp, dims = 2) + end + gradσ = grad_std(LV,QV) + x_tol = minimum(abs.(LV)) + g_tol = eps() / threshold + algo_LBFGS = LBFGS(linesearch = LineSearches.BackTracking()); + res = Optim.optimize(fitness, grad!, hess!, x0, Optim.Options(x_tol = x_tol, g_tol = g_tol)) + Vmin = Optim.minimum(res) + xmin = Optim.minimizer(res) + # GC.gc() + if log10(abs(minimum(eigen(hess(xmin)).values))) > log10(eps()) && maximum(log10.(abs.(grad(xmin)))) < log10(eps() / threshold) + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + grad_log = log10.(abs.(grad(xmin))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin = @.ifelse(abs(xmin) < eps() / threshold, zero(xmin), xmin) + xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < eps() / threshold || mod(xmin / 2π, 1) < eps() / threshold, zero(xmin), mod(xmin / 2π, 1)) + keys = ["±V", "logV","xmin", "Heigs", "Hsign", "gradlog"] + vals = [Vmin_sign, Vmin_log, xmin, hess_eigs, hess_sign, grad_log] + return Dict(zip(keys,vals)) + # GC.gc() + end +end + +function subspace_minimize(L, Q; runs=10_000, phase::Matrix=zeros(max(collect(size(Q))...),1)) + xmin = [] + Random.seed!(9876543210) + for _ in 1:runs, col in eachcol(phase) + x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) + x0 = x0 + col + test_min = minimize(L, Q, x0) + if test_min === nothing + else + push!(xmin, test_min["xmin"]) + end + end + push!(xmin, zeros(size(Q,1))) + unique(xmin) +end + +function subspace_minimize(L, Q; runs=10_000, phase::Number=0) + xmin = [] + Random.seed!(9876543210) + for _ in 1:runs + x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) + x0 = x0 .+ phase + test_min = minimize(L, Q, x0) + if test_min === nothing + else + push!(xmin, test_min["xmin"]) + end + end + push!(xmin, zeros(size(Q,1))) + unique(xmin) +end +""" + subspace_minimize(L, Q; runs=10_000, phase=zeros(max(collect(size(Q))...))) +Minimizes the subspace with `runs` iterations +""" +function subspace_minimize(L, Q; runs=10_000, phase::Vector=zeros(max(collect(size(Q))...))) + xmin = [] + Random.seed!(9876543210) + for _ in 1:runs + x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) + x0 = x0 + phase + test_min = minimize(L, Q, x0) + if test_min === nothing + else + push!(xmin, test_min["xmin"]) + end + end + push!(xmin, zeros(size(Q,1))) + unique(xmin) +end + + +""" +minima_lattice(v::Matrix{Float64}) + +TBW +""" +function minima_lattice(v::Matrix{Float64}) + lattice_vectors = zeros(size(v, 1), 1) + for col in eachcol(v) + if sum(abs.(col)) < 1e-10 + else + latt_temp = hcat(lattice_vectors, col) + if eigmin(latt_temp' * latt_temp) > eps() + lattice_vectors = latt_temp + end + end + end + + keys = ["lattice_vectors"] + vals = [lattice_vectors[:, 2:end]] + return Dict(zip(keys,vals)) + GC.gc() +end + + +end \ No newline at end of file diff --git a/src/plotting.jl b/src/plotting.jl new file mode 100644 index 0000000..7d4931f --- /dev/null +++ b/src/plotting.jl @@ -0,0 +1,9 @@ +module plotting +############################## +#### Plotting functions ###### +############################## + + + + +end \ No newline at end of file diff --git a/src/read.jl b/src/read.jl new file mode 100644 index 0000000..dfa1c1a --- /dev/null +++ b/src/read.jl @@ -0,0 +1,214 @@ +""" + CYAxiverse.read +Functions that access the database. + +""" +module read +using HDF5 +using LinearAlgebra +using ..filestructure: cyax_file, minfile, geom_dir +using ..structs: GeometryIndex, AxionPotential +########################### +##### Read CYTools data ### +########################### + +function topology(h11::Int,tri::Int,cy::Int=1) + poly_points::Matrix{Int}, simplices::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/geometric/points"),HDF5.read(file, "cytools/geometric/simplices") + end + keys = ["points","simplices"] + vals = [poly_points, simplices] + return Dict(zip(keys,vals)) +end + +function geometry(h11::Int,tri::Int,cy::Int=1) + tip_prefactor = nothing + h21::Int, + glsm::Matrix{Int},basis::Vector{Int}, + tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, + Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), + HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/geometric/tip"), + HDF5.read(file, "cytools/geometric/CY_volume"),HDF5.read(file, "cytools/geometric/divisor_volumes"), + HDF5.read(file, "cytools/geometric/Kinv") + end + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "cytools/geometric/tip_prefactor") + tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") + end + end + if tip_prefactor !== nothing + keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] + vals = [h21, + glsm,basis, + tip,tip_prefactor, CY_Volume,divisor_volumes, + Kinv] + return Dict(zip(keys,vals)) + else + keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] + vals = [h21, + glsm,basis, + tip, CY_Volume,divisor_volumes, + Kinv] + return Dict(zip(keys,vals)) + end + +end + + +############################# +##### Read Geometric data ### +############################# + +function potential(geom_idx::GeometryIndex) + L::Matrix{Float64}, Q::Matrix{Int}, + Kinv::Matrix{Float64}= h5open(cyax_file(geom_idx), "r") do file + HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), + HDF5.read(file, "cytools/geometric/Kinv") + end + AxionPotential(L, Q, Hermitian(inv(Kinv))) +end + + +function potential(h11::Int,tri::Int,cy::Int=1) + L::Matrix{Float64}, Q::Matrix{Int}, + Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), + HDF5.read(file, "cytools/geometric/Kinv") + end + keys = ["L","Q","K"] + vals = [L, Q, Hermitian(inv(Kinv))] + return Dict(zip(keys,vals)) +end + +function Q(h11::Int,tri::Int,cy::Int=1) + Q::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/potential/Q") + end + return Q +end + +function K(h11::Int,tri::Int,cy::Int=1) + K::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/potential/K") + end + K = 0.5.* (K+transpose(K)) + return Hermitian(K) +end + +function L_log(h11::Int,tri::Int,cy::Int=1) + L::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/potential/L") + end + return L +end + +function L_arb(h11::Int,tri::Int,cy::Int=1) + L::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/potential/L") + end + Ltemp::Vector{ArbFloat} = zeros(ArbFloat,size(L,2)) + @inbounds for i in axes(L,1) + Ltemp[i] = ArbFloat.(L[i,1]) .* ArbFloat(10.) .^ ArbFloat.(L[i,2]) + end + return Ltemp +end + + +############################## +##### HDF5.read Vacua data ### +############################## + +function qshape(h11::Int,tri::Int,cy::Int=1) + square, vacua, extrarows = 0, 0, 0 + h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r") do file + square = HDF5.read(file, "square") + vacua = HDF5.read(file, "vacua_estimate") + if haskey(file, "extra_rows") + extrarows = HDF5.read(file, "extra_rows") + end + end + (issquare = square, vacua_det = vacua, lengthα = extrarows) +end + +function vacua(h11::Int,tri::Int,cy::Int=1) + vacua::Float64 = 0. + θparallel_num::Matrix{Int} = zeros(Int,1,1) + θparallel_den::Matrix{Int} = zeros(Int,1,1) + Qtilde::Matrix{Int} = zeros(Int,1,1) + θparallel::Matrix{Float32} = zeros(Float32,1,1) + if h11 <= 50 + vacua, θparallel_num, θparallel_den, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "vacua/vacua"),HDF5.read(file, "vacua/thparallel/numerator"),HDF5.read(file, "vacua/thparallel/denominator"),HDF5.read(file, "vacua/Qtilde") + end + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), θparallel_num .// θparallel_den, Qtilde] + return Dict(zip(keys,vals)) + else + vacua, θparallel, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "vacua/vacua"),HDF5.read(file, "vacua/thparallel"),HDF5.read(file, "vacua/Qtilde") + end + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), Rational.(round.(θparallel; digits=8)), Qtilde] + return Dict(zip(keys,vals)) + end +end + +function vacua_TB(h11::Int,tri::Int,cy::Int=1) + vacua::Float64 = 0 + θparallel_num::Matrix{Int} = zeros(Int,1,1) + θparallel_den::Matrix{Int} = zeros(Int,1,1) + Qtilde::Matrix{Int} = zeros(Int,1,1) + θparallel::Matrix{Float32} = zeros(Float32,1,1) + if h11 <= 50 + vacua, θparallel_num, θparallel_den, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "vacua_TB/vacua"),HDF5.read(file, "vacua_TB/thparallel/numerator"),HDF5.read(file, "vacua_TB/thparallel/denominator"),HDF5.read(file, "vacua_TB/Qtilde") + end + keys = ["vacua","θ∥","Qtilde"] + vals = [abs(vacua), θparallel_num .// θparallel_den, Qtilde] + return Dict(zip(keys,vals)) + else + vacua, Qtilde = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "vacua_TB/vacua"),HDF5.read(file, "vacua_TB/Qtilde") + end + keys = ["vacua","Qtilde"] + vals = [abs(vacua), Qtilde] + return Dict(zip(keys,vals)) + end +end + +################################ +##### HDF5.read Spectra data ### +################################ + +function pq_spectrum(h11::Int,tri::Int,cy::Int=1) + Hvals::Vector{Float64}, fK::Vector{Float64}, fpert::Vector{Float64} = + h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "spectrum/masses/log10"), + HDF5.read(file, "spectrum/decay/fK"), HDF5.read(file, "spectrum/decay/fpert") + end + keys = ["m", "fK", "fpert"] + vals = [Hvals, fK, fpert] + return Dict(zip(keys,vals)) +end + +function hp_spectrum(h11::Int,tri::Int,cy::Int=1) + Hsign::Vector{Int64}, Hvals::Vector{Float64}, fK::Vector{Float64}, fpert::Vector{Float64}, + quartdiagsign::Vector{Int64},quartdiaglog::Vector{Float64}, + quart22_index,quart22_sign::Vector{Int},quart22_log10::Vector{Float64},quart31_index, + quart31_sign::Vector{Int}, + quart31_log10::Vector{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "spectrum/masses/sign"),HDF5.read(file, "spectrum/masses/log10"), + HDF5.read(file, "spectrum/decay/fK"), HDF5.read(file, "spectrum/decay/fpert"),HDF5.read(file, "spectrum/quartdiag/sign"), + HDF5.read(file, "spectrum/quartdiag/log10"),HDF5.read(file, "spectrum/quart31/index"),HDF5.read(file, "spectrum/quart31/sign"), + HDF5.read(file, "spectrum/quart31/log10"),HDF5.read(file, "spectrum/quart22/index"),HDF5.read(file, "spectrum/quart22/sign"), + HDF5.read(file, "spectrum/quart22/log10") + end + keys = ["msign","m", "fK", "fpert","λselfsign", "λself","λ31_i","λ31sign","λ31", "λ22_i","λ22sign","λ22"] + vals = [Hsign,Hvals, fK, fpert,quartdiagsign, quartdiaglog, + quart22_index,quart22_log10 ,quart31_index,quart31_log10] + return Dict(zip(keys,vals)) +end + +end + diff --git a/src/slurm.jl b/src/slurm.jl new file mode 100644 index 0000000..e189c0c --- /dev/null +++ b/src/slurm.jl @@ -0,0 +1,11 @@ +module slurm + +function writeslurm(id::Int,s::String) + slurmlog = joinpath("/usr","users","mehta2","slurmlog",string("slurm-",id,".out")) + open(slurmlog, "a") do outf + write(outf,s) + end +end +jobid = parse(Int64, ENV["SLURM_JOB_ID"]) + +end \ No newline at end of file diff --git a/src/structs.jl b/src/structs.jl new file mode 100644 index 0000000..8ed937f --- /dev/null +++ b/src/structs.jl @@ -0,0 +1,42 @@ +module structs + +Base.@kwdef struct GeometryIndex{T<:Integer} + h11::T + tri::T + cy::T=1 +end + +struct AxionPotential + L::Matrix{Float64} + Q::Matrix{Int} + K::Matrix{Float64} +end + +struct LQLinearlyIndependent + Qtilde::Matrix{Int} + Qbar::Matrix{Int} + Lbar::Matrix{Float64} + Ltilde::Matrix{Float64} +end + +struct Projector + Π::Matrix{Rational} + Πperp::Matrix{Rational} +end + +struct ProjectedQ{T<:Real} + Ωperp::Matrix{T} + Ωparallel::Matrix{T} +end + + +struct CanonicalQBasis + Qhat::Matrix{Int} + Qbar::Matrix{Int} + Lhat ::Matrix{Float64} + Lbar ::Matrix{Float64} + α::Matrix{Rational} +end + + +end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000..f3edd81 --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,9 @@ +using CYAxiverse +using Test + +@testset "CYAxiverse.jl" begin + @testset "CYAxiverse.jl" begin + @test CYAxiverse.greet_CYAxiverse() == "Hello CYAxiverse!" + @test CYAxiverse.greet_CYAxiverse() != "Hello world!" + end +end From d7446c35aef5ba9e2291df6523505fa3550b62b5 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 6 Dec 2022 17:42:14 +0100 Subject: [PATCH 003/245] added docstring for GeometryIndex --- src/structs.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/structs.jl b/src/structs.jl index 8ed937f..40f6640 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -1,9 +1,13 @@ module structs +""" + GeometryIndex{T<:Integer} +Identifies geometry by `h11, polytope, frst` +""" Base.@kwdef struct GeometryIndex{T<:Integer} h11::T - tri::T - cy::T=1 + polytope::T + frst::T=1 end struct AxionPotential From 561b220040a8d6f5c3ec92b42f9c00fd6727b212 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Dec 2022 17:29:53 +0100 Subject: [PATCH 004/245] Updated Dockerfile with new repo location --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9611e03..3d151d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -70,7 +70,7 @@ RUN python3 setup.py install # Copy CYAxiverse.jl package WORKDIR /opt/ -RUN git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git +RUN git clone -b vmm https://github.com/Julia-meets-String-Theory/CYAxiverse.jl.git WORKDIR /opt/CYAxiverse.jl/ ENV PYTHON="$VIRTUAL_ENV/bin/python3" RUN julia --project="/opt/CYAxiverse.jl/" add_CYAxiverse.jl From c277c1f3fa5d704fbcb1199ff68e84a316a56dbc Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Dec 2022 18:05:54 +0100 Subject: [PATCH 005/245] Docker instructions updated --- docs/src/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/index.md b/docs/src/index.md index 850327b..e97cb68 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -43,7 +43,7 @@ mkdir $CYAXIVERSE_REPO cd $CYTOOLS_REPO && git clone https://github.com/LiamMcAllisterGroup/cytools.git ``` -- clone[^1] this repository (currently `dev` branch is up-to-date) +- clone[^1] this repository (currently `vmm` branch is up-to-date) [^1]: one can also `git pull` the repository -- this would enable the `CYAxiverse.jl` package to be updated (while under development) with specific directory binding. Use this command instead: @@ -51,16 +51,16 @@ git clone https://github.com/LiamMcAllisterGroup/cytools.git mkdir $CYAXIVERSE_REPO/CYAxiverse.jl && cd $CYAXIVERSE_REPO/CYAxiverse.jl && git init && - git pull https://github.com/vmmhep/CYAxiverse.jl.git dev + git pull https://github.com/Julia-meets-String-Theory/CYAxiverse.jl.git vmm ``` and then you can keep this up-to-date as improvements are pushed with ``` - git pull https://github.com/vmmhep/CYAxiverse.jl.git dev + git pull https://github.com/Julia-meets-String-Theory/CYAxiverse.jl.git vmm ``` ``` cd $CYAXIVERSE_REPO && -git clone -b dev https://github.com/vmmhep/CYAxiverse.jl.git +git clone -b vmm https://github.com/Julia-meets-String-Theory/CYAxiverse.jl.git ``` - replace the default `Dockerfile` in your `CYTools` directory with the `Dockerfile` in `$CYAXIVERSE_REPO` and move `add_CYAxiverse.jl` there too, _e.g._ ``` From 1d8b9462c8291ae84673fa201ade29e05cecafd8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Dec 2022 00:54:02 +0100 Subject: [PATCH 006/245] fixed conventions --- notebooks/optim_testing backup 1.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/notebooks/optim_testing backup 1.jl b/notebooks/optim_testing backup 1.jl index 60e2f94..70522c7 100644 --- a/notebooks/optim_testing backup 1.jl +++ b/notebooks/optim_testing backup 1.jl @@ -333,7 +333,7 @@ function minimize(LV::Vector,QV::Matrix,x0::Vector; algo, threshold = 1e-2) i,j = hind1[k] QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i=1:size(hind1,1) + @inbounds for i in axes(hind1,1) j,k = hind1[i] grad2[j,k] = grad2_temp[i] end @@ -348,7 +348,7 @@ function minimize(LV::Vector,QV::Matrix,x0::Vector; algo, threshold = 1e-2) i,j = hind1[k] QV[c,i] * QV[c,j] * cos.(QX(x)[c]) end) grad=false avx=false @tullio grad2_temp[k] = grad2_temp1[c,k] * LV[c] - @inbounds for i=1:size(hind1,1) + @inbounds for i in axes(hind1,1) j,k = hind1[i] grad2[j,k] = grad2_temp[i] end @@ -464,9 +464,9 @@ LQtilde["Qrowmask"] # ╔═╡ 7801297e-c52e-48e0-92d6-d58839afe7e3 begin - xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i=1:size(min_data,1)]; - xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i=1:size(LQtilde["Qtilde"],1)] for _ in xtest] - for i=1:size(xtest,1) + xtest = [ArbFloat.(min_data[i]["±x"] .* 10. .^ min_data[i]["logx"]) for i in axes(min_data,1)]; + xmin_test = [[LQtilde["Ltilde"][1,i] < 0. ? ArbFloat(π) : ArbFloat(0.) for i in axes(LQtilde["Qtilde"],1)] for _ in xtest] + for i in axes(xtest,1) for (j,k) in enumerate((1:size(LQtilde["Qtilde"],1))[LQtilde["Qrowmask"]]) xmin_test[i][k] = xtest[i][j] end From 420b90e75b3d87c166c9c5819ef5faf255e31066 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Dec 2022 00:54:14 +0100 Subject: [PATCH 007/245] tree testing notebook --- notebooks/tree_testing.jl | 120 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 notebooks/tree_testing.jl diff --git a/notebooks/tree_testing.jl b/notebooks/tree_testing.jl new file mode 100644 index 0000000..3be33f5 --- /dev/null +++ b/notebooks/tree_testing.jl @@ -0,0 +1,120 @@ +### A Pluto.jl notebook ### +# v0.19.13 + +using Markdown +using InteractiveUtils + +# ╔═╡ daa0a007-2898-4c9b-9f35-b296574cdb41 +using Pkg; + +# ╔═╡ 09ef6adb-c76a-469d-8f25-3d2089a6f684 +Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse"); + +# ╔═╡ 0227789b-1548-4d6a-ad2f-ef017530849b +using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random + + +# ╔═╡ ce668813-d11a-4dc0-8f0b-3c3dcdd039f3 +using CYAxiverse + +# ╔═╡ 69dea65d-54ce-4abd-8476-6fe481cdff57 +md""" +# Vacua search -- Numerics +""" + +# ╔═╡ 490d106e-9866-4f6e-8b06-db4de0309576 +md""" +### This notebook is for tree testing +""" + +# ╔═╡ 6e6fc4aa-7fcb-11ed-1ba1-756d821506e6 +html""" + +""" + +# ╔═╡ 344896d8-52bd-4cf6-834d-86fd3e7e9c82 +begin + ENV["newARGS"] = string("vacua_stretchtest") + md""" + The database we are using is $(ENV["newARGS"]) + """ +end + +# ╔═╡ 668b0b78-a680-4e84-be29-f64471c7163c +CYAxiverse.filestructure.present_dir() + + +# ╔═╡ 87be2229-742b-4299-8061-69a1a7398940 +begin + h11list = CYAxiverse.filestructure.paths_cy()[2] + md""" + There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) + """ +end + +# ╔═╡ 9650af2a-fa29-489f-a16d-942bb667b9a9 +t = CYAxiverse.structs.MyTree(0) + +# ╔═╡ c6e264b3-5ea2-4028-a26f-c40ab4dbf2b1 +ts = [CYAxiverse.structs.MyTree(i, t) for i in 1:3] + +# ╔═╡ b7c5dd3d-b9f8-4470-a2b1-58bf290ee170 +collect(CYAxiverse.structs.ParentTrack(t)) + +# ╔═╡ b15c87a6-c028-4ad6-83bc-23ac7840c260 +[CYAxiverse.structs.MyTree(i, ts[i]) for i ∈ axes(ts,1)] + +# ╔═╡ 47473bda-1619-499a-96ba-cb44e9b28a55 +t.subtrees[3].subtrees[1].data + +# ╔═╡ 2edfe043-9a4a-4e64-a776-4d329ff05b91 +lqhat = CYAxiverse.generate.:αmatrix(CYAxiverse.structs.GeometryIndex(h11=10,polytope=10,frst=1)) + +# ╔═╡ 9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 + + +# ╔═╡ 4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 +CYAxiverse.generate.omega(lqhat.Qhat) + +# ╔═╡ 04222ee1-0f18-4b41-9900-b19ef9f32e57 +@time begin + i = 3 + (CYAxiverse.generate.project_out(Vector(lqhat.Qhat[:,i])).Π * lqhat.Qhat[:, i+1:end]) + +end + +# ╔═╡ a6c45afe-c9a6-421b-8414-731e6ba0971b +@time vcat(mapslices(norm, CYAxiverse.generate.project_out(Vector(lqhat.Qhat[:,3])).Π * lqhat.Qhat[:, 3+1:end]; dims=1)', zeros(3)) + +# ╔═╡ 09b8c30c-3393-4d32-b89b-c2bd01d57ee1 +sqrt(2//25) + +# ╔═╡ Cell order: +# ╟─69dea65d-54ce-4abd-8476-6fe481cdff57 +# ╟─490d106e-9866-4f6e-8b06-db4de0309576 +# ╟─6e6fc4aa-7fcb-11ed-1ba1-756d821506e6 +# ╟─344896d8-52bd-4cf6-834d-86fd3e7e9c82 +# ╟─daa0a007-2898-4c9b-9f35-b296574cdb41 +# ╟─09ef6adb-c76a-469d-8f25-3d2089a6f684 +# ╠═0227789b-1548-4d6a-ad2f-ef017530849b +# ╠═ce668813-d11a-4dc0-8f0b-3c3dcdd039f3 +# ╟─668b0b78-a680-4e84-be29-f64471c7163c +# ╠═87be2229-742b-4299-8061-69a1a7398940 +# ╠═9650af2a-fa29-489f-a16d-942bb667b9a9 +# ╠═c6e264b3-5ea2-4028-a26f-c40ab4dbf2b1 +# ╠═b7c5dd3d-b9f8-4470-a2b1-58bf290ee170 +# ╠═b15c87a6-c028-4ad6-83bc-23ac7840c260 +# ╠═47473bda-1619-499a-96ba-cb44e9b28a55 +# ╠═2edfe043-9a4a-4e64-a776-4d329ff05b91 +# ╠═9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 +# ╠═4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 +# ╠═04222ee1-0f18-4b41-9900-b19ef9f32e57 +# ╠═a6c45afe-c9a6-421b-8414-731e6ba0971b +# ╠═09b8c30c-3393-4d32-b89b-c2bd01d57ee1 From c565dad04a53389745d6a8aa1a84c5c3f45f9d8d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Dec 2022 00:55:11 +0100 Subject: [PATCH 008/245] new naming convention for GeometryIndex --- src/filestructure.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/filestructure.jl b/src/filestructure.jl index 72d5b77..aee4cc6 100644 --- a/src/filestructure.jl +++ b/src/filestructure.jl @@ -321,7 +321,7 @@ end function geom_dir(geom_idx::GeometryIndex) - h11, tri, cy = geom_idx.h11, geom_idx.tri, geom_idx.cy + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst geom_dir(h11, tri, cy) end ################################### From 9522084f52f63c4226da3a6d5bbadc0cc3c5faa6 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Dec 2022 00:55:40 +0100 Subject: [PATCH 009/245] Adding tree structure --- src/generate.jl | 50 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 069a390..9db9d65 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -15,7 +15,7 @@ using TimerOutputs using ..filestructure: cyax_file, minfile, present_dir, geom_dir using ..read: potential using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree ################# ### Constant #### @@ -710,6 +710,7 @@ end TBW """ function LQtilde(Q, L) + @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." if @isdefined h11 else h11 = size(Q, 2) @@ -1255,7 +1256,7 @@ function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold = 1e-2) end xmin = hcat(res["xmin"]...) for i in eachcol(xmin) - i[:] = @. ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) + i[:] = @.(ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i)) end xmin = xmin[:, [sum(i)/size(i,1) > eps() for i in eachcol(xmin)]] xmin = xmin[:,sortperm([norm(i,Inf) for i in eachcol(xmin)])] @@ -1453,30 +1454,61 @@ function vacuaΩ(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, pha end end """ - Omega(Ω::Matrix{Int}) + omega(Ω::Matrix{Int}) TBW """ function omega(Ω::Matrix{Int}) + if @isdefined h11 + else + h11 = size(Ω, 2) + end Ωperp = Matrix{Rational}(deepcopy(Ω)) - Ωparallel = zeros(size(Ω)) + Ωparallel = [] for (i, col) in enumerate(eachcol(Ω)) # TODO: #15 Π function Ωperp[:, i+1:end] = project_out(Vector(col)).Πperp * Ωperp[:, i+1:end] Ωperp = @.(ifelse(abs(Ωperp) < 1e-4, zero(Ωperp), Ωperp)) - Ωparallel[:, i] = mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=2) + if i < h11 + push!(Ωparallel, vcat(mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=1)', zeros(Float64, i))) + end end + #TODO #49: check construction + Ωparallel = hcat(Ωparallel...) Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-4, zero(Ωparallel), Ωparallel)) ProjectedQ(Ωperp, Ωparallel) end """ - θmin(Ωparallel, Ωperp, Ω) + θmin(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2)), n::Vector=zeros(size(Ω.Ωperp, 2))) + +TBW +""" +function θmin(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2)), n::Vector=zeros(size(Ω.Ωperp, 2))) + min = zeros(size(Ω.Ωperp, 2)) + for i ∈ axes(Ω.Ωperp, 2) + n = 0 + while 0 ≤ min[i] < 2π + min = 2π * n - phase[i] / norm(Ωperp[:, i]) + n+=1 + end + ei = hcat([Ωperp[:, i] / norm(Ωperp[:, i]) for i in axes(Ωperp, 1)]...) + end +end + + +""" + θmin_tree(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2))) TBW """ -function θmin(Ωparallel, Ωperp, Ω; phase=zeros(size(Ω,1)), n::Vector=zeros(size(Ω,1))) - min1 = (2π * n[1] - phase[1]) / Ωperp[:, 1] - ei = [Ωperp[:, i] / norm(Ωperp[:, i]) for (i,_) in enumerate(eachcol(Ωperp))] +function θmin_tree(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2))) + tree = MyTree(0) + for i ∈ axes(Ω.Ωperp, 2) + min = tree.data - phase[i] / norm(Ω.Ωperp[:, i]) + phase[i+1] = min * Ω.Ωparallel + tree = MyTree(min, tree) + end + ei = hcat([ΩpΩ.Ωperperp[:, i] / norm(Ω.Ωperp[:, i]) for i in axes(Ωperp, 1)]...) end """ vacuaΠ(L, Q; threshold=0.5, phase=zeros(size(Q,2))) From 7e8bebf2793d30adb0981a9feec71d0a29f73726 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Dec 2022 00:56:06 +0100 Subject: [PATCH 010/245] Added minima tree struct and relevant functions from discourse post --- src/structs.jl | 74 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/src/structs.jl b/src/structs.jl index 40f6640..b2ad674 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -28,9 +28,9 @@ struct Projector Πperp::Matrix{Rational} end -struct ProjectedQ{T<:Real} - Ωperp::Matrix{T} - Ωparallel::Matrix{T} +struct ProjectedQ + Ωperp::Matrix + Ωparallel::Matrix end @@ -42,5 +42,73 @@ struct CanonicalQBasis α::Matrix{Rational} end +####################### +# ParentTrackIterator # +####################### +### from: https://discourse.julialang.org/t/help-design-a-node-for-a-tree/67444/10 ### + +using AbstractTrees +using AbstractTrees: isroot, parent + +###### +# Tree +###### + +struct MyTree{D} + data::D + parent::Union{Nothing,MyTree{D}} + subtrees::Vector{MyTree{D}} + + function MyTree{D}(d::D, ::Nothing, v::AbstractVector{MyTree{D}}) where D + new{D}(d, nothing, v) + end + function MyTree{D}(d::D, parent::MyTree{D}, v::AbstractVector{MyTree{D}}) where D + ret = new{D}(d, parent, v) + push!(parent.subtrees, ret) + ret + end +end +MyTree(d::T, parent=nothing, v=MyTree{T}[]) where T = MyTree{T}(d, parent, v) +Base.eltype(::Type{MyTree{T}}) where T = T + +AbstractTrees.children(t::MyTree) = t.subtrees +AbstractTrees.parent(t::MyTree) = t.parent +AbstractTrees.isroot(t::MyTree) = parent(t) === nothing + +Base.show(io::IO, t::MyTree) = print(io, "MyTree{D}(", t.data, ')') + +struct ParentTrack{T} + tree::T +end + +Base.IteratorEltype(::Type{<:ParentTrack}) = Base.HasEltype() +Base.IteratorSize(::Type{<:ParentTrack}) = Base.SizeUnknown() +Base.eltype(::Type{ParentTrack{MyTree{T}}}) where T = Vector{eltype(T)} + +Base.iterate(pt::ParentTrack{MyTree{T}}) where T = iterate(pt, (MyTree{T}[], [pt.tree])) +function Base.iterate(_::ParentTrack, (parents, toProcess)) + isempty(toProcess) && return nothing + local el + # push work items until we can't anymore + while true + el = pop!(toProcess) + children = el.subtrees + push!(parents, el) + if isempty(children) + break + else + append!(toProcess, children) + end + end + # we're in a leaf + + # get our return value and remove ourselves + c = map(x -> x.data, parents) + pop!(parents) + if !isempty(toProcess) && last(toProcess).parent != el.parent + pop!(parents) # pop the parent + end + return c, (parents, toProcess) +end end \ No newline at end of file From e4f8f96c1bf39398271709af5684c327fe46dc2a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Dec 2022 19:32:38 +0100 Subject: [PATCH 011/245] Added SparseArrays and tree packages --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 96f4c50..71c38d8 100644 --- a/Project.toml +++ b/Project.toml @@ -20,6 +20,7 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GenericLinearAlgebra = "14197337-ba66-59df-a3e3-ca00e7dcff7a" HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" +LeftChildRightSiblingTrees = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" @@ -37,6 +38,7 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383" +SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" Tullio = "bc48ee85-29a4-5162-ae0b-a64e1601d4bc" From 1b9fe0bdf27a910e31da7f7c5109de86a5bf35fd Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Dec 2022 19:32:54 +0100 Subject: [PATCH 012/245] New notebook for tree structure testing --- notebooks/tree_testing.jl | 44 ++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/notebooks/tree_testing.jl b/notebooks/tree_testing.jl index 3be33f5..03f8df8 100644 --- a/notebooks/tree_testing.jl +++ b/notebooks/tree_testing.jl @@ -11,7 +11,7 @@ using Pkg; Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse"); # ╔═╡ 0227789b-1548-4d6a-ad2f-ef017530849b -using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random +using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random, SparseArrays, LeftChildRightSiblingTrees # ╔═╡ ce668813-d11a-4dc0-8f0b-3c3dcdd039f3 @@ -59,11 +59,32 @@ begin """ end -# ╔═╡ 9650af2a-fa29-489f-a16d-942bb667b9a9 -t = CYAxiverse.structs.MyTree(0) - # ╔═╡ c6e264b3-5ea2-4028-a26f-c40ab4dbf2b1 -ts = [CYAxiverse.structs.MyTree(i, t) for i in 1:3] +begin + min0 = Node(0.) + min1 = addsibling(min0, 2π/3) + min2 = addsibling(min1, 4π/3) + min00 = addchild(min0, 0.) + min01 = addsibling(min00, 2π/5 - min1.data) + min10 = addchild(min1, 0.) + min11 = addsibling(min10, 2π/8) + min20 = addchild(min2, 0.) + min21 = addsibling(min20, 2π/6) +end + +# ╔═╡ d5c0150a-916b-47c4-aa80-86d2a0c6bd73 +:a[1:10] + +# ╔═╡ 55b5c42f-714e-44c8-964d-d2d605f43211 +function showtree(node, indent=0) + println("\t"^indent, node.data) + for child in node + showtree(child, indent + 1) + end +end + +# ╔═╡ 8402ea92-3e90-4709-be8c-9edd99504cf0 +LeftChildRightSiblingTrees.showedges(min0) # ╔═╡ b7c5dd3d-b9f8-4470-a2b1-58bf290ee170 collect(CYAxiverse.structs.ParentTrack(t)) @@ -81,7 +102,13 @@ lqhat = CYAxiverse.generate.:αmatrix(CYAxiverse.structs.GeometryIndex(h11=10,po # ╔═╡ 4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 -CYAxiverse.generate.omega(lqhat.Qhat) +CYAxiverse.generate.omega(lqhat.Qhat).Ωparallel + +# ╔═╡ e3ceb403-cb73-4195-a717-ad7f7f2d14a9 +begin + Ωperp = CYAxiverse.generate.omega(lqhat.Qhat).Ωperp + [max(2π / norm(Ωperp[:,i]), 2π) for i in axes(Ωperp, 2)] +end # ╔═╡ 04222ee1-0f18-4b41-9900-b19ef9f32e57 @time begin @@ -107,14 +134,17 @@ sqrt(2//25) # ╠═ce668813-d11a-4dc0-8f0b-3c3dcdd039f3 # ╟─668b0b78-a680-4e84-be29-f64471c7163c # ╠═87be2229-742b-4299-8061-69a1a7398940 -# ╠═9650af2a-fa29-489f-a16d-942bb667b9a9 # ╠═c6e264b3-5ea2-4028-a26f-c40ab4dbf2b1 +# ╠═d5c0150a-916b-47c4-aa80-86d2a0c6bd73 +# ╠═55b5c42f-714e-44c8-964d-d2d605f43211 +# ╠═8402ea92-3e90-4709-be8c-9edd99504cf0 # ╠═b7c5dd3d-b9f8-4470-a2b1-58bf290ee170 # ╠═b15c87a6-c028-4ad6-83bc-23ac7840c260 # ╠═47473bda-1619-499a-96ba-cb44e9b28a55 # ╠═2edfe043-9a4a-4e64-a776-4d329ff05b91 # ╠═9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 # ╠═4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 +# ╠═e3ceb403-cb73-4195-a717-ad7f7f2d14a9 # ╠═04222ee1-0f18-4b41-9900-b19ef9f32e57 # ╠═a6c45afe-c9a6-421b-8414-731e6ba0971b # ╠═09b8c30c-3393-4d32-b89b-c2bd01d57ee1 From e92c620b1e7e61b192d4c2035f2664df46a80475 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Dec 2022 19:33:22 +0100 Subject: [PATCH 013/245] further improvements to omega function --- src/generate.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 9db9d65..ff264ff 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -7,7 +7,7 @@ module generate using HDF5 using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo +using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays using GenericLinearAlgebra using Distributions using TimerOutputs @@ -1470,13 +1470,13 @@ function omega(Ω::Matrix{Int}) Ωperp[:, i+1:end] = project_out(Vector(col)).Πperp * Ωperp[:, i+1:end] Ωperp = @.(ifelse(abs(Ωperp) < 1e-4, zero(Ωperp), Ωperp)) if i < h11 - push!(Ωparallel, vcat(mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=1)', zeros(Float64, i))) + push!(Ωparallel, vcat(zeros(Float64, i), mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=1)')) end end #TODO #49: check construction - Ωparallel = hcat(Ωparallel...) + Ωparallel = hcat(zeros(h11), Ωparallel...) Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-4, zero(Ωparallel), Ωparallel)) - ProjectedQ(Ωperp, Ωparallel) + ProjectedQ(sparse(Ωperp), sparse(Ωparallel)) end """ θmin(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2)), n::Vector=zeros(size(Ω.Ωperp, 2))) From a9bc55543febc40bac01ed80cb6c0321aee019e6 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Dec 2022 19:33:59 +0100 Subject: [PATCH 014/245] ProjectedQ now sparse arrays --- src/structs.jl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/structs.jl b/src/structs.jl index b2ad674..ac9786e 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -1,4 +1,8 @@ module structs +using AbstractTrees +using SparseArrays +using AbstractTrees: isroot, parent + """ GeometryIndex{T<:Integer} @@ -29,8 +33,8 @@ struct Projector end struct ProjectedQ - Ωperp::Matrix - Ωparallel::Matrix + Ωperp::SparseMatrixCSC + Ωparallel::SparseMatrixCSC end @@ -47,8 +51,7 @@ end ####################### ### from: https://discourse.julialang.org/t/help-design-a-node-for-a-tree/67444/10 ### -using AbstractTrees -using AbstractTrees: isroot, parent + ###### # Tree From ed25d59d9b85f5f081c0a7a7b521dd6fc9a5f5ff Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 29 Dec 2022 22:53:22 +0100 Subject: [PATCH 015/245] testing omega functions --- add_functions/profiling.jl | 122 ++++++++++++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 2 deletions(-) diff --git a/add_functions/profiling.jl b/add_functions/profiling.jl index 26d29e3..1e53c29 100644 --- a/add_functions/profiling.jl +++ b/add_functions/profiling.jl @@ -2,16 +2,134 @@ module profiling using HDF5 using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo +using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays using GenericLinearAlgebra using Distributions using TimerOutputs using ..filestructure: cyax_file, minfile, present_dir using ..read: potential +using ..structs: LQLinearlyIndependent, GeometryIndex, AxionPotential, CanonicalQBasis, ProjectedQ, Projector + + +function LQtilde(Q, L) + @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." + if @isdefined h11 + else + h11 = size(Q, 2) + end + @timeit "Q" Q = Matrix{Int}(Q[:, sortperm(L[2,:], rev=true)]) + @timeit "L" L = L[:, sortperm(L[2,:], rev=true)] + @timeit "Qbar init" Qbar = zeros(Int, size(Q,1),1) + @timeit "Qtilde init" Qtilde = zeros(Int, size(Q,1),1) + @timeit "Lbar init" Lbar = zeros(Int, size(L,1),1) + @timeit "Ltilde init" Ltilde = zeros(Int, size(L,1),1) + for idx in axes(Q, 2) + if rank(hcat(Qtilde, Q[:, idx])) > rank(Qtilde) + @timeit "Qtilde" Qtilde = hcat(Qtilde, Q[:, idx]) + @timeit "Ltilde" Ltilde = hcat(Ltilde, L[:, idx]) + if rank(Qtilde) == h11 + break + end + else + @timeit "Qbar1" Qbar = hcat(Qbar, Q[:, idx]) + @timeit "Lbar1" Lbar = hcat(Lbar, L[:, idx]) + end + end + if size(Qtilde, 2) + size(Qbar, 2) != size(Q, 2) + @timeit "Qbar2" Qbar = hcat(Qbar[:, 2:end], Q[:, size(Qtilde,2)+size(Qbar,2)-1:end]) + @timeit "Lbar2" Lbar = hcat(Lbar[:, 2:end], L[:, size(Qtilde,2)+size(Qbar,2):end]) + end + LQLinearlyIndependent(Qtilde[:, 2:end], Qbar, Lbar, Ltilde[:, 2:end]) +end + +function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) + @timeit "Qhat init" Qhat = Matrix{Rational}(LQ.Qtilde) + if @isdefined h11 + else + h11 = size(Qhat, 2) + end + @timeit "Qbar init" Qbar = Matrix{Int}(LQ.Qbar) + @timeit "Lhat init" Lhat = LQ.Ltilde + @timeit "Lbar init" Lbar = LQ.Lbar + @timeit "Ltilde_min" Ltilde_min::Float64 = minimum(@view(Lhat[2,:])) + @timeit "Ldiff_limit" Ldiff_limit::Float64 = log10(threshold) + @timeit "Qbar threshold" Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + @timeit "Lbar threshold" Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) + @timeit "Qinv" Qinv = (inv(Qhat)) + @timeit "Qinv eps" Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) + # Qhat::Matrix{Int} = deepcopy(Qtilde) + # Lhat = deepcopy(Ltilde) + @timeit "αeff init" αeff::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) + @timeit "α" α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES + for i in axes(α,1) + for j in axes(α,2) + if abs(α[i,j]) > 1e-3 + @timeit "Ldiff" Ldiff::Float64 = round(Lbar[2,i] - Lhat[2,j], digits=3) + if Ldiff > Ldiff_limit + else + @timeit "zero α1" α[i,j] = zero(Rational) + end + else + @timeit "zero α1" α[i,j] = zero(Rational) + end + end + if α[i,:] == zeros(size(α,2)) + else + @timeit "Qhat final" Qhat = hcat(Qhat, @view(Qbar[:,i])) + @timeit "Lhat final" Lhat = hcat(Lhat, @view(Lbar[:,i])) + @timeit "αeff" αeff = hcat(αeff,@view(α[i,:])) + end + @timeit "αeff final" αeff = hcat(I(h11), αeff) + end + CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) +end + +function project_out(v::Vector{T} where T<:Union{Rational{Int64}, Integer}) + @timeit "I init" idd = Matrix{Rational}(I(size(v,1))) + @timeit "norm2" norm2 = dot(v,v) + @timeit "projector init" proj = 1 // norm2 * (v * v') + @timeit "projector eps" proj = @.(ifelse(abs(proj) < 1e-5, zero(proj), proj)) + # TODO: #16 Need to remove floating point errors + Projector(proj, idd - proj) +end + +function project_out(v::Vector{Float64}) + reset_timer! + @timeit "I init" idd = Matrix{Float64}(I(size(v,1))) + @timeit "norm2 float" norm2 = dot(v,v) + @timeit "projector init" proj = 1. /norm2 * (v * v') + @timeit "projector eps" proj = @.(ifelse(abs(proj) < 1e-5, zero(proj), proj)) + idd_proj = idd - proj + Projector(proj, @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj))) +end + +function omega(Ω::Matrix{Int}) + reset_timer! + if @isdefined h11 + else + h11 = size(Ω, 2) + end + @timeit "Ωperp init" Ωperp = Matrix{Rational}(deepcopy(Ω)) + @timeit "Ωparallel init" Ωparallel = [] + for (i, col) in enumerate(eachcol(Ω)) + # TODO: #15 Π function + proj = project_out(Vector(col)) + @timeit "Ωperp" Ωperp[:, i+1:end] = proj.Πperp * Ωperp[:, i+1:end] + @timeit "Ωperp eps" Ωperp = @.(ifelse(abs(Ωperp) < 1e-5, zero(Ωperp), Ωperp)) + if i < h11 + @timeit "Ωparallel1" push!(Ωparallel, vcat(zeros(Float64, i), mapslices(norm, proj.Π * Ω[:, i+1:end]; dims=1)')) + end + end + #TODO #49: check construction + @timeit "Ωparallel2" Ωparallel = hcat(zeros(h11), Ωparallel...) + @timeit "Ωparallel eps" Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-5, zero(Ωparallel), Ωparallel)) + print_timer() + ProjectedQ(sparse(Ωperp), sparse(Ωparallel)) +end function vacua(L::Matrix{Float64},Q::Matrix{Int}) - reset_timer!() + reset_timer! @timeit "h11" h11::Int = size(Q,2) if h11 < 50 ###### Nemo SNF ##### From 96182cd726bd8090c514acf797e968f03b9efb1c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 29 Dec 2022 22:53:40 +0100 Subject: [PATCH 016/245] continued tree structure testing --- notebooks/tree_testing.jl | 49 ++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/notebooks/tree_testing.jl b/notebooks/tree_testing.jl index 03f8df8..7e62271 100644 --- a/notebooks/tree_testing.jl +++ b/notebooks/tree_testing.jl @@ -11,7 +11,7 @@ using Pkg; Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse"); # ╔═╡ 0227789b-1548-4d6a-ad2f-ef017530849b -using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random, SparseArrays, LeftChildRightSiblingTrees +using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random, SparseArrays, LeftChildRightSiblingTrees, Profile # ╔═╡ ce668813-d11a-4dc0-8f0b-3c3dcdd039f3 @@ -98,16 +98,48 @@ t.subtrees[3].subtrees[1].data # ╔═╡ 2edfe043-9a4a-4e64-a776-4d329ff05b91 lqhat = CYAxiverse.generate.:αmatrix(CYAxiverse.structs.GeometryIndex(h11=10,polytope=10,frst=1)) -# ╔═╡ 9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 - +# ╔═╡ 3eb199d9-8883-4755-9295-a0ef66816d99 +function project_out(v::Vector{Int}) + idd = Matrix{Rational}(I(size(v,1))) + norm2::Int = dot(v,v) + proj = 1 // norm2 * (v * v') + Projector(@.(ifelse(abs(proj) < eps(), zero(proj), proj)), idd - proj) +end # ╔═╡ 4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 CYAxiverse.generate.omega(lqhat.Qhat).Ωparallel # ╔═╡ e3ceb403-cb73-4195-a717-ad7f7f2d14a9 begin - Ωperp = CYAxiverse.generate.omega(lqhat.Qhat).Ωperp - [max(2π / norm(Ωperp[:,i]), 2π) for i in axes(Ωperp, 2)] + Ω = CYAxiverse.generate.omega(lqhat.Qhat) + Ωperp = Ω.Ωperp +end + +# ╔═╡ 36610454-1c4b-4ffb-8d4c-8c4d5160ce96 +Ωperp + +# ╔═╡ ed3c16c0-4632-4695-8c39-0325631002dd +lcm(denominator.([1//4, 1//6, 1//8])) + +# ╔═╡ 1572e225-6922-4231-9f1f-e5d54f2f8560 +@time begin + geom_idx = CYAxiverse.structs.GeometryIndex(h11 = 10, polytope = 10, frst = 1) + @profile CYAxiverse.generate.norm2(geom_idx) + Profile.print() +end + + +# ╔═╡ 9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 +@time begin + pot_data = CYAxiverse.generate.potential(geom_idx) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') + CYAxiverse.profiling.omega(CYAxiverse.profiling.:αmatrix(CYAxiverse.profiling.LQtilde(Q, L); threshold = 1e-2).Qhat) +end + +# ╔═╡ 598478a3-cc79-4c40-9003-f7ca00db49a2 +@time begin + norm2minus1Ωperp = CYAxiverse.generate.norm2(Ωperp) end # ╔═╡ 04222ee1-0f18-4b41-9900-b19ef9f32e57 @@ -121,7 +153,7 @@ end @time vcat(mapslices(norm, CYAxiverse.generate.project_out(Vector(lqhat.Qhat[:,3])).Π * lqhat.Qhat[:, 3+1:end]; dims=1)', zeros(3)) # ╔═╡ 09b8c30c-3393-4d32-b89b-c2bd01d57ee1 -sqrt(2//25) +norm([1//5, -1//5]), sqrt(2)/5 # ╔═╡ Cell order: # ╟─69dea65d-54ce-4abd-8476-6fe481cdff57 @@ -142,9 +174,14 @@ sqrt(2//25) # ╠═b15c87a6-c028-4ad6-83bc-23ac7840c260 # ╠═47473bda-1619-499a-96ba-cb44e9b28a55 # ╠═2edfe043-9a4a-4e64-a776-4d329ff05b91 +# ╠═3eb199d9-8883-4755-9295-a0ef66816d99 # ╠═9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 # ╠═4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 # ╠═e3ceb403-cb73-4195-a717-ad7f7f2d14a9 +# ╠═36610454-1c4b-4ffb-8d4c-8c4d5160ce96 +# ╠═ed3c16c0-4632-4695-8c39-0325631002dd +# ╠═1572e225-6922-4231-9f1f-e5d54f2f8560 +# ╠═598478a3-cc79-4c40-9003-f7ca00db49a2 # ╠═04222ee1-0f18-4b41-9900-b19ef9f32e57 # ╠═a6c45afe-c9a6-421b-8414-731e6ba0971b # ╠═09b8c30c-3393-4d32-b89b-c2bd01d57ee1 From 4f2a7980675ceb7f7338e1bead4ff4d0eb6cd1b0 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 29 Dec 2022 22:55:01 +0100 Subject: [PATCH 017/245] added norm2 and norm2minus1 functions also tidied up other dependencies --- src/generate.jl | 134 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 119 insertions(+), 15 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index ff264ff..297b40a 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -490,12 +490,7 @@ function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1) end GC.gc() end -function project_out(v::Vector{Int}) - idd = Matrix{Rational}(I(size(v,1))) - norm2::Int = dot(v,v) - proj = 1 // norm2 * (v * v') - Projector(@.(ifelse(abs(proj) < eps(), zero(proj), proj)), idd - proj) -end + """ project_out(v::Vector) @@ -504,12 +499,13 @@ Takes the direction to be projected out as input and returns a projector of the ``\\Pi\\bigl(\\vec{v}\\bigr) = \\mathbb{1}_{h^{1,1}} - \\frac{\\bigl|\\vec{v}\\bigr\\rangle\\bigl\\langle\\vec{v}\\bigr|}{||\\vec{v}||^2}`` """ -function project_out(v::Vector{Rational{Int64}}) +function project_out(v::Vector{T} where T<:Union{Rational{Int64}, Integer}) idd = Matrix{Rational}(I(size(v,1))) norm2 = dot(v,v) proj = 1 // norm2 * (v * v') + proj = @.(ifelse(abs(proj) < 1e-5, zero(proj), proj)) # TODO: #16 Need to remove floating point errors - Projector(@.(ifelse(abs(proj) < 1e-5, zero(proj), proj)), idd - proj) + Projector(proj, idd - proj) end function project_out(projector::Matrix, v::Vector{Int}) @@ -523,7 +519,7 @@ function project_out(v::Vector{Float64}) idd = Matrix{Float64}(I(size(v,1))) norm2 = dot(v,v) proj = 1. /norm2 * (v * v') - proj = @.(ifelse(abs(proj) < eps(), zero(proj), proj)) + proj = @.(ifelse(abs(proj) < 1e-5, zero(proj), proj)) idd_proj = idd - proj Projector(proj, @.(ifelse(abs(idd_proj) < 1e-5, zero(idd_proj), idd_proj))) end @@ -741,14 +737,16 @@ function LQtilde(Q, L) end function LQtilde(h11::Int, tri::Int, cy::Int) - Q = Matrix{Int}(potential(h11, tri, cy)["Q"]') - L = Matrix{Float64}(potential(h11, tri, cy)["L"]') + pot_data = potential(h11, tri, cy) + Q = Matrix{Int}(pot_data["Q"]') + L = Matrix{Float64}(pot_data["L"]') LQtilde(Q, L) end function LQtilde(geom_idx::GeometryIndex) - Q = Matrix{Int}(potential(geom_idx).Q') - L = Matrix{Float64}(potential(geom_idx).L') + pot_data = potential(geom_idx) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') LQtilde(Q, L) end @@ -790,6 +788,7 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Lhat = hcat(Lhat, @view(Lbar[:,i])) αeff = hcat(αeff,@view(α[i,:])) end + αeff = hcat(I(h11), αeff) end CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) end @@ -1468,16 +1467,121 @@ function omega(Ω::Matrix{Int}) for (i, col) in enumerate(eachcol(Ω)) # TODO: #15 Π function Ωperp[:, i+1:end] = project_out(Vector(col)).Πperp * Ωperp[:, i+1:end] - Ωperp = @.(ifelse(abs(Ωperp) < 1e-4, zero(Ωperp), Ωperp)) + Ωperp = @.(ifelse(abs(Ωperp) < 1e-5, zero(Ωperp), Ωperp)) if i < h11 push!(Ωparallel, vcat(zeros(Float64, i), mapslices(norm, project_out(Vector(col)).Π * Ω[:, i+1:end]; dims=1)')) end end #TODO #49: check construction Ωparallel = hcat(zeros(h11), Ωparallel...) - Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-4, zero(Ωparallel), Ωparallel)) + Ωparallel = @.(ifelse(abs(Ωparallel) < 1e-5, zero(Ωparallel), Ωparallel)) ProjectedQ(sparse(Ωperp), sparse(Ωparallel)) end + +function omega(geom_idx::GeometryIndex) + h11 = geom_idx.h11 + omega(αmatrix(geom_idx).Qhat) +end + +""" + norm2(Ω::Union{AbstractMatrix, SparseArrays.AbstractSparseMatrix}; column = true, average = false, product = true) + +TBW +""" +function norm2(Ω::Union{AbstractMatrix, SparseArrays.AbstractSparseMatrix}; column = true, average = false, product = true) + if @isdefined h11 + else + h11 = size(Ω, 2) + end + norm2Ω = zeros(Float64, h11) + for i in ifelse(column == true, axes(Ω, 2), axes(Ω, 1)) + norm2Ω[i] = ifelse(column == true, norm(Ω[:, i])^2, norm(Ω[i, :])^2) + end + if product == true && average == false + return prod(norm2Ω; dims = 1) + elseif product == false && average == true + return sum(norm2Ω; dims = 1) / length(norm2Ω) + elseif product == false && average == false + return norm2Ω + else + return throw(ArgumentError("average and product kwargs cannot both be $average")) + end +end + + +function norm2(Ω::ProjectedQ; column = true, average = false, product = true) + Ω = Ω.Ωperp + if @isdefined h11 + else + h11 = size(Ω, 2) + end + norm2Ω = zeros(Float64, h11) + for i in ifelse(column == true, axes(Ω, 2), axes(Ω, 1)) + norm2Ω[i] = ifelse(column == true, norm(Ω[:, i])^2, norm(Ω[i, :])^2) + end + if product == true && average == false + return prod(norm2Ω; dims = 1) + elseif product == false && average == true + return sum(norm2Ω; dims = 1) / length(norm2Ω) + elseif product == false && average == false + return norm2Ω + else + return throw(ArgumentError("average and product kwargs cannot both be $average")) + end +end + +function norm2(geom_idx::GeometryIndex; column = true, average = false, product = true) + h11 = geom_idx.h11 + norm2(omega(geom_idx); column = column, average = average, product = product) +end +""" + norm2minus1(Ω::Union{AbstractMatrix, SparseArrays.AbstractSparseMatrix}; col = true) + +TBW +""" +function norm2minus1(Ω::Union{AbstractMatrix, SparseArrays.AbstractSparseMatrix}; column = true, average = false, product = true) + if @isdefined h11 + else + h11 = size(Ω, 2) + end + norm2Ω = zeros(Float64, h11) + for i in ifelse(column == true, axes(Ω, 2), axes(Ω, 1)) + norm2Ω[i] = ifelse(column == true, norm(Ω[:, i])^2 - 1, norm(Ω[i, :])^2 - 1) + end + norm2Ω = norm2Ω[norm2Ω .!= 0.] + if product == true && average == false + return prod(norm2Ω; dims = 1) + elseif product == false && average == true + return sum(norm2Ω; dims = 1) / length(norm2Ω) + elseif product == false && average == false + return norm2Ω + else + return throw(ArgumentError("average and product kwargs cannot both be $average")) + end +end + +function norm2minus1(Ω::ProjectedQ; column = true, average = false, product = true) + Ω = Ω.Ωperp + if @isdefined h11 + else + h11 = size(Ω, 2) + end + norm2Ω = zeros(Float64, h11) + for i in ifelse(column == true, axes(Ω, 2), axes(Ω, 1)) + norm2Ω[i] = ifelse(column == true, norm(Ω[:, i])^2 - 1, norm(Ω[i, :])^2 - 1) + end + norm2Ω = norm2Ω[norm2Ω .!= 0.] + if product == true && average == false + return prod(norm2Ω; dims = 1) + elseif product == false && average == true + return sum(norm2Ω; dims = 1) / length(norm2Ω) + elseif product == false && average == false + return norm2Ω + else + return throw(ArgumentError("average and product kwargs cannot both be $average")) + end +end + """ θmin(Ω::ProjectedQ; phase=zeros(size(Ω.Ωperp, 2)), n::Vector=zeros(size(Ω.Ωperp, 2))) From fe6c0bc0ac72342526dc8e6fecbee627aa5e7436 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 29 Dec 2022 22:56:00 +0100 Subject: [PATCH 018/245] amended templated tree structure added parent_min, parent_phase --- src/structs.jl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/structs.jl b/src/structs.jl index ac9786e..6441d21 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -59,15 +59,16 @@ end struct MyTree{D} data::D - parent::Union{Nothing,MyTree{D}} + parent_min::Union{Nothing,MyTree{D}} + parent_phase::Union{Nothing,MyTree{D}} subtrees::Vector{MyTree{D}} function MyTree{D}(d::D, ::Nothing, v::AbstractVector{MyTree{D}}) where D new{D}(d, nothing, v) end - function MyTree{D}(d::D, parent::MyTree{D}, v::AbstractVector{MyTree{D}}) where D - ret = new{D}(d, parent, v) - push!(parent.subtrees, ret) + function MyTree{D}(d::D, parent_min::MyTree{D}, v::AbstractVector{MyTree{D}}) where D + ret = new{D}(d, parent_min, v) + push!(parent_min.subtrees, ret) ret end end @@ -75,7 +76,7 @@ MyTree(d::T, parent=nothing, v=MyTree{T}[]) where T = MyTree{T}(d, parent, v) Base.eltype(::Type{MyTree{T}}) where T = T AbstractTrees.children(t::MyTree) = t.subtrees -AbstractTrees.parent(t::MyTree) = t.parent +AbstractTrees.parent(t::MyTree) = t.parent_min AbstractTrees.isroot(t::MyTree) = parent(t) === nothing Base.show(io::IO, t::MyTree) = print(io, "MyTree{D}(", t.data, ')') @@ -108,7 +109,7 @@ function Base.iterate(_::ParentTrack, (parents, toProcess)) # get our return value and remove ourselves c = map(x -> x.data, parents) pop!(parents) - if !isempty(toProcess) && last(toProcess).parent != el.parent + if !isempty(toProcess) && last(toProcess).parent_min != el.parent_min pop!(parents) # pop the parent end return c, (parents, toProcess) From ad07646bbff06d047db16f349c0716a2bb53face Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:14:33 +0100 Subject: [PATCH 019/245] profile LQtilde, \alphamatrix and omega functions --- add_functions/profiling.jl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/add_functions/profiling.jl b/add_functions/profiling.jl index 1e53c29..6ac440d 100644 --- a/add_functions/profiling.jl +++ b/add_functions/profiling.jl @@ -13,6 +13,7 @@ using ..structs: LQLinearlyIndependent, GeometryIndex, AxionPotential, Canonical function LQtilde(Q, L) + reset_timer!() @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." if @isdefined h11 else @@ -44,6 +45,7 @@ function LQtilde(Q, L) end function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) + reset_timer!() @timeit "Qhat init" Qhat = Matrix{Rational}(LQ.Qtilde) if @isdefined h11 else @@ -86,6 +88,7 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) end function project_out(v::Vector{T} where T<:Union{Rational{Int64}, Integer}) + reset_timer!() @timeit "I init" idd = Matrix{Rational}(I(size(v,1))) @timeit "norm2" norm2 = dot(v,v) @timeit "projector init" proj = 1 // norm2 * (v * v') @@ -95,7 +98,7 @@ function project_out(v::Vector{T} where T<:Union{Rational{Int64}, Integer}) end function project_out(v::Vector{Float64}) - reset_timer! + reset_timer!() @timeit "I init" idd = Matrix{Float64}(I(size(v,1))) @timeit "norm2 float" norm2 = dot(v,v) @timeit "projector init" proj = 1. /norm2 * (v * v') @@ -105,7 +108,7 @@ function project_out(v::Vector{Float64}) end function omega(Ω::Matrix{Int}) - reset_timer! + reset_timer!() if @isdefined h11 else h11 = size(Ω, 2) @@ -129,7 +132,7 @@ function omega(Ω::Matrix{Int}) end function vacua(L::Matrix{Float64},Q::Matrix{Int}) - reset_timer! + reset_timer!() @timeit "h11" h11::Int = size(Q,2) if h11 < 50 ###### Nemo SNF ##### From 72e003d763fd2514dc374fcf5a519412f8c6d841 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:15:17 +0100 Subject: [PATCH 020/245] Fixed pq_spectrum, added pq_spectra_generator --- src/generate.jl | 78 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 61 insertions(+), 17 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 297b40a..4427c85 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -15,7 +15,7 @@ using TimerOutputs using ..filestructure: cyax_file, minfile, present_dir, geom_dir using ..read: potential using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum ################# ### Constant #### @@ -418,7 +418,7 @@ function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, quartiilog1[:,k] = logL .+ (logQMs[:,k] + logQMs[:,k] .+ logQMs[:,k] + logQMs[:,k]) quartdiagsign[k],quartdiaglog[k] = gauss_log(quartiisign1[:,k],quartiilog1[:,k]) end - qindqdiag::Vector{Vector{Int64}} = [[x,x,x,x]::Vector{Int64} for x=1:h11] + # qindqdiag::Vector{Vector{Int64}} = [[x,x,x,x]::Vector{Int64} for x=1:h11] fpert::Vector{Float64} = @.(Hvals+log10(constants()["MPlanck"])- (0.5*quartdiaglog*log10(exp(1)))) @@ -436,9 +436,9 @@ function hp_spectrum(h11::Int,tri::Int,cy::Int=1; prec=5_000) pot_data = potential(h11,tri,cy); L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] LQtilde = LQtildebar(h11,tri,cy) - Ltilde = Matrix{Float64}(LQtilde["L\tiil̃"]') - Qtilde = Matrix{Int}(LQtilde["Qtilde"]') - spectrum_data = hp_spectrum(K,Ltilde,Qtilde) + Ltilde = Matrix{Float64}(LQtilde["Lhat"]') + Qtilde = Matrix{Int}(LQtilde["Qhat"]') + hp_spectrum(K, Ltilde, Qtilde) end """ hp_spectrum_save(h11,tri,cy) @@ -554,7 +554,7 @@ Uses the projector defined in [`project_out(v)`](@ref) to construct an orthonorm function orth_basis(vec::Vector) proj = project_out(vec) #this is the scipy.linalg.orth function written out - u, s, vh = svd(proj,full=true) + u, s, vh = svd(proj.Πperp,full=true) M, N = size(u,1), size(vh,2) rcond = eps() * max(M, N) tol = maximum(s) * rcond @@ -590,26 +590,23 @@ function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, fK::Vector{Float64} = log10.(sqrt.(eigen(K).values)) Kls = cholesky(K).L - LQtilde = LQtildebar(L, Q) - Ltilde = LQtilde["Ltilde"] - Qtilde = LQtilde["Qtilde"] + LQtild = LQtilde(Q', L') + Ltilde = LQtild.Ltilde + Qtilde = LQtild.Qtilde QKs::Matrix{Float64} = zeros(Float64,h11,h11) fapprox::Vector{Float64} = zeros(Float64,h11) mapprox::Vector{Float64} = zeros(h11) - LinearAlgebra.mul!(QKs, inv(Kls'), Qtilde') + LinearAlgebra.mul!(QKs, inv(Kls'), Matrix(Qtilde')) for i=1:h11 fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) T = orth_basis(QKs[i,:]) - println(size(QKs), size(T)) + # println(size(QKs), size(T)) QKs1 = zeros(size(QKs,1), size(T,2)) LinearAlgebra.mul!(QKs1,QKs, T) QKs = copy(QKs1) end - vals = [mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"]))] - keys = ["m", "fK", "fpert"] - - return Dict(zip(keys,vals)) + AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])) end function pq_spectrum(h11::Int,tri::Int,cy::Int) @@ -618,6 +615,28 @@ function pq_spectrum(h11::Int,tri::Int,cy::Int) pq_spectrum(K, L, Q) end +function pq_spectrum(geom_idx::GeometryIndex) + pot_data = potential(geom_idx) + pq_spectrum(pot_data.K, pot_data.L, pot_data.Q) +end + + +""" + spectra_generator(h11_min, h11_max, h11list) +Generates multiple axion spectra for a given set of geometries identified in `h11list` between `h11_min` and `h11_max`. + +⚠️ Will generate **all** geometries with `potential` data generated between `h11_min` and `h11_max` so will be slow if this is a lot! ⚠️ +""" +function pq_spectra_generator(h11_min::Int, h11_max::Int, h11list::Matrix{Int}) + spectra = [] + for col in eachcol(h11list[:, h11_min .≤ h11list[1, :] .≤ h11_max]) + geom_idx = GeometryIndex(col...) + push!(spectra, (geom_idx, pq_spectrum(geom_idx))) + end + spectra +end + + function pq_spectrum_save(h11::Int,tri::Int,cy::Int=1) if h11!=0 file_open::Bool = 0 @@ -757,6 +776,10 @@ TBW """ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Qhat = Matrix{Rational}(LQ.Qtilde) + if @isdefined h11 + else + h11 = size(Qhat, 2) + end Qbar = Matrix{Int}(LQ.Qbar) Lhat = LQ.Ltilde Lbar = LQ.Lbar @@ -794,12 +817,33 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) end function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) - αmatrix(LQtilde(h11, tri, cy); threshold) + αmatrix(LQtilde(h11, tri, cy); threshold = threshold) end function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) - αmatrix(LQtilde(geom_idx); threshold) + αmatrix(LQtilde(geom_idx); threshold = threshold) end + +""" + ωnorm2(LQ::CanonicalQBasis) + +TBW +""" +function ωnorm2(LQ::CanonicalQBasis) + Qhat = LQ.Qhat + ωnorm = zeros(size(Qhat, 2)) + for i in axes(Qhat, 2) + if length(Qhat[:, i][Qhat[:, i] .== 0]) < size(Qhat, 2) - 1 + ωnorm[i] = norm(Qhat[:, i])^2 + end + end + sum(ωnorm) / size(Qhat, 2) +end + +function ωnorm2(geom_idx::GeometryIndex; threshold::Float64 = 0.5) + ωnorm2(αmatrix(LQtilde(geom_idx); threshold = threshold)) +end + """ LQtildebar(L,Q; threshold) From 6a7fad096d38200f2c55bb0de3361999e1aaf8e3 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:15:30 +0100 Subject: [PATCH 021/245] removed conflicting functions --- src/minimizer.jl | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/minimizer.jl b/src/minimizer.jl index f67790c..627512d 100644 --- a/src/minimizer.jl +++ b/src/minimizer.jl @@ -426,21 +426,21 @@ function subspace_minimize(L, Q; runs=10_000, phase::Matrix=zeros(max(collect(si unique(xmin) end -function subspace_minimize(L, Q; runs=10_000, phase::Number=0) - xmin = [] - Random.seed!(9876543210) - for _ in 1:runs - x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) - x0 = x0 .+ phase - test_min = minimize(L, Q, x0) - if test_min === nothing - else - push!(xmin, test_min["xmin"]) - end - end - push!(xmin, zeros(size(Q,1))) - unique(xmin) -end +# function subspace_minimize(L, Q; runs=10_000, phase::Number=0) +# xmin = [] +# Random.seed!(9876543210) +# for _ in 1:runs +# x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) +# x0 = x0 .+ phase +# test_min = minimize(L, Q, x0) +# if test_min === nothing +# else +# push!(xmin, test_min["xmin"]) +# end +# end +# push!(xmin, zeros(size(Q,1))) +# unique(xmin) +# end """ subspace_minimize(L, Q; runs=10_000, phase=zeros(max(collect(size(Q))...))) Minimizes the subspace with `runs` iterations From 12664ca84cfa8f14b84eccf82365c1234389b15a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:15:53 +0100 Subject: [PATCH 022/245] =?UTF-8?q?added=20=CF=89norm2=5Festimate=20to=20q?= =?UTF-8?q?shape?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/read.jl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/read.jl b/src/read.jl index dfa1c1a..199b1d8 100644 --- a/src/read.jl +++ b/src/read.jl @@ -120,15 +120,23 @@ end ############################## function qshape(h11::Int,tri::Int,cy::Int=1) - square, vacua, extrarows = 0, 0, 0 + square, vacua, extrarows, ωnorm2 = 0, 0, 0, 0 h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r") do file square = HDF5.read(file, "square") vacua = HDF5.read(file, "vacua_estimate") if haskey(file, "extra_rows") extrarows = HDF5.read(file, "extra_rows") end + if haskey(file, "ωnorm2_estimate") + ωnorm2 = HDF5.read(file, "ωnorm2_estimate") + end end - (issquare = square, vacua_det = vacua, lengthα = extrarows) + (issquare = square, vacua_det = vacua, lengthα = extrarows, ωnorm2 = ωnorm2) +end + +function qshape(geom_idx::GeometryIndex) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + qshape(h11, tri, cy) end function vacua(h11::Int,tri::Int,cy::Int=1) From c1fdd81faaf30405c79530251278d0060d0f2210 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:16:24 +0100 Subject: [PATCH 023/245] added AxionSpectrum and IndexedAxionSpectrum --- src/structs.jl | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/structs.jl b/src/structs.jl index 6441d21..2e4a4f5 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -1,6 +1,7 @@ module structs using AbstractTrees using SparseArrays +using LinearAlgebra using AbstractTrees: isroot, parent """ @@ -17,9 +18,28 @@ end struct AxionPotential L::Matrix{Float64} Q::Matrix{Int} - K::Matrix{Float64} + K::Hermitian{Float64, Matrix{Float64}} end +struct AxionSpectrum + m::Vector{Float64} + f::Vector{Float64} + fK::Vector{Float64} +end + +Base.@kwdef struct IndexedAxionSpectrum{T<:Float64} + h11::Int + polytope::Int + frst::Int + m::Vector{T} + f::Vector{T} + fK::Vector{T} + function IndexedAxionSpectrum(geom_idx::GeometryIndex, spectrum::AxionSpectrum) + IndexedAxionSpectrum(geom_idx.h11, geom_idx.polytope, geom_idx.frst, spectrum.m, spectrum.f, spectrum.fK) + end +end + + struct LQLinearlyIndependent Qtilde::Matrix{Int} Qbar::Matrix{Int} @@ -27,9 +47,9 @@ struct LQLinearlyIndependent Ltilde::Matrix{Float64} end -struct Projector - Π::Matrix{Rational} - Πperp::Matrix{Rational} +struct Projector{T<:Union{Rational, Float64, Integer}} + Π::Matrix{T} + Πperp::Matrix{T} end struct ProjectedQ From fb1424e0554b4acf718cd54e19bc3d9091ef0c39 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:16:37 +0100 Subject: [PATCH 024/245] Continuation of tree structure testing --- notebooks/tree_testing.jl | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/notebooks/tree_testing.jl b/notebooks/tree_testing.jl index 7e62271..4c50731 100644 --- a/notebooks/tree_testing.jl +++ b/notebooks/tree_testing.jl @@ -115,19 +115,14 @@ begin Ωperp = Ω.Ωperp end -# ╔═╡ 36610454-1c4b-4ffb-8d4c-8c4d5160ce96 -Ωperp - -# ╔═╡ ed3c16c0-4632-4695-8c39-0325631002dd -lcm(denominator.([1//4, 1//6, 1//8])) +# ╔═╡ b348b3fc-c20e-41c7-ac21-8244afbae687 +length(lqhat.Qhat[:, 1][lqhat.Qhat[:, 1] .== 0]) < size(lqhat.Qhat, 2) - 1 -# ╔═╡ 1572e225-6922-4231-9f1f-e5d54f2f8560 +# ╔═╡ 36610454-1c4b-4ffb-8d4c-8c4d5160ce96 @time begin - geom_idx = CYAxiverse.structs.GeometryIndex(h11 = 10, polytope = 10, frst = 1) - @profile CYAxiverse.generate.norm2(geom_idx) - Profile.print() + geom_idx = CYAxiverse.structs.GeometryIndex(h11 =38, polytope = 1, frst = 1) + CYAxiverse.generate.ωnorm2(geom_idx; threshold = 0.01), CYAxiverse.read.qshape(geom_idx).issquare == 1 ? det(CYAxiverse.generate.:αmatrix(geom_idx; threshold = 0.01).Qhat) : sqrt(abs(det(CYAxiverse.generate.:αmatrix(geom_idx; threshold = 0.01).Qhat * CYAxiverse.generate.:αmatrix(geom_idx; threshold = 0.01).Qhat'))) end - # ╔═╡ 9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 @time begin @@ -137,6 +132,22 @@ end CYAxiverse.profiling.omega(CYAxiverse.profiling.:αmatrix(CYAxiverse.profiling.LQtilde(Q, L); threshold = 1e-2).Qhat) end +# ╔═╡ f77d9639-3b73-4fe5-9da2-71045d8a846e +CYAxiverse.read.qshape(geom_idx).issquare + +# ╔═╡ bc29db56-e456-42a1-8017-8f1fde24048b +CYAxiverse.read.qshape(116,4, 1) + +# ╔═╡ ed3c16c0-4632-4695-8c39-0325631002dd +geom_idx + +# ╔═╡ 1572e225-6922-4231-9f1f-e5d54f2f8560 +@time begin + @profile CYAxiverse.generate.norm2(geom_idx) + Profile.print() +end + + # ╔═╡ 598478a3-cc79-4c40-9003-f7ca00db49a2 @time begin norm2minus1Ωperp = CYAxiverse.generate.norm2(Ωperp) @@ -178,7 +189,10 @@ norm([1//5, -1//5]), sqrt(2)/5 # ╠═9620b336-cbd8-4e64-b3f0-2790bd7fbcb2 # ╠═4e282b9f-9c58-4d46-a2a7-ab6ed21c87e0 # ╠═e3ceb403-cb73-4195-a717-ad7f7f2d14a9 +# ╠═b348b3fc-c20e-41c7-ac21-8244afbae687 # ╠═36610454-1c4b-4ffb-8d4c-8c4d5160ce96 +# ╠═f77d9639-3b73-4fe5-9da2-71045d8a846e +# ╠═bc29db56-e456-42a1-8017-8f1fde24048b # ╠═ed3c16c0-4632-4695-8c39-0325631002dd # ╠═1572e225-6922-4231-9f1f-e5d54f2f8560 # ╠═598478a3-cc79-4c40-9003-f7ca00db49a2 From 7d6b15d6c8552e9519a6ac38607dbee67e34b301 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 4 Jan 2023 22:17:10 +0100 Subject: [PATCH 025/245] =?UTF-8?q?added=20=CF=89norm2=5Festimate=20genera?= =?UTF-8?q?ted=20on=20vacuastretchtest=20data=20set?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/Qeff.jl | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/Qeff.jl b/scripts/Qeff.jl index 0e1edc3..78dfe70 100644 --- a/scripts/Qeff.jl +++ b/scripts/Qeff.jl @@ -25,12 +25,24 @@ end if Qshape.issquare == 1 else data = CYAxiverse.generate.vacua_estimate(h11, tri, cy; threshold = 1e-2) - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r+") do f + h5open(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5"), "r+") do f f["extra_rows"] = data.extrarows end end end +@everywhere function column_estimate(h11, tri, cy, l) + geom_idx = CYAxiverse.structs.GeometryIndex(h11 = h11, polytope = tri, frst = cy) + ωnorm = round(CYAxiverse.generate.ωnorm2(geom_idx; threshold = 0.01)) + h5open(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5"), "r+") do f + if haskey(f, "ωnorm2_estimate") + else + f["ωnorm2_estimate"] = ωnorm + end + end +end + + @everywhere function main_Qshape(h11, tri, cy, l) threshold = 1e-2 if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) @@ -89,10 +101,10 @@ CYAxiverse.filestructure.logcreate(lfile) ############################## #### Initialise functions #### ############################## -@time temp_spec = extra_rows(4,10,1,lfile) +@time temp_spec = column_estimate(4,10,1,lfile) h11list_temp = [4 4 5 7; 10 1 5 7; 1 1 1 1; lfile lfile lfile lfile] @time begin - temp_vac = pmap(extra_rows, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) + temp_vac = pmap(column_estimate, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) end # @time begin @@ -112,7 +124,7 @@ CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11 # h11 = shuffle(h11) log_files_spec = [lfile for _=1:size(h11list,2)] @time begin - res = pmap(extra_rows, h11list[1,:], h11list[2,:], h11list[3,:], log_files_spec) + res = pmap(column_estimate, h11list[1,:], h11list[2,:], h11list[3,:], log_files_spec) end # @time begin From 0e7d13276ca8a026e20ca09202199efcd0017853 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 1 Mar 2023 11:09:48 +0100 Subject: [PATCH 026/245] generate database with 1000 geoms per h11 --- scripts/top_geom.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index ba8f2c2..2d6d847 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -106,7 +106,7 @@ if haskey(ENV, "MAX_JOB") max_split = parse(Int32, ENV["MAX_JOB"]) end -function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 100, split = nothing, max_split = 0) log_files_top = [] n = [] if split === nothing @@ -115,7 +115,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl else if split == max_split h11 = [462, 491] - n = [ngeometries * 1_000 for _ in h11] + n = [ngeometries for _ in h11] log_files_top = [lfile for _ in h11] else @@ -123,7 +123,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl h11 = shuffle(h11) tasks = length(h11) ÷ max_split h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) - n = [ngeometries * 1_000 for _ in h11] + n = [ngeometries for _ in h11] log_files_top = [lfile for _ in h11] end end From 67d59a3c81aad8b79eeeb449ac7f6d8a83fcdd9a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 1 Mar 2023 11:10:01 +0100 Subject: [PATCH 027/245] fixed typos --- scripts/top_geom.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 2d6d847..c7beaf7 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -106,7 +106,7 @@ if haskey(ENV, "MAX_JOB") max_split = parse(Int32, ENV["MAX_JOB"]) end -function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 100, split = nothing, max_split = 0) +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) log_files_top = [] n = [] if split === nothing @@ -130,7 +130,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 100, sp (h11 = h11, log_files = log_files_top, ngeometries = n) end -run_vars = h11list_generate(h11, lfile; ngeometries=10, split=split, max_split = max_split) +run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split) h11 = run_vars.h11 n = run_vars.ngeometries From 708a08465d813127b050bcd83a0b5980929f2b4f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 1 Mar 2023 11:15:19 +0100 Subject: [PATCH 028/245] added fair triangulations option --- add_functions/cytools_wrapper.jl | 58 ++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 35f719e..2e832e1 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -71,7 +71,7 @@ poly(points; backend=nothing) = py"poly($points, backend=$backend)" -function topologies_generate(h11,n) +function topologies_generate_fast(h11,n) tri_test = [] tri_test_m = [] #Generate list of $n polytopes at $h11 @@ -119,6 +119,54 @@ function topologies_generate(h11,n) return Dict(zip(keys,vals)) end + +function topologies_generate_fair(h11,n) + tri_test = [] + tri_test_m = [] + #Generate list of $n polytopes at $h11 + poly_test = fetch_polytopes(h11,4*n, lattice="N", as_list=true, favorable=true) + #Locator for points of polytope for saving + points = [p.points() for p in poly_test] + #If number of polytopes < $n, generate more triangulations per polytope, + #otherwise generate 1 triangulation per polytope upto $n + spt = size(poly_test,1) + m = nothing; + if spt == 0 + return [0, 0, 0, 0] + elseif spt < n && h11 > 3 + left_over = mod(n, spt) + m = n ÷ spt + if left_over == 0 + tri_test_m = [poly_test[i].random_triangulations_fair(N=m, as_list=true, progress_bar=false) for i=1:spt]; + # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] + tri_test = vcat(tri_test_m...) + else + tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; + tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; + tri_test_m = vcat(tri_test_m1, tri_test_m) + # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] + # cy_num1 = [size(tri_test_m1[i],1) for i=1:size(tri_test_m1,1)] + # cy_num = vcat(cy_num1,cy_num) + tri_test = vcat(tri_test_m1...,tri_test_m...) + end + else + tri_test_m = nothing + tri_test = [poly_test[i].triangulate() for i=1:n]; + points = @view(points[1:n]) + end + simplices = [] + cy = [] + for t in eachindex(tri_test) + #Locator for simplices of triangulations for saving + push!(simplices,tri_test[t].simplices()) + #Generate list of CY3s + push!(cy,tri_test[t].get_cy()) + end + keys = ["m", "poly_tri", "poly_retri", "points", "simplices", "cy"] + vals = [m, tri_test, tri_test_m, points, simplices, cy] + + return Dict(zip(keys,vals)) +end """ topologies(h11::Int, n::Int) @@ -128,9 +176,13 @@ This function generates and saves the topological data, _i.e._ `points` and `sim Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] """ -function topologies(h11::Int, n::Int) +function topologies(h11::Int, n::Int; fast = true) h11list_temp = [] - top_data = topologies_generate(h11, n) + if fast + top_data = topologies_generate_fast(h11, n) + else + top_data = topologies_generate_fair(h11,n) + end m, tri_test, tri_test_m, points, simplices, cy = top_data["m"], top_data["poly_tri"], top_data["poly_retri"], top_data["points"], top_data["simplices"], top_data["cy"] #Create dir for saving -- structure is h11_{$h11}.zfill(3)/np_{$tri}.zfill(7)/cy_{$cy}.zfill(7)/data if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"))) From 457c54d4d1efd506617e70c77e1d89efd31cac1c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 1 Mar 2023 11:15:33 +0100 Subject: [PATCH 029/245] fair random triangulations option added --- scripts/top_geom.jl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index c7beaf7..4fe99d0 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -54,6 +54,27 @@ CYAxiverse.filestructure.logcreate(lfile) end end +end +@everywhere function main_top_fair(h11,n,l) + try + test = CYAxiverse.cytools_wrapper.cy_from_poly(h11); + return test + catch + try + test = CYAxiverse.cytools_wrapper.topologies(h11,n; fast=false); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) + end + return [0,0,0,0] + finally + open(l, "a") do outf + write(outf,string("top-(",h11,")\n")) + end + end + end + end @everywhere function main_geom(h11,cy,tri,cy_i,l) From 44a012822a295282945cbfec5dc72060a49682e1 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 7 Mar 2023 23:51:32 +0100 Subject: [PATCH 030/245] generate new database for vacua project --- scripts/top_geom.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 4fe99d0..4af4a83 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -120,7 +120,7 @@ GC.gc() ############################## h11_init = 4 np = nworkers() -h11_end = 500 +h11_end = 492 h11 = collect(h11_init:h11_init+h11_end) max_split = 0 if haskey(ENV, "MAX_JOB") From 3ba99dfb2af102e4bf824266bcbc5f4561ebb1bf Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 7 Mar 2023 23:51:46 +0100 Subject: [PATCH 031/245] new flag for CYTools detection --- src/CYAxiverse.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 8305fc3..5862606 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -18,8 +18,8 @@ include("generate.jl") include("plotting.jl") include("../add_functions/profiling.jl") -if haskey(ENV, "PYTHON") - if occursin("cytools/cytools-venv//bin/python3",ENV["PYTHON"]) +if haskey(ENV, "SINGULARITY_CONTAINER") + if occursin("CYTools",ENV["SINGULARITY_CONTAINER"]) include("../add_functions/cytools_wrapper.jl") end From 727ebbbf07d131bcc20525ce23c44435aada8411 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 7 Mar 2023 23:52:07 +0100 Subject: [PATCH 032/245] vacua_0323 database added --- src/filestructure.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/filestructure.jl b/src/filestructure.jl index aee4cc6..bce7f08 100644 --- a/src/filestructure.jl +++ b/src/filestructure.jl @@ -41,6 +41,7 @@ function ol_DB(args) "vacua_test" => "/scratch/users/mehta2/vacua_testing/", "vacua_stretchtest" => "/scratch/users/mehta2/vacua_stretchtesting/", "vacua_new" => "/scratch/users/mehta2/vacua_db/", + "vacua_0323" => "/scratch/users/mehta2/vacua_0323/", "vacua_0822" => "/scratch/users/mehta2/vacua_0822/", "vacua_stretch" => "/scratch/users/mehta2/vacua_stretch/", "docker" => "/database/", From 262243aea31cfabfb09c3536b28bec15b9af42c8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 7 Mar 2023 23:53:02 +0100 Subject: [PATCH 033/245] fixed \alphamatrix outside for loop --- src/generate.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 4427c85..e85c973 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -811,16 +811,16 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Lhat = hcat(Lhat, @view(Lbar[:,i])) αeff = hcat(αeff,@view(α[i,:])) end - αeff = hcat(I(h11), αeff) end + αeff = hcat(I(h11), αeff[:, 2:end]) CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) end -function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) +function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.01) αmatrix(LQtilde(h11, tri, cy); threshold = threshold) end -function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) +function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.01) αmatrix(LQtilde(geom_idx); threshold = threshold) end @@ -963,7 +963,7 @@ function LQtildebar(L::Matrix{Float64},Q::Matrix{Int}; threshold = 0.5) end end keys = ["Qhat", "Qbar", "Lhat", "Lbar", "α"] - vals = [Qhat, Qbar, Lhat, Lbar, αeff] + vals = [Qhat, Qbar, Lhat, Lbar, αeff[:,2:end]] return Dict(zip(keys,vals)) end From abe1820a15913796e04a9190eec89a4c468d2422 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 00:04:07 +0100 Subject: [PATCH 034/245] =?UTF-8?q?added=20=CE=B1-masks=20to=20CanonicalQB?= =?UTF-8?q?asis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/structs.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index 2e4a4f5..9539304 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -64,6 +64,8 @@ struct CanonicalQBasis Lhat ::Matrix{Float64} Lbar ::Matrix{Float64} α::Matrix{Rational} + αrowmask::Vector{Bool} + αcolmask::Vector{Bool} end ####################### From e96d689fe8a9b7c7ee70e70c14864c38da913c8b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 00:05:12 +0100 Subject: [PATCH 035/245] =?UTF-8?q?added=20=CE=B1-masks=20to=20=CE=B1matri?= =?UTF-8?q?x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/generate.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index e85c973..52eb5ab 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -812,8 +812,10 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) αeff = hcat(αeff,@view(α[i,:])) end end - αeff = hcat(I(h11), αeff[:, 2:end]) - CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff)) + αeff = hcat(1//1 * I(h11), αeff[:, 2:end]) + αrowmask = [sum(i .== zero(i[1])) < size(αeff,2)-1 for i in eachrow(αeff)] + αcolmask = [any(col .!= zero(col[1])) for col in eachcol(αeff[αrowmask,:])] + CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) end function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.01) From 87334c046f84411b9fa973eb24eceeb0b5bcf39d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 00:29:03 +0100 Subject: [PATCH 036/245] corrected h11_end in script --- scripts/top_geom.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 4af4a83..6c2271b 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -120,7 +120,7 @@ GC.gc() ############################## h11_init = 4 np = nworkers() -h11_end = 492 +h11_end = 450 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! h11 = collect(h11_init:h11_init+h11_end) max_split = 0 if haskey(ENV, "MAX_JOB") From 2ea93dc7bcc5e87ea76367dc6ec7dae9f3208d1f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 23:52:49 +0100 Subject: [PATCH 037/245] generalisation of initial h11 for parallel computing --- scripts/top_geom.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 6c2271b..88c295d 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -100,7 +100,7 @@ end ############################## #### Initialise functions #### ############################## -@time temp_top = main_top(4,10,lfile) +@time temp_top = main_top(split,10,lfile) # temp_top = hcat(temp_top...) # println(size(temp_top)) # println(temp_top) From 4ca88b477101eb80e95e07668bbf22ef80816490 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 23:53:25 +0100 Subject: [PATCH 038/245] new struct for alpha matrix fixed rounding errors --- src/generate.jl | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 52eb5ab..ff463b0 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -15,7 +15,7 @@ using TimerOutputs using ..filestructure: cyax_file, minfile, present_dir, geom_dir using ..read: potential using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα ################# ### Constant #### @@ -801,6 +801,10 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) else α[i,j] = zero(Rational) end + if abs(1 - abs(α[i,j])) > 1e-3 + else + α[i,j] = sign(α[i,j]) * one(α[i,j]) + end else α[i,j] = zero(Rational) end @@ -813,16 +817,20 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) end end αeff = hcat(1//1 * I(h11), αeff[:, 2:end]) - αrowmask = [sum(i .== zero(i[1])) < size(αeff,2)-1 for i in eachrow(αeff)] - αcolmask = [any(col .!= zero(col[1])) for col in eachcol(αeff[αrowmask,:])] - CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) + if size(αeff,2) > h11 + αrowmask = [sum(i .== zero(i[1])) < size(αeff,2)-1 for i in eachrow(αeff)] + αcolmask = [any(col .!= zero(col[1])) for col in eachcol(αeff[αrowmask,:])] + Canonicalα(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) + else + CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar)) + end end -function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.01) +function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) αmatrix(LQtilde(h11, tri, cy); threshold = threshold) end -function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.01) +function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) αmatrix(LQtilde(geom_idx); threshold = threshold) end From f7582e4fc004e1f9efd1fe93e90b2f6af0335e68 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 8 Mar 2023 23:53:49 +0100 Subject: [PATCH 039/245] =?UTF-8?q?Canonical=CE=B1=20struct=20added=20for?= =?UTF-8?q?=20=CE=B1matrix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/structs.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index 9539304..f8568ca 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -63,6 +63,13 @@ struct CanonicalQBasis Qbar::Matrix{Int} Lhat ::Matrix{Float64} Lbar ::Matrix{Float64} +end + +struct Canonicalα + Qhat::Matrix{Int} + Qbar::Matrix{Int} + Lhat ::Matrix{Float64} + Lbar ::Matrix{Float64} α::Matrix{Rational} αrowmask::Vector{Bool} αcolmask::Vector{Bool} From ee972ebea7f6d4ef3f0e4e9ef4b33d6f8eb68543 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 9 Mar 2023 20:54:36 +0100 Subject: [PATCH 040/245] added missing h11 geometry generator script --- scripts/top_geom_missing_h11.jl | 188 ++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 scripts/top_geom_missing_h11.jl diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl new file mode 100644 index 0000000..e5257ea --- /dev/null +++ b/scripts/top_geom_missing_h11.jl @@ -0,0 +1,188 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +# using MPIClusterManagers +# import MPI +# # MPI.initialize() +# manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# # addprocs(manager) +# np = workers() +# println(np) +# if np!=0 +# else +# error("no workers!") +# exit() +# end + +try + np = parse(Int32,ENV["SLURM_NPROCS"]) + addprocs(np, exeflags="--project=$(Base.active_project())") +catch e + error("no workers!") + exit() +end +split = nothing +if haskey(ENV, "SLURM_ARRAY_TASK_ID") + split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) +end +# @everywhere newARGS = string("vacua_new") + +@everywhere using CYAxiverse +@everywhere using Random + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +@everywhere function main_top(h11,n,l) + try + test = CYAxiverse.cytools_wrapper.cy_from_poly(h11); + return test + catch + try + test = CYAxiverse.cytools_wrapper.topologies(h11,n); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) + end + return [0,0,0,0] + finally + open(l, "a") do outf + write(outf,string("top-(",h11,")\n")) + end + end + end + +end +@everywhere function main_top_fair(h11,n,l) + try + test = CYAxiverse.cytools_wrapper.cy_from_poly(h11); + return test + catch + try + test = CYAxiverse.cytools_wrapper.topologies(h11,n; fast=false); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) + end + return [0,0,0,0] + finally + open(l, "a") do outf + write(outf,string("top-(",h11,")\n")) + end + end + end + +end + +@everywhere function main_geom(h11,cy,tri,cy_i,l) + try + test = CYAxiverse.cytools_wrapper.geometries(h11,cy,tri,cy_i); + return test + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy_i,")\n")) + end + return [0,0,0] + finally + open(l, "a") do outf + write(outf,string("geom-(",h11,",",tri,",",cy_i,")\n")) + end + end + +end + + + + +############################## +#### Initialise functions #### +############################## +@time temp_top = main_top(split,10,lfile) +# temp_top = hcat(temp_top...) +# println(size(temp_top)) +# println(temp_top) + +@time temp_geom = pmap(main_geom,temp_top[1,:],temp_top[2,:],temp_top[3,:],temp_top[4,:], [lfile for _=1:size(temp_top,2)]) +temp_geom = hcat(temp_geom...) +# println(size(temp_geom)) +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(temp_geom), "test runs have finished.\n")) +### Clear memory ###### +temp_top = nothing +temp_geom = nothing +GC.gc() +############################## +#### Find incomplete h11s #### +############################## + +h11_list = CYAxiverse.filestructure.np_path_generate(; geometric_data= true)[2] + +h11_full = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +h11 = [] +for poly in h11_full + if poly ∈ h11_list + else + push!(h11, poly) + end +end + +############################## +############ Main ############ +############################## +np = nworkers() +max_split = 0 +if haskey(ENV, "MAX_JOB") + max_split = parse(Int32, ENV["MAX_JOB"]) +end + +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) + log_files_top = [] + n = [] + if split === nothing + log_files_top = [lfile for _ in h11] + n = [ngeometries for _ in h11] + else + if split == max_split + h11 = [462, 491] + n = [ngeometries for _ in h11] + log_files_top = [lfile for _ in h11] + + else + Random.seed!(9876543210) + h11 = shuffle(h11) + tasks = length(h11) ÷ max_split + h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) + n = [ngeometries for _ in h11] + log_files_top = [lfile for _ in h11] + end + end + (h11 = h11, log_files = log_files_top, ngeometries = n) +end + +run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split) + +h11 = run_vars.h11 +n = run_vars.ngeometries +log_files_top = run_vars.log_files + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11), "topologies to run.\n")) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("These are ", h11, "\n")) +@time begin + h11cylist = pmap(main_top,h11,n,log_files_top) +end + +h11cylist = hcat(h11cylist...)[:, hcat(h11cylist...)[1,:] .!= 0] +# h11cylist = h11cylist[:, shuffle(1:end)] + +GC.gc() + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11cylist), "geometries to run.\n")) + +ntasks_cy = size(h11cylist,2) +log_files_geom = [lfile for _=1:ntasks_cy] +@time begin + h11list = pmap(main_geom, h11cylist[1,:],h11cylist[2,:], h11cylist[3,:],h11cylist[4,:],log_files_geom) +end \ No newline at end of file From 18cc7f130de87b3f7347b059e266884dd758d451 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 10 Mar 2023 16:36:35 +0100 Subject: [PATCH 041/245] added function to generate h11list_missing --- scripts/top_geom_missing_h11.jl | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl index e5257ea..0f04134 100644 --- a/scripts/top_geom_missing_h11.jl +++ b/scripts/top_geom_missing_h11.jl @@ -117,15 +117,28 @@ GC.gc() ############################## #### Find incomplete h11s #### ############################## - -h11_list = CYAxiverse.filestructure.np_path_generate(; geometric_data= true)[2] - +function h11_list(h11 ;geometric_data = true) + try + h11list = CYAxiverse.filestructure.np_path_generate(h11; geometric_data= geometric_data)[2] + if size(h11list, 1) !=0 + return h11list + else + return [h11, 0, 0] + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"\n (",h11,")")) + end + return [h11, 0, 0] + end +end h11_full = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 377, 386, 387, 399, 404, 416, 433, 462, 491]) + h11 = [] for poly in h11_full - if poly ∈ h11_list - else - push!(h11, poly) + temp_h11 = h11_list(h11) + if temp_h11[2] == 0 + push!(h11, poly) end end From a9b83a5efbecd060e82726bf5a4e551a82052363 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:48:56 +0200 Subject: [PATCH 042/245] added `id_minimize` function (currently not functioning correctly) --- src/minimizer.jl | 71 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 61 insertions(+), 10 deletions(-) diff --git a/src/minimizer.jl b/src/minimizer.jl index 627512d..e20ae46 100644 --- a/src/minimizer.jl +++ b/src/minimizer.jl @@ -7,11 +7,11 @@ module minimizer using HDF5 using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization +using ArbNumerics, Tullio, LoopVectorization, NormalForms using GenericLinearAlgebra using Distributions using Random -using Optim, LineSearches, Dates, HDF5 +using Optim, LineSearches, Dates, HDF5, NLsolve using ..filestructure: cyax_file, minfile, present_dir using ..read: potential @@ -395,18 +395,69 @@ function minimize(LV::Vector, QV, x0::Vector) Vmin = Optim.minimum(res) xmin = Optim.minimizer(res) # GC.gc() - if log10(abs(minimum(eigen(hess(xmin)).values))) > log10(eps()) && maximum(log10.(abs.(grad(xmin)))) < log10(eps() / threshold) + # if abs(minimum(eigen(hess(xmin)).values)) < eps() && maximum(abs.(grad(xmin))) < eps() / threshold + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + grad_log = log10.(abs.(grad(xmin))) + Vmin_sign = Int(sign(Vmin)) + Vmin_log = Float64(log10(abs(Vmin))) + xmin = @.ifelse(abs(xmin) < eps() / threshold, zero(xmin), xmin) + xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < eps() / threshold || mod(xmin / 2π, 1) < eps() / threshold, zero(xmin), mod(xmin / 2π, 1)) + keys = ["±V", "logV","xmin", "Heigs", "Hsign", "gradlog"] + vals = [Vmin_sign, Vmin_log, xmin, hess_eigs, hess_sign, grad_log] + return Dict(zip(keys,vals)) + # GC.gc() + # end +end + +""" + id_minimize(LV::Vector,QV::Matrix,x0::Vector) + +This function takes the instanton charge matrix and their corresponding scales and finds the corresponding minima using the `id_basis` method. + !!! warning + Currently cannot locate local minima -- eigs(hess).values returned as negative in `nlsolve`... + +""" +function id_minimize(LV::Vector, QV; ftol = eps(), iterations = 1_000) + if @isdefined h11 + else + h11 = size(QV, 1) + end + @assert size(QV, 2) == size(LV, 1) + threshold = 1e-2 + + function grad(x::Vector) + grad_temp = LV' .* (QV .* sin.(x' * QV)) + sum(grad_temp, dims = 2) + end + function hess(x::Vector) + hessian = zeros(size(x,1), size(x,1)) + for i in axes(QV, 1), j in axes(QV, 1) + if i>=j + hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + end + if maximum(denominator.(QV)) == 1 + else + QV = NormalForms.snf(Matrix{Rational}((maximum(denominator.(QV)) .* QV)')).S' + end + x0 = rand(Uniform(0,2π),size(QV,1)) .* rand(size(QV,1)) + res = nlsolve(grad, hess, x0; ftol = ftol, iterations = iterations) + xmin = res.zero + # res, eigen(hess(xmin)).values + if res.f_converged || res.x_converged + # if sign(minimum(eigen(hess(xmin)).values)) > eps() && minimum(abs.(grad(xmin))) ≤ ftol hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) hess_sign = sign((minimum(eigen(hess(xmin)).values))) grad_log = log10.(abs.(grad(xmin))) - Vmin_sign = Int(sign(Vmin)) - Vmin_log = Float64(log10(abs(Vmin))) - xmin = @.ifelse(abs(xmin) < eps() / threshold, zero(xmin), xmin) - xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < eps() / threshold || mod(xmin / 2π, 1) < eps() / threshold, zero(xmin), mod(xmin / 2π, 1)) - keys = ["±V", "logV","xmin", "Heigs", "Hsign", "gradlog"] - vals = [Vmin_sign, Vmin_log, xmin, hess_eigs, hess_sign, grad_log] + xmin = @.ifelse(abs(xmin) < ftol, zero(xmin), xmin) + # xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < ftol || mod(xmin / 2π, 1) < ftol, zero(xmin), mod(xmin / 2π, 1)) ### this line removes some vacua!! (for rationals) + keys = ["xinit", "xmin", "Heigs", "Hsign", "gradlog"] + vals = [x0, xmin, hess_eigs, hess_sign, grad_log] return Dict(zip(keys,vals)) - # GC.gc() + # end end end From 4ed9a5c0f9105991cf0049bf3c71f18882860602 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:49:55 +0200 Subject: [PATCH 043/245] fixed typos, increased number of polytopes fetched --- add_functions/cytools_wrapper.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 2e832e1..25e7fd0 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -75,7 +75,7 @@ function topologies_generate_fast(h11,n) tri_test = [] tri_test_m = [] #Generate list of $n polytopes at $h11 - poly_test = fetch_polytopes(h11,4*n, lattice="N", as_list=true, favorable=true) + poly_test = fetch_polytopes(h11,8*n, lattice="N", as_list=true, favorable=true) #Locator for points of polytope for saving points = [p.points() for p in poly_test] #If number of polytopes < $n, generate more triangulations per polytope, @@ -141,9 +141,9 @@ function topologies_generate_fair(h11,n) # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] tri_test = vcat(tri_test_m...) else - tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; - tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; - tri_test_m = vcat(tri_test_m1, tri_test_m) + tri_test_m = [poly_test[i].random_triangulations_fair(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; + tri_test_m1 = [poly_test[i].random_triangulations_fair(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; + # tri_test_m = vcat(tri_test_m1, tri_test_m) # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] # cy_num1 = [size(tri_test_m1[i],1) for i=1:size(tri_test_m1,1)] # cy_num = vcat(cy_num1,cy_num) From 305fd15fbf79474fd9216982cb6960f2e5a89381 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:50:34 +0200 Subject: [PATCH 044/245] fixed split to output N triangulations --- scripts/top_geom.jl | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 88c295d..0b31d55 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -100,7 +100,11 @@ end ############################## #### Initialise functions #### ############################## -@time temp_top = main_top(split,10,lfile) +if split == nothing + @time temp_top = main_top_fair(Random.rand(4:10),10,lfile) +else + @time temp_top = main_top(max(Random.rand(4:10),split),10,lfile) +end # temp_top = hcat(temp_top...) # println(size(temp_top)) # println(temp_top) @@ -120,14 +124,19 @@ GC.gc() ############################## h11_init = 4 np = nworkers() -h11_end = 450 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! +h11_end = 96 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! h11 = collect(h11_init:h11_init+h11_end) max_split = 0 +n_split = 1 if haskey(ENV, "MAX_JOB") max_split = parse(Int32, ENV["MAX_JOB"]) end +if haskey(ENV, "SLURM_ARRAY_TASK_COUNT") + n_split = parse(Int32, ENV["SLURM_ARRAY_TASK_COUNT"]) +end + -function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0, n_split = 1) log_files_top = [] n = [] if split === nothing @@ -142,7 +151,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl else Random.seed!(9876543210) h11 = shuffle(h11) - tasks = length(h11) ÷ max_split + tasks = length(h11) ÷ n_split h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) n = [ngeometries for _ in h11] log_files_top = [lfile for _ in h11] @@ -151,7 +160,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl (h11 = h11, log_files = log_files_top, ngeometries = n) end -run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split) +run_vars = h11list_generate(h11, lfile; ngeometries=100, split=split, max_split = max_split, n_split = n_split) h11 = run_vars.h11 n = run_vars.ngeometries @@ -160,7 +169,7 @@ log_files_top = run_vars.log_files CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11), "topologies to run.\n")) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("These are ", h11, "\n")) @time begin - h11cylist = pmap(main_top,h11,n,log_files_top) + h11cylist = pmap(main_top_fair,h11,n,log_files_top) end h11cylist = hcat(h11cylist...)[:, hcat(h11cylist...)[1,:] .!= 0] From 7d76224fd289e70dcd76dbd2de17eed807551afe Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:51:16 +0200 Subject: [PATCH 045/245] fixed split to output N triangulations --- scripts/top_geom_missing_h11.jl | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl index 0f04134..5d6790e 100644 --- a/scripts/top_geom_missing_h11.jl +++ b/scripts/top_geom_missing_h11.jl @@ -100,7 +100,11 @@ end ############################## #### Initialise functions #### ############################## -@time temp_top = main_top(split,10,lfile) +if split == nothing + @time temp_top = main_top(Random.rand(4:10),10,lfile) +else + @time temp_top = main_top(max(Random.rand(4:10),split),10,lfile) +end # temp_top = hcat(temp_top...) # println(size(temp_top)) # println(temp_top) @@ -133,25 +137,33 @@ function h11_list(h11 ;geometric_data = true) end end h11_full = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 377, 386, 387, 399, 404, 416, 433, 462, 491]) - -h11 = [] -for poly in h11_full - temp_h11 = h11_list(h11) - if temp_h11[2] == 0 - push!(h11, poly) +function h11_missing(h11list::Vector) + h11 = [] + for poly in h11_full + temp_h11 = h11_list(h11) + if temp_h11[2] == 0 + push!(h11, poly) + end end + h11 end +h11 = [223, 226, 228, 235, 249, 250, 252, 253, 254, 255, 256, 257, 258] ############################## ############ Main ############ ############################## np = nworkers() max_split = 0 +n_split = 1 if haskey(ENV, "MAX_JOB") max_split = parse(Int32, ENV["MAX_JOB"]) end +if haskey(ENV, "SLURM_ARRAY_TASK_COUNT") + n_split = parse(Int32, ENV["SLURM_ARRAY_TASK_COUNT"]) +end + -function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0) +function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, split = nothing, max_split = 0, n_split = 1) log_files_top = [] n = [] if split === nothing @@ -166,7 +178,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl else Random.seed!(9876543210) h11 = shuffle(h11) - tasks = length(h11) ÷ max_split + tasks = length(h11) ÷ n_split h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) n = [ngeometries for _ in h11] log_files_top = [lfile for _ in h11] @@ -175,7 +187,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl (h11 = h11, log_files = log_files_top, ngeometries = n) end -run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split) +run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split, n_split = n_split) h11 = run_vars.h11 n = run_vars.ngeometries From 08679e45d9cf6f1664ea0a340e48fbd90e3baa69 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:51:38 +0200 Subject: [PATCH 046/245] added nlsolve and normalforms packages --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 71c38d8..1c08e87 100644 --- a/Project.toml +++ b/Project.toml @@ -27,7 +27,9 @@ LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" MPIClusterManagers = "e7922434-ae4b-11e9-05c5-9780451d2c66" MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" +NormalForms = "109d20d8-9763-411c-9b60-7eb2a068657f" Optim = "429524aa-4258-5aef-a3af-852621145aeb" Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" From 092965eecc68a9b88991bf584e9d4d00dbb1f100 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:51:55 +0200 Subject: [PATCH 047/245] minor fixes --- src/generate.jl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index ff463b0..5dd50a8 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -7,7 +7,7 @@ module generate using HDF5 using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays +using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays, NormalForms using GenericLinearAlgebra using Distributions using TimerOutputs @@ -163,6 +163,10 @@ function pseudo_L(h11::Int,tri::Int,cy::Int=1;log::Bool=true) end end +function potential(L::Matrix{Float64}, Q::Matrix, x) + Λ = L[:, 1] .* 10. .^ L[:, 2] + sum(Λ' * (1. .- cos.(Q' * x))) +end ############################## #### Computing Spectra ####### ############################## @@ -724,6 +728,7 @@ end TBW """ +Λ function LQtilde(Q, L) @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." if @isdefined h11 @@ -788,7 +793,7 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) Qinv = (inv(Qhat)) - Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), round(Qinv; digits=4))) + Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), Rational(Qinv))) # Qhat::Matrix{Int} = deepcopy(Qtilde) # Lhat = deepcopy(Ltilde) αeff::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) @@ -816,9 +821,10 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) αeff = hcat(αeff,@view(α[i,:])) end end - αeff = hcat(1//1 * I(h11), αeff[:, 2:end]) - if size(αeff,2) > h11 - αrowmask = [sum(i .== zero(i[1])) < size(αeff,2)-1 for i in eachrow(αeff)] + αeff_temp = hcat(1//1 * I(h11), αeff[:, 2:end]) + if size(αeff_temp,2) > h11 + αeff = αeff[:, 2:end] + αrowmask = [sum(row .== zero(row[1])) < size(αeff,2) for row in eachrow(αeff)] αcolmask = [any(col .!= zero(col[1])) for col in eachcol(αeff[αrowmask,:])] Canonicalα(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) else From 96d24235bc858817a249e9e3bd7f91ec17f16f64 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:52:21 +0200 Subject: [PATCH 048/245] added functions for JOB_ARRAYs --- src/slurm.jl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/slurm.jl b/src/slurm.jl index e189c0c..f5ba8f3 100644 --- a/src/slurm.jl +++ b/src/slurm.jl @@ -6,6 +6,20 @@ function writeslurm(id::Int,s::String) write(outf,s) end end -jobid = parse(Int64, ENV["SLURM_JOB_ID"]) + +function writeslurm(id::String,s::String) + slurmlog = joinpath("/usr","users","mehta2","slurmlog",string("slurm-",id,".out")) + open(slurmlog, "a") do outf + write(outf,s) + end +end + +if haskey(ENV, "SLURM_ARRAY_TASK_ID") + jobid = parse(Int64, ENV["SLURM_JOB_ID"]) + task_id = parse(Int64, ENV["SLURM_ARRAY_TASK_ID"]) + jobid = string(jobid, "_", task_id) +else + jobid = parse(Int64, ENV["SLURM_JOB_ID"]) +end end \ No newline at end of file From 2c654d93467100aeaaba2fbc0d26f8957def2c45 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 18:52:36 +0200 Subject: [PATCH 049/245] added struct for effective potential --- src/structs.jl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index f8568ca..a5cb494 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -75,6 +75,10 @@ struct Canonicalα αcolmask::Vector{Bool} end +struct ReducedPotential + αeff::Matrix{Rational} + Lreduced::Matrix{Float64} +end ####################### # ParentTrackIterator # ####################### From a03ebf306812d872b0c6a98f2fe2f9b9a443073a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Mon, 3 Apr 2023 19:15:19 +0200 Subject: [PATCH 050/245] Changed `potential` to `V` --- src/generate.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index 5dd50a8..9209a61 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -163,7 +163,8 @@ function pseudo_L(h11::Int,tri::Int,cy::Int=1;log::Bool=true) end end -function potential(L::Matrix{Float64}, Q::Matrix, x) +function V(L::Matrix{Float64}, Q::Matrix, x) + @assert size(L, 2) == 2 Λ = L[:, 1] .* 10. .^ L[:, 2] sum(Λ' * (1. .- cos.(Q' * x))) end From 5ef544c768bb27d96004a89f3210660c6d925080 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 4 May 2023 15:37:30 +0200 Subject: [PATCH 051/245] Added ode solver and interval root finder --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 1c08e87..3ac1ba0 100644 --- a/Project.toml +++ b/Project.toml @@ -11,6 +11,7 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ClusterManagers = "34f1f09b-3a8b-5176-ab39-66d58a4d544e" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" +DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" @@ -19,6 +20,7 @@ DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GenericLinearAlgebra = "14197337-ba66-59df-a3e3-ca00e7dcff7a" HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" LeftChildRightSiblingTrees = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" From 491cfbcdc53d0ddaea92d9d5f95e8cc23d7e424a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 4 May 2023 15:37:54 +0200 Subject: [PATCH 052/245] fixed h11list to include all h11s available in KS --- scripts/top_geom_missing_h11.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl index 5d6790e..43684fb 100644 --- a/scripts/top_geom_missing_h11.jl +++ b/scripts/top_geom_missing_h11.jl @@ -136,7 +136,7 @@ function h11_list(h11 ;geometric_data = true) return [h11, 0, 0] end end -h11_full = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +h11_full = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) function h11_missing(h11list::Vector) h11 = [] for poly in h11_full From ee41a096ff5020839babf53781785f015a32103a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 4 May 2023 15:38:19 +0200 Subject: [PATCH 053/245] fixed '===' for 'nothing' --- scripts/top_geom.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 0b31d55..5b1682f 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -100,7 +100,7 @@ end ############################## #### Initialise functions #### ############################## -if split == nothing +if split === nothing @time temp_top = main_top_fair(Random.rand(4:10),10,lfile) else @time temp_top = main_top(max(Random.rand(4:10),split),10,lfile) @@ -118,7 +118,7 @@ CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(temp_geom), "test temp_top = nothing temp_geom = nothing GC.gc() - +# all_h11 = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) ############################## ############ Main ############ ############################## From 23d07caf15d0c351fce5116d843c0b1bf0ea0e43 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 4 May 2023 15:39:33 +0200 Subject: [PATCH 054/245] added staticarrays and interval packages added functions: - V - jacobian - hessian for interval root finder --- src/generate.jl | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 9209a61..9e46e9e 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -7,7 +7,7 @@ module generate using HDF5 using LinearAlgebra -using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays, NormalForms +using ArbNumerics, Tullio, LoopVectorization, Nemo, SparseArrays, NormalForms, IntervalArithmetic, StaticArrays using GenericLinearAlgebra using Distributions using TimerOutputs @@ -163,11 +163,44 @@ function pseudo_L(h11::Int,tri::Int,cy::Int=1;log::Bool=true) end end -function V(L::Matrix{Float64}, Q::Matrix, x) +function V(x, L::Matrix{Float64}, Q::Matrix) @assert size(L, 2) == 2 Λ = L[:, 1] .* 10. .^ L[:, 2] sum(Λ' * (1. .- cos.(Q' * x))) end +function jacobian(x, L::Matrix{Float64}, Q::Matrix) + Λ = L[:, 1] .* 10. .^ L[:, 2] + if size(Q, 1) == 1 + grad_temp = Λ' .* (Q .* sin.(x' * Q)) + grad = sum(grad_temp, dims = 2) + else + grad_temp = Λ' .* (Q .* sin.(sum(x .* Q, dims=1))) + grad = sum(grad_temp, dims = 2) + SVector{size(grad, 1)}(grad) + end +end + +function hessian(x, L::Matrix{Float64}, Q::Matrix) + Λ = L[:, 1] .* 10. .^ L[:, 2] + hessian = zeros(Interval, size(Q, 1), size(Q, 1)) + if size(Q, 1) == 1 + for i in axes(Q, 1), j in axes(Q, 1) + if i>=j + hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(x' * Q))) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + else + for i in axes(Q, 1), j in axes(Q, 1) + if i>=j + hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(sum(x .* Q, dims=1)))) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + SMatrix{size(hessian, 1), size(hessian,2)}(hessian) + end +end + ############################## #### Computing Spectra ####### ############################## From 316b334f0bbe2782686df86f517772a849c9e65f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 4 May 2023 15:40:20 +0200 Subject: [PATCH 055/245] fixed id_minimize but still WIP --- src/minimizer.jl | 76 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/src/minimizer.jl b/src/minimizer.jl index e20ae46..ee389fc 100644 --- a/src/minimizer.jl +++ b/src/minimizer.jl @@ -409,22 +409,17 @@ function minimize(LV::Vector, QV, x0::Vector) # GC.gc() # end end - """ - id_minimize(LV::Vector,QV::Matrix,x0::Vector) + id_minimize(LV::Vector, QV::Matrix; ftol = eps(), iterations = 1_000) This function takes the instanton charge matrix and their corresponding scales and finds the corresponding minima using the `id_basis` method. !!! warning Currently cannot locate local minima -- eigs(hess).values returned as negative in `nlsolve`... """ -function id_minimize(LV::Vector, QV; ftol = eps(), iterations = 1_000) - if @isdefined h11 - else - h11 = size(QV, 1) - end +function id_minimize(LV::Vector, QV::Matrix; ftol = eps(), iterations = 1_000) @assert size(QV, 2) == size(LV, 1) - threshold = 1e-2 + function grad(x::Vector) grad_temp = LV' .* (QV .* sin.(x' * QV)) @@ -448,7 +443,52 @@ function id_minimize(LV::Vector, QV; ftol = eps(), iterations = 1_000) xmin = res.zero # res, eigen(hess(xmin)).values if res.f_converged || res.x_converged - # if sign(minimum(eigen(hess(xmin)).values)) > eps() && minimum(abs.(grad(xmin))) ≤ ftol + if (sign(minimum(eigen(hess(xmin)).values)) ≥ 0. || abs(minimum(eigen(hess(xmin)).values)) ≤ 1e-10) && minimum(abs.(grad(xmin))) ≤ ftol + hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) + hess_sign = sign((minimum(eigen(hess(xmin)).values))) + grad_log = log10.(abs.(grad(xmin))) + xmin = @.ifelse(abs(xmin) < ftol, zero(xmin), xmin) + # xmin = @.ifelse(one(xmin) - mod(xmin / 2π, 1) < ftol || mod(xmin / 2π, 1) < ftol, zero(xmin), mod(xmin / 2π, 1)) ### this line removes some vacua!! (for rationals) + keys = ["xinit", "xmin", "Heigs", "Hsign", "gradlog"] + vals = [x0, xmin, hess_eigs, hess_sign, grad_log] + return Dict(zip(keys,vals)) + end + end +end + +""" + id_minimize(LV::Vector, QV::Vector; ftol = eps(), iterations = 1_000) + +This function takes the instanton charge matrix and their corresponding scales and finds the corresponding minima using the `id_basis` method. + !!! warning + Currently cannot locate local minima -- eigs(hess).values returned as negative in `nlsolve`... + +""" +function id_minimize(LV::Vector, QV::Vector; ftol = eps(), iterations = 1_000) + @assert size(QV, 2) == size(LV, 1) "The number of columns of Q should be equal to the number of rows of Λ" + function grad(x::Vector) + grad_temp = LV' .* (QV .* sin.(x' * QV)) + sum(grad_temp, dims = 2) + end + function hess(x::Vector) + hessian = zeros(size(x,1), size(x,1)) + for i in axes(QV, 1), j in axes(QV, 1) + if i>=j + hessian[i, j] = sum(LV' * (@view(QV[i, :]) .* @view(QV[j, :]) .* cos.(x' * QV))) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + end + if maximum(denominator.(QV)) == 1 + else + QV = NormalForms.snf((maximum(denominator.(QV)) .* Matrix{Rational}(QV)')).S' + end + x0 = rand(Uniform(0,2π),size(QV,1)) .* rand(size(QV,1)) + res = nlsolve(grad, hess, x0; ftol = ftol, iterations = iterations) + xmin = res.zero + # res, eigen(hess(xmin)).values + # if res.f_converged || res.x_converged + if sign(minimum(eigen(hess(xmin)).values)) ≥ 0. #&& minimum(abs.(grad(xmin))) ≤ ftol hess_eigs = Float64(log10(abs(minimum(eigen(hess(xmin)).values)))) hess_sign = sign((minimum(eigen(hess(xmin)).values))) grad_log = log10.(abs.(grad(xmin))) @@ -457,10 +497,26 @@ function id_minimize(LV::Vector, QV; ftol = eps(), iterations = 1_000) keys = ["xinit", "xmin", "Heigs", "Hsign", "gradlog"] vals = [x0, xmin, hess_eigs, hess_sign, grad_log] return Dict(zip(keys,vals)) - # end end + # end end +""" + id_minima(LV::Vector, QV; ftol = eps(), iterations = 1_000)) + +TBW +""" +function id_minima(LV::Vector, QV; ftol = eps(), iterations = 1_000) + if @isdefined h11 + else + h11 = size(QV, 1) + end + @assert size(QV, 2) == size(LV, 1) "The number of rows of Λ should be equal to the number of columns of Q -- perhaps you need to transpose?" + if maximum(denominator.(QV)) == 1 && size(QV, 1) == 1 + + end + +end function subspace_minimize(L, Q; runs=10_000, phase::Matrix=zeros(max(collect(size(Q))...),1)) xmin = [] Random.seed!(9876543210) From f39d3e2132be8142acdff9c7bd775f5e483ba2f8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 11 May 2023 23:11:14 +0200 Subject: [PATCH 056/245] fixed sign of charge matrix --- add_functions/cytools_wrapper.jl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 25e7fd0..19ecf26 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -19,10 +19,15 @@ module cytools_wrapper using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate using ..read: topology +using Pkg +ENV["PYTHON"] = "/home/cytools/cytools-venv//bin/python" +Pkg.build("PyCall") + using PyCall using HDF5 using LinearAlgebra + """ __init__() Here we initialise the CYTools functions @@ -332,7 +337,7 @@ function geometries_generate(h11,cy,tri,cy_i=1) q[1:h11+4,:] = qprime for i=1:size(qprime,1)-1 for j=i+1:size(qprime,1) - q[h11+4+n,:] = qprime[i,:]-qprime[j,:] + q[h11+4+n,:] = qprime[j,:]-qprime[i,:] L2[n,:] = [(pi*dot(qprime[i,:],(Kinv * qprime[j,:])) + dot((qprime[i,:]+qprime[j,:]),tau))*8*pi/V^2 -2*log10(exp(1))*pi*(dot(qprime[i,:],tau)+ dot(qprime[j,:],tau))] From bbef736c67836ea57fe1f7b51a81880c2b6a5164 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:00:26 +0200 Subject: [PATCH 057/245] jlm minimize functions added \alpha matrix computation fixed hp_spectrum output corrected --- src/generate.jl | 215 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 189 insertions(+), 26 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 9e46e9e..e2b4975 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -12,10 +12,11 @@ using GenericLinearAlgebra using Distributions using TimerOutputs -using ..filestructure: cyax_file, minfile, present_dir, geom_dir -using ..read: potential +using ..filestructure: cyax_file, minfile, present_dir, geom_dir_read, paths_cy +using ..read: potential, vacua_jlm using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα +using ..jlm_python: one_dim_axion_solver, multi_axion_solver +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND ################# ### Constant #### @@ -201,6 +202,25 @@ function hessian(x, L::Matrix{Float64}, Q::Matrix) end end +function hessian_norm(x, Q::Matrix) + hessian = zeros(Interval, size(Q, 1), size(Q, 1)) + if size(Q, 1) == 1 + for i in axes(Q, 1), j in axes(Q, 1) + if i>=j + hessian[i, j] = sum(@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(x' * Q)) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + else + for i in axes(Q, 1), j in axes(Q, 1) + if i>=j + hessian[i, j] = sum(@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(sum(x .* Q, dims=1))) + end + end + hessian = hessian + hessian' - Diagonal(hessian) + SMatrix{size(hessian, 1), size(hessian,2)}(hessian) + end +end ############################## #### Computing Spectra ####### ############################## @@ -462,8 +482,8 @@ function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, vals = Hsign, Hvals .+ Float64(log10(constants()["MPlanck"])) .+9 .+ Float64(constants()["log2π"]), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"]), fpert .- Float64(constants()["log2π"]), quartdiagsign, quartdiaglog .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq31...) .-1), quart31sign, - quart31log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), quart22sign, - quart22log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq22...) .-1) + quart31log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]), Array(hcat(qindq22...) .-1), quart22sign, + quart22log .*log10(exp(1)) .+ 4*Float64(constants()["log2π"]) keys = ["msign","m", "fK", "fpert","λselfsign", "λself","λ31_i","λ31sign","λ31", "λ22_i","λ22sign","λ22"] return Dict(zip(keys,vals)) @@ -706,7 +726,13 @@ function Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) mat = Int[x[i,j] for i = 1:m, j = 1:n] return mat end -Base.convert(::Type{Matrix}, x::Nemo.fmpz_mat) = convert(Matrix{Int}, x) +function Base.convert(::Type{Matrix{BigInt}}, x::Nemo.fmpz_mat) + m,n = size(x) + mat = BigInt[x[i,j] for i = 1:m, j = 1:n] + return mat +end +# Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) = convert(Matrix{Int}, x) +# Base.convert(::Type{Matrix{BigInt}}, x::Nemo.fmpz_mat) = convert(Matrix{BigInt}, x) """ @@ -737,8 +763,8 @@ function vacua(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) h11::Int = size(Q,2) if h11 <= 50 snf_data = vacua_SNF(Q) - Tparallel::Matrix{Int} = snf_data["T∥"] - θparalleltest::Matrix{Float64} = snf_data["θ∥"] + Tparallel::Matrix{Int} = snf_data.Tparallel + θparalleltest::Matrix{Float64} = snf_data.θparallel end data = LQtildebar(L,Q; threshold=threshold) Qtilde = data["Qtilde"] @@ -826,12 +852,14 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Ldiff_limit::Float64 = log10(threshold) Qbar = @view(Qbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) Lbar = @view(Lbar[:, @view(Lbar[2,:]) .>= (Ltilde_min + Ldiff_limit)]) - Qinv = (inv(Qhat)) - Qinv = @.(ifelse(abs(Qinv) < 1e-10, zero(Qinv), Rational(Qinv))) - # Qhat::Matrix{Int} = deepcopy(Qtilde) - # Lhat = deepcopy(Ltilde) + Qinv = inv(Qhat) + Qinv = @.(ifelse(abs(Qinv) < 1e-4, zero(Rational), Rational(Qinv))) αeff::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) + αfull::Matrix{Rational} = zeros(size(@view(Qhat[:, 1]),1),1) α::Matrix{Rational} = (Qinv * Qbar)' ##Is this the same as JLM's? YES + α = @.(ifelse(abs(α) < 1e-4, zero(Rational), Rational(α))) + α = @.ifelse(mod(α, 1) < 1e-3, round(α), α) + α1::Matrix{Rational} = deepcopy(α) for i in axes(α,1) for j in axes(α,2) if abs(α[i,j]) > 1e-3 @@ -843,9 +871,11 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) if abs(1 - abs(α[i,j])) > 1e-3 else α[i,j] = sign(α[i,j]) * one(α[i,j]) + α1[i,j] = sign(α1[i,j]) * one(α1[i,j]) end else α[i,j] = zero(Rational) + α1[i,j] = zero(Rational) end end if α[i,:] == zeros(size(α,2)) @@ -853,14 +883,23 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Qhat = hcat(Qhat, @view(Qbar[:,i])) Lhat = hcat(Lhat, @view(Lbar[:,i])) αeff = hcat(αeff,@view(α[i,:])) + αfull = hcat(αfull,@view(α1[i,:])) end end αeff_temp = hcat(1//1 * I(h11), αeff[:, 2:end]) if size(αeff_temp,2) > h11 αeff = αeff[:, 2:end] - αrowmask = [sum(row .== zero(row[1])) < size(αeff,2) for row in eachrow(αeff)] - αcolmask = [any(col .!= zero(col[1])) for col in eachcol(αeff[αrowmask,:])] - Canonicalα(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) + αfull = αfull[:, 2:end] + αrowmask = [(L - Lhat[2, h11+1]) < -Ldiff_limit for L in Lhat[2, 1:h11]] + #################################################### + ### These lines break things ####################### + #### Don't know why ################################ + # αrowmask1 = [sum(row .== zero(row[1])) < size(αeff,2) for row in eachrow(αeff)] + # αrowmask = αrowmask .+ αrowmask1 + # αrowmask = @.Bool(ifelse(αrowmask > 1, 1, 0)) + #################################################### + αcolmask = [sum(col .== zero(col[1])) < size(αeff[αrowmask,:],1) for col in eachcol(αeff[αrowmask,:])] + Canonicalα(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar), Matrix{Rational}(αeff), Matrix{Rational}(αfull), Vector{Bool}(αrowmask), Vector{Bool}(αcolmask)) else CanonicalQBasis(Matrix{Int}(Qhat), Matrix{Int}(Qbar), Matrix{Float64}(Lhat), Matrix{Float64}(Lbar)) end @@ -1160,18 +1199,25 @@ function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Ve end -function vacua_SNF(Q::Matrix{Int}) +function vacua_SNF(Q::Matrix{Integer}) h11::Int = size(Q,2) ###### Nemo SNF ##### Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] - Tparallel1::Nemo.fmpz_mat = inv(T)[:,1:h11] - Tparallel::Matrix{Int} = convert(Matrix{Int},Tparallel1) - - θparalleltest::Matrix{Float64} = inv(transpose(Float64.(Q)) * Float64.(Q)) * transpose(Float64.(Q)) * Float64.(Tparallel) - keys = ["T∥", "θ∥"] - vals = [Tparallel,θparalleltest] - return Dict(zip(keys,vals)) + Tparallel1::Nemo.fmpz_mat = inv(T)[:, 1:h11] + Tparallel::Matrix{Rational} = zeros(1,1) + if maximum(abs.(Tparallel1)) < 2^60 + Tparallel = convert(Matrix{Int},Tparallel1) + θparalleltest = Matrix{Rational}(inv(transpose(Rational.(Q)) * Rational.(Q)) * transpose(Rational.(Q)) * Tparallel) + θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) + else + Tparallel = convert(Matrix{BigInt},Tparallel1) + θparalleltest = Matrix{Rational{BigInt}}(inv(transpose(Rational.(Q)) * Rational.(Q)) * transpose(Rational.(Q)) * Tparallel) + θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(BigInt, θparalleltest), Rational{BigInt}(θparalleltest))) + end + # keys = ["T∥", "θ∥"] + # vals = [Tparallel,θparalleltest] + return RationalQSNF(Tparallel,θparalleltest) end """ vacua_TB(L,Q) @@ -1198,8 +1244,8 @@ function vacua_TB(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) h11::Int = size(Q,2) if h11 <= 50 snf_data = vacua_SNF(Q) - Tparallel::Matrix{Int} = snf_data["T∥"] - θparalleltest::Matrix{Float64} = snf_data["θ∥"] + Tparallel::Matrix{Int} = snf_data.Tparallel + θparalleltest::Matrix{Float64} = snf_data.θparallel end data = LQtildebar(L,Q; threshold=threshold) Qtilde = data["Qtilde"] @@ -1851,7 +1897,7 @@ end function vacua_estimate_save(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) vac_data = vacua_estimate(h11, tri, cy; threshold=threshold) - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f + h5open(joinpath(geom_dir_read(h11,tri,cy),"qshape.h5"), "cw") do f f["square", deflate=9] = vac_data.issquare f["vacua_estimate", deflate=9] = vac_data.vac if vac_data.issquare == 0 @@ -1892,7 +1938,124 @@ function vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0 for col in eachcol(Ωhat) end end +end +""" + phase(h11, α::Canonicalα) + +TBW +""" +function phase(h11, α::Canonicalα) + phase_vector = [] + for (i, item) in enumerate(α.Lhat[1, 1:h11]) + if α.:αrowmask[i] == false && item == -1 + push!(phase_vector, π) + else + push!(phase_vector, 0) + end + end + phase_vector::Vector = vec([phase_vector' * α.:α_complete]...) end + +""" + jlm_minimize(geom_idx::GeometryIndex) + +If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. +""" +function jlm_minimize(geom_idx::GeometryIndex) + αtest = αmatrix(geom_idx; threshold=0.01) + if typeof(αtest)<:Canonicalα + Qtilde = LQtilde(geom_idx).Qtilde + det_Q_tilde = abs(round(det(Qtilde))) + n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) + Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' + Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' + for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) + if sum(abs.(row) .== 0) == (size(row, 1) - 1) + Q_reduced_temp[n_axions+i, :] .= 0 + end + end + Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] + Q_reduced_temp = Q_reduced_temp[Qrowmask, :] + if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) + return det_Q_tilde + else + phase_vector = phase(geom_idx.h11, αtest) + L_reduced = Matrix(hcat(αtest.Lhat[:, 1:geom_idx.h11][:, αtest.αrowmask], αtest.Lhat[:, geom_idx.h11+1:end][:, αtest.αcolmask])') + # L_reduced = L_reduced[Qrowmask, :] + flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) + αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) + θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) + basis_inverse = [] + if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 + θparallel::Matrix{Rational{BigInt}} = θparallel + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) + else + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) + end + vol_basis = Rational(det(θparallel)) + if size(Q_reduced, 2) == 1 + to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return one_dim_axion_solver(to_solve1D) + # return to_solve1D + else + to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return multi_axion_solver(to_solveND) + # return to_solveND + end + end + else + return Int(abs(round(det(αtest.Qhat)))) + end +end + +function jlm_minimize_save(geom_idx::GeometryIndex) + min_data = jlm_minimize(geom_idx) + if isfile(minfile(geom_idx)) + rm(minfile(geom_idx)) + end + if typeof(min_data) <: Int + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "w") do file + file["Nvac", deflate=9] = min_data + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "w") do file + file["Nvac", deflate = 9] = min_data.N_min + file["vac_coords", deflate = 9] = min_data.min_coords + file["extra_rows", deflate = 9] = min_data.extra_rows + end + end + return +end + +function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) + vac_square = [] + vac_1D = [] + vac_ND = [] + no_vac = [] + geom_list = [] + if h11 === nothing + geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, 1:n])] + else + geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, paths_cy()[2][1, :] .== h11])] + end + for geom_idx in geom_list + # println(geom_idx) + if isfile(minfile(geom_idx)) + vac_test = vacua_jlm(geom_idx) + if typeof(vac_test) <: Number + push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test]) + elseif typeof(vac_test) == Min_JLM_1D + push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) + elseif typeof(vac_test) == Min_JLM_ND + push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) + end + else + push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst]) + end + end + return (square = vac_square, one_dim = vac_1D, n_dim = vac_ND, err = no_vac) +end + end \ No newline at end of file From 4be46416968e387c80ed99fda200fe7fa7676153 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:01:12 +0200 Subject: [PATCH 058/245] conda and pkg added to CYAxiverse --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 3ac1ba0..09c1c01 100644 --- a/Project.toml +++ b/Project.toml @@ -9,6 +9,7 @@ ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ClusterManagers = "34f1f09b-3a8b-5176-ab39-66d58a4d544e" +Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" @@ -33,6 +34,7 @@ NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" Nemo = "2edaba10-b0f1-5616-af89-8c11ac63239a" NormalForms = "109d20d8-9763-411c-9b60-7eb2a068657f" Optim = "429524aa-4258-5aef-a3af-852621145aeb" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" ProfileSVG = "132c30aa-f267-4189-9183-c8a63c7e05e6" From 033bf67f773a3ac6b0c8a0a54d7a44453b02b2ce Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:01:31 +0200 Subject: [PATCH 059/245] jlm python functions for optimization --- jlm_python/jlm_python.jl | 293 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 jlm_python/jlm_python.jl diff --git a/jlm_python/jlm_python.jl b/jlm_python/jlm_python.jl new file mode 100644 index 0000000..001c555 --- /dev/null +++ b/jlm_python/jlm_python.jl @@ -0,0 +1,293 @@ +""" + CYAxiverse.jlm_python +Here we wrap Joan's optimization code to use -- to be rewritten in `julia` when time allows +""" +module jlm_python +using PyCall +using ..structs: Solver1D, SolverND, Min_JLM_ND, Min_JLM_1D +function __init__() + py""" + import numpy as np + from numpy.linalg import matrix_rank + import random + from scipy.integrate import solve_ivp + from scipy import optimize + + ############################ + ## single axion solver###### + ############################ + def ode(t,theta,L_log,L_sign,alphas,phases): + return 1 + + def zero_V_prime(t,theta,L_log,L_sign,alphas,phases): + vec_sin = alphas*np.sin(theta*alphas.T + np.append([0],phases)).T + lambdas = L_sign * 10.**(L_log - L_log[0]) + V_prime = np.dot(lambdas,vec_sin) + return V_prime + + def potential_V(theta,lambdas,alphas,phases): + V = 0 + phase_vec = np.append([0],phases) + for i in range(len(alphas)): + V = V + lambdas[i]*(1-np.cos(theta*alphas[i] + phase_vec[i])) + return V + + def potential_V_prime(theta,lambdas,alphas,phases): + V_prime = 0 + phase_vec = np.append([0],phases) + for i in range(len(alphas)): + V_prime = V_prime + lambdas[i]*alphas[i]*(np.sin(theta*alphas[i] + phase_vec[i])) + return V_prime + + def hessian_V(theta,L_log,L_sign,alphas,phases): + V__double_prime = 0 + phase_vec = np.append([0],phases) + lambdas = L_sign * 10.**(L_log - L_log[0]) + for i in range(len(alphas)): + V__double_prime = V__double_prime + lambdas[i]*(alphas[i]**2)*(np.cos(theta*alphas[i] + phase_vec[i])) + return V__double_prime + + def one_dim_axion_solver(domain,Q,L_log,L_sign,det_QTilde,phases,Z,inv_symmetries,det_Sym): + sol_v = solve_ivp(ode, (0,domain),(0,), max_step = 0.01, events=[zero_V_prime], args =[L_log,L_sign,Q,phases]) + points_x = sol_v.t + points_y = sol_v.y + extrema_1D = sol_v.t_events[0] #all the extrema of the 1D potential + n_extrema_1D = extrema_1D.shape[0] + + #### AMONG ALL THE EXTREMA WE GET WHICH ARE MINIMA OF THE POTENTIAL #### + min_list_1D = [] + for v in range(n_extrema_1D): + if np.sign(hessian_V(extrema_1D[v],L_log,L_sign,Q,phases)) > 0: + min_list_1D = np.append(min_list_1D,v) + + + theta_min_1D = extrema_1D[min_list_1D.astype(int)] + + Thetas_total = np.around(theta_min_1D,6) + + ###### ALGORITHM TO GET UNIQUE MINIMA ###### + if Z == 1: #ALL alpha-vectors have integer entries so we mod by 2pi + Thetas_total_mod = Thetas_total % (2*np.pi) #position of minima between 0 and 2pi this helps to distinguish them! + theta_mask = np.where(np.abs(Thetas_total_mod) > 1e-04, Thetas_total_mod, 0) + theta_mask_2pi = np.where(np.abs(np.abs(theta_mask)-2*np.pi) > 1e-04, theta_mask, 0) + theta_mask_pi = np.where(np.abs(np.abs(theta_mask_2pi) - np.pi) > 1e-04, theta_mask_2pi, np.pi) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + Theta_unique_mod = np.unique(theta_mask_pi,axis=0) + Theta_round = np.where(Theta_unique_mod==np.pi , Theta_unique_mod, np.around(Theta_unique_mod, decimals=4)) #decimals=6 + Theta_unique_final = np.unique(Theta_round, axis=0) + + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs(det_QTilde * N_unique) + else: #at least one entry has a rational number + c_vector = inv_symmetries * Thetas_total / (2*np.pi) + c_vector_mod = c_vector.copy() + c_vector_mod = c_vector_mod % 1 + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_mask = np.where(np.abs(c_vector_mod) > 1e-04, c_vector_mod, 0) + c_vector_mask_1 = np.where(np.abs(np.abs(c_vector_mask)- 1) > 1e-04, c_vector_mask, 0) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_unique_mod = np.unique(c_vector_mask_1,axis=0) + c_vector_round = np.around(c_vector_unique_mod, decimals=4) + c_vector_unique_final = np.unique(c_vector_round, axis=0) + + #WE CONSRTUCT THE VECTOR OF THETA-MIN + symmetries = 1 / inv_symmetries + Theta_unique_final = symmetries * c_vector_unique_final * (2*np.pi) + + #TOTAL MIN FOR RATIONAL ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) + + return Total_min_theory, Theta_unique_final + + + ############################ + ## Multiaxion solver ####### + ############################ + def Nabla(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] #number of axions + arg_sin = np.matmul(Q[N:,:],x) #argument of perturbing term + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + + Ratio_Q_eff = Ratio_lambda * Q[N:,:] + Ratio_Q_eff = np.matmul(np.diag(L_sign[N:]),Ratio_Q_eff) + + sin_pert = np.sin(arg_sin + phases) + perturbation = np.matmul(Ratio_Q_eff.T,sin_pert) + + #Grad_i ARE FUNCTIONS WE NEED TO FIND ROOTS OF + Grad_i = np.sign(L_sign[0:N])*np.sin(x) + perturbation + + return Grad_i + + def Hess(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] + arg_cos = np.matmul(Q[N:,:],x) + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + + Ratio_Q_eff = Ratio_lambda * Q[N:,:] + Ratio_Q_eff = np.matmul(np.diag(L_sign[N:]),Ratio_Q_eff) + + cos_pert = np.cos(arg_cos + phases) + cos_matrix = np.matmul(np.diag(cos_pert),Q[N:,:]) + + #PERTURBATION TO HESSIAN: h_ij + h_ij = np.matmul(Ratio_Q_eff.T,cos_matrix) + + #H_ij = GRADIENT OF "Grad_i" = GRADIENT OF EACH FUNCTION WE WANT TO FIND ROOTS OF + H_ij = np.diag(np.sign(L_sign[0:N])*np.cos(x)) + h_ij #Hessian matrix + + return H_ij + + def Hessian_true(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] + arg_cos = np.matmul(Q[N:,:],x) + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)/2) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = Ratio_lambda * Q[N:,:] + + Ratio_lambda_sign = np.matmul(np.diag(L_sign[N:]),Ratio_lambda) + cos_pert = np.cos(arg_cos + phases) + cos_matrix = np.matmul(np.diag(cos_pert),Ratio_lambda_sign) + + #PERTURBATION TO HESSIAN: h_ij + h_ij = np.matmul(Ratio_lambda.T,cos_matrix) + + #HESSIAN IN NEW COORDINATES. WE WILL FIND EIGENVALUES OF H_ij TO DETERMINE WHAT EXTREMA ARE MINIMA + H_ij = np.diag(L_sign[0:N]*np.cos(x)) + h_ij #Hessian matrix + return H_ij + + def multi_axion_solver(samples,Q,L_log,L_sign,det_QTilde,phases,Z,inv_symmetries,det_Sym): + N_axions = np.shape(Q)[1] + if Z == 1: + theta_0 = np.random.uniform(0,2*np.pi,size=(samples,N_axions)) + else: + range_initial = (2*np.pi)/np.amin(np.abs(Q)[np.nonzero(Q)]) + theta_0 = np.random.uniform(0,range_initial,size=(samples,N_axions)) + + theta_min = np.zeros_like(theta_0) + grad_in = np.zeros_like(theta_0) + Grad_min = np.zeros_like(theta_0) + + for s in range(samples): + grad_in[s,:] = Nabla(theta_0[s,:],Q,L_log,L_sign,phases) #test with positive Lambdas + theta_min[s,:] = optimize.root(Nabla, x0 = theta_0[s,:], args=(Q,L_log,L_sign,phases), jac=Hess, method='hybr').x #lm #hybr + Grad_min[s,:] = Nabla(theta_min[s,:] % (2*np.pi) ,Q,L_log,L_sign,phases) + + #### WE DO SOME FILTERING ON THE ARRAYS #### + theta_mask_0 = np.where(np.abs(theta_min) > 1e-05, theta_min, 0) + mask_small_grad = np.all(np.abs(Grad_min) < 1e-5,axis=1) #1e-5 + theta_small_grad_nc = theta_mask_0[mask_small_grad] #Table of minima + Grad_min_small_nc = Grad_min[mask_small_grad] #Table Gradient at minima + n_extrema = np.shape(theta_small_grad_nc)[0] + + min_list = [] + for m in range(n_extrema): + if np.amin(np.linalg.eigh(Hessian_true(theta_small_grad_nc[m,:],Q,L_log,L_sign,phases))[0]) > 0: + min_list = np.append(min_list,m) + + ###### POSITION OF MINIMA (PROBABLY REPEATED) FOUND IN REDUECED SYSTEM ###### + min_list = np.array(min_list) + theta_min_nc = theta_small_grad_nc[min_list.astype(int),:] + number_min = theta_min_nc.shape + + + # FROM OUR LIST OF MINIMA WE TAKE OUT THETA_TILDE_VECTORS WHICH ARE ALL ZEROS + pos_non_zero = np.where(np.asarray(np.count_nonzero(theta_min_nc,axis=1, keepdims=True)) >= 1)[0] #very important + theta_non_zero = theta_min_nc[pos_non_zero] + Norms = [np.linalg.norm(theta_non_zero[y,:], np.inf) for y in range(0,np.shape(theta_non_zero)[0])] #Norm_inf + order_Norm = np.array(Norms).argsort() + Norm_Thetas = np.sort(Norms) + Thetas_total = np.around(theta_non_zero[order_Norm,:],6) + + ###### ALGORITHM TO GET UNIQUE MINIMA ###### + if Z == 1: #ALL alpha-vectors have integer entries so we mod by 2pi + Thetas_total_mod = Thetas_total % (2*np.pi) #position of minima between 0 and 2pi this helps to distinguish them! + theta_mask = np.where(np.abs(Thetas_total_mod) > 1e-04, Thetas_total_mod, 0) + theta_mask_2pi = np.where(np.abs(np.abs(theta_mask)-2*np.pi) > 1e-04, theta_mask, 0) + theta_mask_pi = np.where(np.abs(np.abs(theta_mask_2pi) - np.pi) > 1e-04, theta_mask_2pi, np.pi) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + Theta_unique_mod = np.unique(theta_mask_pi,axis=0) + Theta_round = np.where(Theta_unique_mod==np.pi , Theta_unique_mod, np.around(Theta_unique_mod, decimals=4)) #decimals=6 + Theta_unique_final = np.unique(Theta_round, axis=0) + + #TOTAL MIN FOR INTEGER ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs(det_QTilde * N_unique) + else: #at least one entry has a rational number + c_vector = np.matmul(inv_symmetries,Thetas_total.T / (2*np.pi)).T + c_vector_mod = c_vector.copy() + c_vector_mod = c_vector_mod % 1 + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_mask = np.where(np.abs(c_vector_mod) > 1e-04, c_vector_mod, 0) + c_vector_mask_1 = np.where(np.abs(np.abs(c_vector_mask)- 1) > 1e-04, c_vector_mask, 0) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_unique_mod = np.unique(c_vector_mask_1,axis=0) + c_vector_round = np.around(c_vector_unique_mod, decimals=4) + c_vector_unique_final = np.unique(c_vector_round, axis=0) + + #WE CONSRTUCT THE VECTOR OF THETA-MIN + symmetries = np.where(np.abs(np.linalg.inv(inv_symmetries)) > 1e-04, np.linalg.inv(inv_symmetries), 0) + Theta_unique_final = np.matmul(symmetries,c_vector_unique_final.T * (2*np.pi)).T + + #TOTAL MIN FOR RATIONAL ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) + + return Total_min_theory, Theta_unique_final + """ +end + +function one_dim_axion_solver(T::Solver1D) + search_domain = T.search_domain + Q = T.Q + Llog = T.Llog + Lsign = T.Lsign + det_QTilde = T.det_QTilde + phases = T.phases + Z = T.Z + inv_symmetries = T.inv_symmetries + det_Sym = T.det_Sym + Total_min_theory, Theta_unique_final = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1) +end + +function one_dim_axion_solver(search_domain, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) + Total_min_theory, Theta_unique_final = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1) +end + +function multi_axion_solver(T::SolverND) + samples = T.samples + Q = T.Q + Llog = T.Llog + Lsign = T.Lsign + det_QTilde = T.det_QTilde + phases = T.phases + Z = T.Z + inv_symmetries = T.inv_symmetries + det_Sym = T.det_Sym + Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2)) +end + +function multi_axion_solver(samples, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) + Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2)) +end + +end \ No newline at end of file From fa8c69af18dc76f546fed3fb6a9976a92c16e1d2 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:18:30 +0200 Subject: [PATCH 060/245] don't sync JLM's files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 163f91c..b41aea2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /Manifest.toml .vscode/settings.json src/clipboard.jl +jlm_python/multi_solver_phase_fraction.py +jlm_python/one_dim_phase_fraction.py From 5c09522104cabd1606730fc6bd3604c3e5d1eea3 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:18:50 +0200 Subject: [PATCH 061/245] minimize at h11=491 --- scripts/optimize_491.jl | 98 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 scripts/optimize_491.jl diff --git a/scripts/optimize_491.jl b/scripts/optimize_491.jl new file mode 100644 index 0000000..4c3004e --- /dev/null +++ b/scripts/optimize_491.jl @@ -0,0 +1,98 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + if isfile(CYAxiverse.filestructure.minfile(geom_idx)) + Nvac = 0 + h5open(CYAxiverse.filestructure.minfile(geom_idx), "r") do file + Nvac = HDF5.read(file, "Nvac") + end + if Nvac == 0 + rm(CYAxiverse.filestructure.minfile(geom_idx)) + try + res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end + end + else + try + res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +h11list = h11list[:, h11list[1, :] .== 491] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +# geom_params = shuffle!(geom_params) +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main,geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 9889134d72dd9c0626dec740ad7b355de08892ae Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:19:12 +0200 Subject: [PATCH 062/245] minimise geoms in KS database --- scripts/optimize.jl | 90 ++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index 8eaa1ad..010c950 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -2,9 +2,8 @@ # Pkg.instantiate() using Distributed -using HDF5, ArbNumerics, Distributions, Optim, LineSearches, Random -using MPIClusterManagers import MPI +using MPIClusterManagers # MPI.initialize() manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) # addprocs(manager) @@ -17,37 +16,41 @@ else end @everywhere using CYAxiverse +@everywhere using LinearAlgebra -@everywhere function main(h11::Int,tri::Int,cy::Int,l::String,run_num::Int=1) - if run_num == 1 - if isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) - rm(CYAxiverse.filestructure.minfile(h11,tri,cy)) - end - end - prec = 1_000 - pot_data = CYAxiverse.read.potential(h11,tri,cy) - QV::Matrix, LV::Matrix{Float64} = ArbFloat.(pot_data["Q"]), pot_data["L"] - Lfull::Vector{ArbFloat} = ArbFloat.(LV[:,1]) .* ArbFloat(10.) .^ ArbFloat.(LV[:,2]) - gradσ = CYAxiverse.minimizer.grad_std(h11,tri,cy,Lfull,QV) - h5open(CYAxiverse.filestructure.minfile(h11,tri,cy),isfile(CYAxiverse.filestructure.minfile(h11,tri,cy)) ? "r+" : "w") do file - if haskey(file, "gradσ") - else - f0 = create_group(file, "gradσ") - f0["log10", deflate=9] = Float64.(log10.(gradσ)) +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + if isfile(CYAxiverse.filestructure.minfile(geom_idx)) + Nvac = 0 + h5open(CYAxiverse.filestructure.minfile(geom_idx), "r") do file + Nvac = HDF5.read(file, "Nvac") end - end - vac_data = CYAxiverse.generate.vacua_TB(pot_data["L"],pot_data["Q"]) - x0::Vector = ArbFloat.(rand(Uniform(0,2π),h11)) .* rand(ArbFloat,h11)##Do not declare type! Breaks optimizer... - algo_hz = Newton(alphaguess = LineSearches.InitialHagerZhang(α0=1.0), linesearch = LineSearches.HagerZhang()) - algo_LBFGS = LBFGS(linesearch = LineSearches.BackTracking()) - try - res = CYAxiverse.minimizer.minimize_save(h11,tri,cy, Lfull, QV,x0,gradσ,vac_data["θ∥"],vac_data["Qtilde"],algo_LBFGS; prec=prec, run_num=run_num) - open(l, "a") do outf - write(outf,string("min-(",h11,",",tri,",",cy,",",run_num,")\n")) + if Nvac == 0 + rm(CYAxiverse.filestructure.minfile(geom_idx)) + try + res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end end - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,",",run_num,")\n")) + else + try + res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end end end end @@ -58,10 +61,13 @@ CYAxiverse.filestructure.logcreate(lfile) ############################## #### Initialise functions #### ############################## -@time temp_vac = main(4,10,1,lfile, 1) -h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile; 1 2 1 1] +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] @time begin - temp_vac = pmap(main, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:], h11list_temp[5,:]) + temp_vac = pmap(main, h11list_temp, log_file_temp) end # println(temp_geom) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) @@ -73,24 +79,18 @@ GC.gc() ############ Main ############ ############################## Random.seed!(1234567890) -n=100#sample to minimize -x0i = 50#number of optimizations per geometry -split = round(Int,0.7*n) -geomparams = hcat(vcat(sort(rand(10:40,split)),sort(rand(40:100,n-split))), rand(1:100,n), ones(Int,n),)' -geomparams = geomparams[:,sortperm(geomparams[1,:])] -geomparams = [hcat([geomparams for _=1:x0i]...); vcat([ones(Int,n)*i for i=1:x0i]...)'] -# geomparams = geomparams[:, shuffle(1:end)] -geomparams = geomparams[:, sortperm(geomparams[2,:])] -geomparams = geomparams[:, sortperm(geomparams[1,:])] -ntasks = size(geomparams,2) +h11list = CYAxiverse.filestructure.paths_cy()[2] +h11list = h11list[:, h11list[1, :] .!= 491] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) +ntasks = size(geom_params,1) size_procs = size(np) logfiles = [lfile for _=1:ntasks] -@time h11list = CYAxiverse.filestructure.paths_cy()[2] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") @time begin - res = pmap(main,geomparams[1,:],geomparams[2,:],geomparams[3,:],logfiles,geomparams[4,:]) + res = pmap(main,geom_params, logfiles) end GC.gc() From 39a8acb7ec95f34d6086d589677860a8f215f8c0 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:19:35 +0200 Subject: [PATCH 063/245] plotting functions for vacua --- scripts/plot_vacua_jlm.jl | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 scripts/plot_vacua_jlm.jl diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl new file mode 100644 index 0000000..3b234e4 --- /dev/null +++ b/scripts/plot_vacua_jlm.jl @@ -0,0 +1,13 @@ +ENV["newARGS"] = string("vacua_0323") +using CYAxiverse +@time CYAxiverse.generate.jlm_vacua_db(1000) +@time CYAxiverse.generate.jlm_vacua_db(10000) +@time vac_data = CYAxiverse.generate.jlm_vacua_db() +vac_square = hcat([vcat(item[1:4]...) for item in vac_data.square]...) +vac_1D = hcat([vcat(item[1:4]...) for item in vac_data.one_dim]...) +vac_ND = hcat([vcat(item[1:4]..., item[end]...) for item in vac_data.n_dim]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND[1:4, :]) +no_vacua = hcat([vcat(item...) for item in vac_data.err]...) +println(size(all_vacua)) +println(size(no_vacua)) +@time CYAxiverse.plotting.vacua_db_jlm(vac_data) \ No newline at end of file From e90a6265cf25981da959eebaa16277e92f6ba2af Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:20:20 +0200 Subject: [PATCH 064/245] reorder file calls --- src/CYAxiverse.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 5862606..27dba91 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -14,8 +14,6 @@ include("structs.jl") include("filestructure.jl") include("read.jl") include("minimizer.jl") -include("generate.jl") -include("plotting.jl") include("../add_functions/profiling.jl") if haskey(ENV, "SINGULARITY_CONTAINER") @@ -25,8 +23,13 @@ if haskey(ENV, "SINGULARITY_CONTAINER") else println("This installation does not include CYTools!") + include("init_python.jl") + include("../jlm_python/jlm_python.jl") end +include("generate.jl") +include("plotting.jl") + if haskey(ENV, "SLURM_JOB_ID") include("slurm.jl") else From f6c073413491c1e17ba8f1c1eb1cac7055e272f3 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:21:07 +0200 Subject: [PATCH 065/245] added count_geoms added geom_dir_read --- src/filestructure.jl | 58 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/src/filestructure.jl b/src/filestructure.jl index bce7f08..a5881ce 100644 --- a/src/filestructure.jl +++ b/src/filestructure.jl @@ -269,6 +269,28 @@ function h11lst(h11list::Vector; geometric_data::Bool = false) end end +""" + count_geometries(n=1000::Integer) + +Count the number of geometries per `h11` in the database. Optionally returns `h11` values with less than `n` geometries. +By default returns number of geometries per `h11` +""" +function count_geometries(n=nothing) + geom_count = [] + h11list = paths_cy()[2] + for h11 in unique(h11list[1,:]) + h11size = size(h11list[1,:][h11list[1,:] .== h11], 1) + if n === nothing + push!(geom_count, [h11,h11size]) + elseif typeof(n)<: Number + if h11size < n + push!(geom_count, [h11,h11size]) + end + end + end + hcat(geom_count...) +end + """ isgeometry(h11, tri, cy) @@ -320,11 +342,39 @@ function geom_dir(h11,tri,cy=1) end end +function geom_dir_read(h11,tri,cy=1) + if localARGS()!=string("inKC") + if localARGS()==string("home_Large")||localARGS()==string("KV1") + if h11 >= 238 + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) + end + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"),"/cy_",lpad(cy,7,"0")) + end + end + else + if isdir(string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0"))) + string(present_dir(),"h11_",lpad(h11,3,"0"),"/np_",lpad(tri,7,"0")) + end + end +end function geom_dir(geom_idx::GeometryIndex) h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst geom_dir(h11, tri, cy) end + +function geom_dir_read(geom_idx::GeometryIndex) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + geom_dir_read(h11, tri, cy) +end ################################### ### Geometric Data Files (old) #### ################################### @@ -400,22 +450,22 @@ end Path to data file -- will contain all data that relates to geometry index. """ function cyax_file(h11,tri, cy=1) - return string(geom_dir(h11,tri,cy),"/cyax.h5") + return string(geom_dir_read(h11,tri,cy),"/cyax.h5") end function cyax_file(geom_idx::GeometryIndex) - return string(geom_dir(geom_idx),"/cyax.h5") + return string(geom_dir_read(geom_idx),"/cyax.h5") end """ minfile(h11,tri,cy) Path to file containing minimization data. """ function minfile(h11,tri, cy=1) - return string(geom_dir(h11,tri,cy),"/minima.h5") + return string(geom_dir_read(h11,tri,cy),"/minima.h5") end function minfile(geom_idx::GeometryIndex) - return string(geom_dir(geom_idx),"/minima.h5") + return string(geom_dir_read(geom_idx),"/minima.h5") end From adccee2b51e9f16d8d506d73b50bb81801237f81 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:21:45 +0200 Subject: [PATCH 066/245] initialise python in singularity container otherwise use default python distro --- src/init_python.jl | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/init_python.jl diff --git a/src/init_python.jl b/src/init_python.jl new file mode 100644 index 0000000..9520de9 --- /dev/null +++ b/src/init_python.jl @@ -0,0 +1,9 @@ +using Pkg +if haskey(ENV, "PYTHON") + if ENV["PYTHON"] == "/scratch/users/mehta2/cyaxiverse_python/bin/python" + else + ENV["PYTHON"] = "/scratch/users/mehta2/cyaxiverse_python/bin/python" + Pkg.build("PyCall") + + end +end \ No newline at end of file From 1bd2cd1aa9709ed0e98eec1bca23753963166fb2 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:22:28 +0200 Subject: [PATCH 067/245] fixed multiple dispatch subspace minimize function --- src/minimizer.jl | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/src/minimizer.jl b/src/minimizer.jl index ee389fc..092403b 100644 --- a/src/minimizer.jl +++ b/src/minimizer.jl @@ -15,6 +15,7 @@ using Optim, LineSearches, Dates, HDF5, NLsolve using ..filestructure: cyax_file, minfile, present_dir using ..read: potential +using ..structs: GeometryIndex function minimize(h11::Int,tri::Int,cy::Int,LV::Vector,QV::Matrix,x0::Vector,gradσ::Matrix,θparalleltest::Matrix,Qtilde::Matrix,algo,prec) setprecision(ArbFloat,digits=prec) @@ -517,6 +518,10 @@ function id_minima(LV::Vector, QV; ftol = eps(), iterations = 1_000) end end +""" + subspace_minimize(L, Q; runs=10_000, phase=zeros(max(collect(size(Q))...))) +Minimizes the subspace with `runs` iterations +""" function subspace_minimize(L, Q; runs=10_000, phase::Matrix=zeros(max(collect(size(Q))...),1)) xmin = [] Random.seed!(9876543210) @@ -548,26 +553,6 @@ end # push!(xmin, zeros(size(Q,1))) # unique(xmin) # end -""" - subspace_minimize(L, Q; runs=10_000, phase=zeros(max(collect(size(Q))...))) -Minimizes the subspace with `runs` iterations -""" -function subspace_minimize(L, Q; runs=10_000, phase::Vector=zeros(max(collect(size(Q))...))) - xmin = [] - Random.seed!(9876543210) - for _ in 1:runs - x0 = rand(Uniform(0,2π),size(Q,1)) .* rand(size(Q,1)) - x0 = x0 + phase - test_min = minimize(L, Q, x0) - if test_min === nothing - else - push!(xmin, test_min["xmin"]) - end - end - push!(xmin, zeros(size(Q,1))) - unique(xmin) -end - """ minima_lattice(v::Matrix{Float64}) @@ -593,4 +578,5 @@ function minima_lattice(v::Matrix{Float64}) end + end \ No newline at end of file From 1e5756645a2ca05fb807062ed4543d86833e412e Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:22:52 +0200 Subject: [PATCH 068/245] plot functions for vacua and total_geoms --- src/plotting.jl | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/plotting.jl b/src/plotting.jl index 7d4931f..55e75f8 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -3,7 +3,53 @@ module plotting #### Plotting functions ###### ############################## +using ..filestructure: plots_dir, count_geometries, paths_cy +using ..generate: jlm_vacua_db +using CairoMakie +""" + vacua_db_jlm(n) + +TBW +""" +function vacua_db_jlm(vac_data::NamedTuple) + f = Figure() + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + ax1 = Axis(f[2, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), yscale = Makie.pseudolog10, kwargs...) + ax2 = Axis(f[2, 2]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), yscale = Makie.pseudolog10, yticks = [1, 10, 50, 100, 500, 1000, 2000], kwargs...) + ax3 = Axis(f[1, 1:3]; xticks = [4, 50, 100, 200, 300, 400, 491], yscale = Makie.pseudolog10, kwargs...) + square_vac = hcat([vcat(item[1], item[4]) for item in vac_data.square]...) + n_dim_vac = hcat([vcat(item[1], item[4], item[end]) for item in vac_data.n_dim]...) + n_dim_vac = n_dim_vac[:, sortperm(n_dim_vac[end, :])] + one_dim_vac = hcat([vcat(item[1], item[4]) for item in vac_data.one_dim]...) + sc_square = scatter!(ax3, square_vac[1, square_vac[2, :] .!= 0], square_vac[2, square_vac[2, :] .!= 0], marker = :circle, color = :green, markersize = 10, label = "0 extra rows") + sc_onedim = scatter!(ax1, one_dim_vac[1, one_dim_vac[2, :] .!= 0], one_dim_vac[2, one_dim_vac[2, :] .!= 0], color = :cyan, marker = :utriangle, markersize = 10, label = "1 extra row") + sc_ndim = scatter!(ax2, n_dim_vac[1, n_dim_vac[2, :] .!= 0], n_dim_vac[2, n_dim_vac[2, :] .!= 0], color = n_dim_vac[3, n_dim_vac[2, :] .!= 0], colormap = :thermal, marker = :rect, markersize = 10, label = L"$N$ extra rows") + axislegend(ax3, [sc_square, sc_onedim, sc_ndim], [L"$0$", L"$1$", L"$N$"], "Number of Extra Rows", orientation = :horizontal, titlefont = "Utopia Bold") + Colorbar(f[2,3], limits = (minimum(n_dim_vac[3, n_dim_vac[2, :] .!= 0]), maximum(n_dim_vac[3, n_dim_vac[2, :] .!= 0])), colormap = :thermal, label = L"$N$", ticklabelfont = "Utopia") + Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) + Label(f[end+1, 1:end], L"$h^{1,1}$") + save(joinpath(plots_dir(), "N_vac_KS.pdf"), f, pt_per_unit = 1) +end + +function vacua_db_jlm(n=size(paths_cy()[2], 2)) + vac_data = jlm_vacua_db(n) + vac_square = hcat([vcat(item[1:4]...) for item in vac_data.square]...) + vac_1D = hcat([vcat(item[1:4]...) for item in vac_data.one_dim]...) + vac_ND = hcat([vcat(item[1:4]..., item[end]...) for item in vac_data.n_dim]...) + all_vacua = hcat(vac_square, vac_1D, vac_ND[1:4, :]) + println(size(all_vacua)) + vacua_db_jlm(vac_data) +end + + +function total_geometries(n=nothing) + total_geoms = count_geometries(n) + fig_h11size = Figure() + CairoMakie.barplot(fig_h11size[1,1], hcat(total_geoms...)[1,:], hcat(total_geoms...)[2,:]) + save(joinpath(plots_dir(), "total_geometries.pdf"), fig_h11size, pt_per_unit = 1) +end + end \ No newline at end of file From 285511343c59c69d54506aebce9dded19f106391 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:23:10 +0200 Subject: [PATCH 069/245] read vacua files --- src/read.jl | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/read.jl b/src/read.jl index 199b1d8..eb4c809 100644 --- a/src/read.jl +++ b/src/read.jl @@ -6,8 +6,8 @@ Functions that access the database. module read using HDF5 using LinearAlgebra -using ..filestructure: cyax_file, minfile, geom_dir -using ..structs: GeometryIndex, AxionPotential +using ..filestructure: cyax_file, minfile, geom_dir_read +using ..structs: GeometryIndex, AxionPotential, Min_JLM_1D, Min_JLM_ND ########################### ##### Read CYTools data ### ########################### @@ -121,7 +121,7 @@ end function qshape(h11::Int,tri::Int,cy::Int=1) square, vacua, extrarows, ωnorm2 = 0, 0, 0, 0 - h5open(joinpath(geom_dir(h11,tri,cy),"qshape.h5"), "r") do file + h5open(joinpath(geom_dir_read(h11,tri,cy),"qshape.h5"), "r") do file square = HDF5.read(file, "square") vacua = HDF5.read(file, "vacua_estimate") if haskey(file, "extra_rows") @@ -185,6 +185,26 @@ function vacua_TB(h11::Int,tri::Int,cy::Int=1) end end +function vacua_jlm(geom_idx::GeometryIndex) + Nvac = 0 + min_coords = zeros(1,1) + extra_rows = 0 + h5open(minfile(geom_idx), "r") do file + Nvac = HDF5.read(file, "Nvac") + if haskey(file, "extra_rows") + min_coords = HDF5.read(file, "vac_coords") + extra_rows = HDF5.read(file, "extra_rows") + end + end + if extra_rows == 0 + return Nvac + elseif extra_rows == 1 + return Min_JLM_1D(Nvac, vec(min_coords), extra_rows) + else + return Min_JLM_ND(Nvac, min_coords, extra_rows) + end +end + ################################ ##### HDF5.read Spectra data ### ################################ From 76350f8244de3a273889b2d6459ce15b1a4a9990 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 11:23:49 +0200 Subject: [PATCH 070/245] new solver structs added \alpha_complete element to \alpha --- src/structs.jl | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index a5cb494..149788d 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -71,6 +71,7 @@ struct Canonicalα Lhat ::Matrix{Float64} Lbar ::Matrix{Float64} α::Matrix{Rational} + α_complete::Matrix{Rational} αrowmask::Vector{Bool} αcolmask::Vector{Bool} end @@ -79,6 +80,47 @@ struct ReducedPotential αeff::Matrix{Rational} Lreduced::Matrix{Float64} end + +struct Solver1D + search_domain + Q::Vector + Llog::Vector + Lsign::Vector + det_QTilde + phases::Vector + Z + inv_symmetries + det_Sym +end +struct RationalQSNF + Tparallel::Matrix{Rational} + θparallel::Matrix{Rational} +end + +struct SolverND + samples + Q::Matrix + Llog::Vector + Lsign::Vector + det_QTilde + phases::Vector + Z + inv_symmetries + det_Sym +end + +struct Min_JLM_ND + N_min::Integer + min_coords::Matrix{Float64} + extra_rows::Integer +end + + +struct Min_JLM_1D + N_min::Integer + min_coords::Vector{Float64} + extra_rows::Integer +end ####################### # ParentTrackIterator # ####################### From 5f19d87f5725594ebb95289f9c61ce783e4d962c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 14:59:37 +0200 Subject: [PATCH 071/245] include h11 = 1, 2, 3 in database --- scripts/top_geom.jl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 5b1682f..39a2c41 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -122,7 +122,7 @@ GC.gc() ############################## ############ Main ############ ############################## -h11_init = 4 +h11_init = 1 np = nworkers() h11_end = 96 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! h11 = collect(h11_init:h11_init+h11_end) @@ -153,7 +153,19 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl h11 = shuffle(h11) tasks = length(h11) ÷ n_split h11 = sort(h11[(split - 1) * tasks + 1 : split * tasks]) - n = [ngeometries for _ in h11] + n = zeros(Int, 1) + for t in h11 + if t == 1 + n = vcat(n..., minimum(ngeometries, 5)) + elseif t == 2 + n = vcat(n..., minimum(ngeometries, 36)) + elseif t == 3 + n = vcat(n..., minimum(ngeometries, 243)) + elseif t ∉ [1, 2, 3] + n = vcat(n..., ngeometries) + end + end + n = n[2:end] log_files_top = [lfile for _ in h11] end end From b3bed2caa8fad3af6dd5291d065bd1d523070331 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Jun 2023 16:39:08 +0200 Subject: [PATCH 072/245] =?UTF-8?q?fixed=20=CE=B8paralleltest=20(working?= =?UTF-8?q?=20version=20for=20large=20run)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index e2b4975..4909436 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1213,7 +1213,7 @@ function vacua_SNF(Q::Matrix{Integer}) else Tparallel = convert(Matrix{BigInt},Tparallel1) θparalleltest = Matrix{Rational{BigInt}}(inv(transpose(Rational.(Q)) * Rational.(Q)) * transpose(Rational.(Q)) * Tparallel) - θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(BigInt, θparalleltest), Rational{BigInt}(θparalleltest))) + θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) end # keys = ["T∥", "θ∥"] # vals = [Tparallel,θparalleltest] From 995732e75eb4cad61bcd1fe568d2248f1072e4e7 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Jun 2023 16:05:37 +0200 Subject: [PATCH 073/245] fixed typo in output --- scripts/optimize.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index 010c950..03d33d6 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -45,7 +45,7 @@ end try res = CYAxiverse.generate.jlm_minimize_save(geom_idx) open(l, "a") do outf - write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end catch e open(l, "a") do outf From 815006445c896018422f39f32d8f491e077bd8fc Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Jun 2023 16:05:48 +0200 Subject: [PATCH 074/245] box_plot test --- scripts/plot_vacua_jlm.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 3b234e4..09d83ed 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -10,4 +10,4 @@ all_vacua = hcat(vac_square, vac_1D, vac_ND[1:4, :]) no_vacua = hcat([vcat(item...) for item in vac_data.err]...) println(size(all_vacua)) println(size(no_vacua)) -@time CYAxiverse.plotting.vacua_db_jlm(vac_data) \ No newline at end of file +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_data) \ No newline at end of file From 8a439c0ab6e49c768ce11b93cfd3beebb3b18da9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Jun 2023 16:06:22 +0200 Subject: [PATCH 075/245] require type(det_Q_tilde) <: Int --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index 4909436..ad1d6c1 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1967,7 +1967,7 @@ function jlm_minimize(geom_idx::GeometryIndex) αtest = αmatrix(geom_idx; threshold=0.01) if typeof(αtest)<:Canonicalα Qtilde = LQtilde(geom_idx).Qtilde - det_Q_tilde = abs(round(det(Qtilde))) + det_Q_tilde = Int(abs(round(det(Qtilde)))) n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' From f14892816c81ead55798d7d280f7143057f61f61 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 20 Jun 2023 16:06:42 +0200 Subject: [PATCH 076/245] add box_plot function for vacua_jlm_db --- src/plotting.jl | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plotting.jl b/src/plotting.jl index 55e75f8..1f9647d 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -51,5 +51,18 @@ function total_geometries(n=nothing) save(joinpath(plots_dir(), "total_geometries.pdf"), fig_h11size, pt_per_unit = 1) end +function vacua_db_jlm_box(vacua_db::NamedTuple) + square = hcat(vacua_db.square...) + one_dim = hcat([item[1:4] for item in vacua_db.one_dim]...) + n_dim = hcat([[item[1:4]...,item[end]] for item in vacua_db.n_dim if item[4] != 0]...) + vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) + f = Figure() + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), kwargs...) + CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :]) + Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) + Label(f[end+1, 1:end], L"$h^{1,1}$") + save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) +end end \ No newline at end of file From 2ece89dbd575bee41886aec5d0bcda075fed8900 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:29:50 +0200 Subject: [PATCH 077/245] fetch enough polytopes for favourable in fair func --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 19ecf26..6ebe602 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -129,7 +129,7 @@ function topologies_generate_fair(h11,n) tri_test = [] tri_test_m = [] #Generate list of $n polytopes at $h11 - poly_test = fetch_polytopes(h11,4*n, lattice="N", as_list=true, favorable=true) + poly_test = fetch_polytopes(h11,8*n, lattice="N", as_list=true, favorable=true) #Locator for points of polytope for saving points = [p.points() for p in poly_test] #If number of polytopes < $n, generate more triangulations per polytope, From 2c73d3acc1c93cc9cf2009ee19e6f56db3addf26 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:30:38 +0200 Subject: [PATCH 078/245] fixed jlm_vacua_db funcs (added kwargs) --- scripts/plot_vacua_jlm.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 09d83ed..f8213a8 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -1,7 +1,7 @@ ENV["newARGS"] = string("vacua_0323") using CYAxiverse -@time CYAxiverse.generate.jlm_vacua_db(1000) -@time CYAxiverse.generate.jlm_vacua_db(10000) +@time CYAxiverse.generate.jlm_vacua_db(; n = 1000) +@time CYAxiverse.generate.jlm_vacua_db(; n = 10000) @time vac_data = CYAxiverse.generate.jlm_vacua_db() vac_square = hcat([vcat(item[1:4]...) for item in vac_data.square]...) vac_1D = hcat([vcat(item[1:4]...) for item in vac_data.one_dim]...) From 6429eb458fa51d04274f739c807a0a1ae53c7f1b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:31:11 +0200 Subject: [PATCH 079/245] updated main_Qshape -- still WIP --- scripts/Qeff.jl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/Qeff.jl b/scripts/Qeff.jl index 78dfe70..539f19d 100644 --- a/scripts/Qeff.jl +++ b/scripts/Qeff.jl @@ -43,12 +43,16 @@ end end -@everywhere function main_Qshape(h11, tri, cy, l) +@everywhere function main_Qshape(geom_idx::CYAxiverse.structs.GeometryIndex, l) threshold = 1e-2 - if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + if isfile(joinpath(CYAxiverse.filestructure.geom_dir(geom_idx),"qshape.h5")) + rm(joinpath(CYAxiverse.filestructure.geom_dir(geom_idx),"qshape.h5")) + main_Qshape(geom_idx, l) else + if isfile(CYAxiverse.filestructure.minfile(geom_idx)) try - CYAxiverse.generate.vacua_estimate_save(h11, tri, cy; threshold=threshold) + CYAxiverse.generate.vacua_estimate_save(geom_idx; threshold=threshold) catch e open(l, "a") do outf write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) From 8a27ace618abf12bda71170aed56aac8e68f8fa9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:31:36 +0200 Subject: [PATCH 080/245] include jlm_minimizer, fixed module loading order --- src/CYAxiverse.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 27dba91..6924ed1 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -14,6 +14,7 @@ include("structs.jl") include("filestructure.jl") include("read.jl") include("minimizer.jl") +include("generate.jl") include("../add_functions/profiling.jl") if haskey(ENV, "SINGULARITY_CONTAINER") @@ -25,9 +26,9 @@ else println("This installation does not include CYTools!") include("init_python.jl") include("../jlm_python/jlm_python.jl") + include("jlm_minimizer.jl") end -include("generate.jl") include("plotting.jl") if haskey(ENV, "SLURM_JOB_ID") From b826168798d590ac939a5e8260332d1b5afcdba6 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:31:58 +0200 Subject: [PATCH 081/245] moved jlm_* funcs to jlm_minmizer --- src/generate.jl | 147 +++++++++++++----------------------------------- 1 file changed, 39 insertions(+), 108 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index ad1d6c1..c0f8b61 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -15,7 +15,7 @@ using TimerOutputs using ..filestructure: cyax_file, minfile, present_dir, geom_dir_read, paths_cy using ..read: potential, vacua_jlm using ..minimizer: minimize, subspace_minimize -using ..jlm_python: one_dim_axion_solver, multi_axion_solver + using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND ################# @@ -1867,44 +1867,6 @@ function vacua_full(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase:: vacua_full(L, Q; threshold=threshold, phase=phase) end -""" - vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - -Uses `LQtildebar` function to make Q̂. If Q̂ is square, returns number of vacua as `|det(Q̂)|` -otherwise returns number of vacua as `√|det(Q̂'Q̂)|`. -""" -function vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - data = αmatrix(h11, tri, cy; threshold=threshold) - if size(data.Qhat, 1) == size(data.Qhat, 2) - vac = Int(round(abs(det(data.Qhat)))) - return (vac = vac, issquare = 1) - else - vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) - return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - h11) - end -end - -function vacua_estimate(geom_idx::GeometryIndex; threshold::Float64=0.5) - data = αmatrix(geom_idx; threshold=threshold) - if size(data.Qhat, 1) == size(data.Qhat, 2) - vac = Int(round(abs(det(data.Qhat)))) - return (vac = vac, issquare = 1) - else - vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) - return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - geom_idx.h11) - end -end - -function vacua_estimate_save(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) - vac_data = vacua_estimate(h11, tri, cy; threshold=threshold) - h5open(joinpath(geom_dir_read(h11,tri,cy),"qshape.h5"), "cw") do f - f["square", deflate=9] = vac_data.issquare - f["vacua_estimate", deflate=9] = vac_data.vac - if vac_data.issquare == 0 - f["extra_rows", deflate=9] = vac_data.extrarows - end - end -end """ vacua_no_optim(L::Matrix{Float64}, Q::Matrix{Int}; threshold::Float64=0.5, phase::Vector{Float64}=zeros(Float64, size(Q,2))) @@ -1958,76 +1920,7 @@ function phase(h11, α::Canonicalα) phase_vector::Vector = vec([phase_vector' * α.:α_complete]...) end -""" - jlm_minimize(geom_idx::GeometryIndex) -If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. -""" -function jlm_minimize(geom_idx::GeometryIndex) - αtest = αmatrix(geom_idx; threshold=0.01) - if typeof(αtest)<:Canonicalα - Qtilde = LQtilde(geom_idx).Qtilde - det_Q_tilde = Int(abs(round(det(Qtilde)))) - n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) - Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' - Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' - for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) - if sum(abs.(row) .== 0) == (size(row, 1) - 1) - Q_reduced_temp[n_axions+i, :] .= 0 - end - end - Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] - Q_reduced_temp = Q_reduced_temp[Qrowmask, :] - if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) - return det_Q_tilde - else - phase_vector = phase(geom_idx.h11, αtest) - L_reduced = Matrix(hcat(αtest.Lhat[:, 1:geom_idx.h11][:, αtest.αrowmask], αtest.Lhat[:, geom_idx.h11+1:end][:, αtest.αcolmask])') - # L_reduced = L_reduced[Qrowmask, :] - flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) - αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) - θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) - basis_inverse = [] - if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 - θparallel::Matrix{Rational{BigInt}} = θparallel - basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) - else - basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) - end - vol_basis = Rational(det(θparallel)) - if size(Q_reduced, 2) == 1 - to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) - return one_dim_axion_solver(to_solve1D) - # return to_solve1D - else - to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) - return multi_axion_solver(to_solveND) - # return to_solveND - end - end - else - return Int(abs(round(det(αtest.Qhat)))) - end -end - -function jlm_minimize_save(geom_idx::GeometryIndex) - min_data = jlm_minimize(geom_idx) - if isfile(minfile(geom_idx)) - rm(minfile(geom_idx)) - end - if typeof(min_data) <: Int - h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "w") do file - file["Nvac", deflate=9] = min_data - end - elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND - h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "w") do file - file["Nvac", deflate = 9] = min_data.N_min - file["vac_coords", deflate = 9] = min_data.min_coords - file["extra_rows", deflate = 9] = min_data.extra_rows - end - end - return -end function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) vac_square = [] @@ -2058,4 +1951,42 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) return (square = vac_square, one_dim = vac_1D, n_dim = vac_ND, err = no_vac) end +""" + vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + +Uses `LQtildebar` function to make Q̂. If Q̂ is square, returns number of vacua as `|det(Q̂)|` +otherwise returns number of vacua as `√|det(Q̂'Q̂)|`. +""" +function vacua_estimate(geom_idx::GeometryIndex; threshold::Float64=0.5) + data = αmatrix(geom_idx; threshold=threshold) + if size(data.Qhat, 1) == size(data.Qhat, 2) + vac = Int(round(abs(det(data.Qhat)))) + return (vac = vac, issquare = 1) + else + vac = Int(floor(sqrt(abs(det(data.Qhat * data.Qhat'))))) + return (vac = vac, issquare = 0, extrarows = size(data.Qhat, 2) - geom_idx.h11) + end +end + +function vacua_estimate(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + geom_idx = GeometryIndex(h11, tri, cy) + vacua_estimate(geom_idx; threshold) +end + +function vacua_estimate_save(geom_idx::GeometryIndex; threshold::Float64=0.5) + vac_data = vacua_estimate(geom_idx; threshold=threshold) + h5open(joinpath(geom_dir_read(geom_idx),"qshape.h5"), "cw") do f + f["square", deflate=9] = vac_data.issquare + f["vacua_estimate", deflate=9] = vac_data.vac + if vac_data.issquare == 0 + f["extra_rows", deflate=9] = vac_data.extrarows + end + end +end + +function vacua_estimate_save(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) + geom_idx = GeometryIndex(h11, tri, cy) + vacua_estimate_save(geom_idx; threshold) +end + end \ No newline at end of file From 74148dd26f2283e59f3654da3bab7361b7547eeb Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:32:18 +0200 Subject: [PATCH 082/245] moved jlm_minimize funcs to jlm_minimizer.jl --- src/jlm_minimizer.jl | 85 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/jlm_minimizer.jl diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl new file mode 100644 index 0000000..58d1271 --- /dev/null +++ b/src/jlm_minimizer.jl @@ -0,0 +1,85 @@ +""" + CYAxiverse.jlm_minimizer +Here we define functions related to JLM's python minimization methods + +""" +module jlm_minimizer + +using ..jlm_python: one_dim_axion_solver, multi_axion_solver +using ..generate: αmatrix, LQtilde, phase, vacua_SNF + +using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND + +""" + jlm_minimize(geom_idx::GeometryIndex) + +If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. +""" +function minimize(geom_idx::GeometryIndex) + αtest = αmatrix(geom_idx; threshold=0.01) + if typeof(αtest)<:Canonicalα + Qtilde = LQtilde(geom_idx).Qtilde + det_Q_tilde = Int(abs(round(det(Qtilde)))) + n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) + Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' + Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' + for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) + if sum(abs.(row) .== 0) == (size(row, 1) - 1) + Q_reduced_temp[n_axions+i, :] .= 0 + end + end + Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] + Q_reduced_temp = Q_reduced_temp[Qrowmask, :] + if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) + return det_Q_tilde + else + phase_vector = phase(geom_idx.h11, αtest) + L_reduced = Matrix(hcat(αtest.Lhat[:, 1:geom_idx.h11][:, αtest.αrowmask], αtest.Lhat[:, geom_idx.h11+1:end][:, αtest.αcolmask])') + # L_reduced = L_reduced[Qrowmask, :] + flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) + αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) + θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) + basis_inverse = [] + if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 + θparallel::Matrix{Rational{BigInt}} = θparallel + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) + else + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) + end + vol_basis = Rational(det(θparallel)) + if size(Q_reduced, 2) == 1 + to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return one_dim_axion_solver(to_solve1D) + # return to_solve1D + else + to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return multi_axion_solver(to_solveND) + # return to_solveND + end + end + else + return Int(abs(round(det(αtest.Qhat)))) + end +end + +function minimize_save(geom_idx::GeometryIndex) + min_data = jlm_minimize(geom_idx) + if isfile(minfile(geom_idx)) + rm(minfile(geom_idx)) + end + if typeof(min_data) <: Int + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + file["Nvac", deflate=9] = min_data + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + file["Nvac", deflate = 9] = min_data.N_min + file["vac_coords", deflate = 9] = min_data.min_coords + file["extra_rows", deflate = 9] = min_data.extra_rows + end + end + return +end + + +end \ No newline at end of file From 887e0747c181a58121538fb6fdcae58f39de0282 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 14:32:32 +0200 Subject: [PATCH 083/245] corrected size of plot outputs --- src/plotting.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 1f9647d..ed7b8dc 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -56,10 +56,12 @@ function vacua_db_jlm_box(vacua_db::NamedTuple) one_dim = hcat([item[1:4] for item in vacua_db.one_dim]...) n_dim = hcat([[item[1:4]...,item[end]] for item in vacua_db.n_dim if item[4] != 0]...) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) - f = Figure() + size_inches = (16, 12) + size_pt = 72 .* size_inches + f = Figure(resolution = size_pt, fontsize=22) kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), kwargs...) - CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :]) + CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 10) Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) Label(f[end+1, 1:end], L"$h^{1,1}$") save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) From 09c687ce6af5f6a72c9ce1e59dd9a006aaa964c9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 15:35:10 +0200 Subject: [PATCH 084/245] added cytools_version func --- add_functions/cytools_wrapper.jl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 6ebe602..675dc7f 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -68,13 +68,19 @@ function __init__() def poly(points, backend=None): return Polytope(points,backend) """ + + py""" + import cytools + def version(): + return cytools.version + """ end fetch_polytopes(h11,limit; lattice="N",as_list=false,favorable=false) = py"f_polytopes(h11=$h11,limit=$limit, lattice=$lattice, as_list=$as_list, favorable=$favorable)" poly(points; backend=nothing) = py"poly($points, backend=$backend)" - +cytools_version() = py"version()" function topologies_generate_fast(h11,n) tri_test = [] @@ -288,7 +294,7 @@ function geometries_generate(h11,cy,tri,cy_i=1) n,m = 1,1 tip = cy.toric_kahler_cone().tip_of_stretched_cone(sqrt(n)) #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) + Kinv = cy.compute_inverse_kahler_metric(tip) Kinv = Hermitian(1/2 * Kinv + Kinv') #Generate list of Q matrices -- only $h11+4 directions qprime = cy.toric_effective_cone().rays() From e116ae19001018719f5531fe6d7888057c86f604 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 16:16:58 +0200 Subject: [PATCH 085/245] breaking change in CYTools v0.8.0 workaround --- add_functions/cytools_wrapper.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 675dc7f..c6ebb2a 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -68,7 +68,7 @@ function __init__() def poly(points, backend=None): return Polytope(points,backend) """ - + py""" import cytools def version(): @@ -294,7 +294,11 @@ function geometries_generate(h11,cy,tri,cy_i=1) n,m = 1,1 tip = cy.toric_kahler_cone().tip_of_stretched_cone(sqrt(n)) #Kinv at tip -- save this or save K? - Kinv = cy.compute_inverse_kahler_metric(tip) + if cytools_version() < "0.8.0" + Kinv = cy.compute_Kinv(tip) + else + Kinv = cy.compute_inverse_kahler_metric(tip) + end Kinv = Hermitian(1/2 * Kinv + Kinv') #Generate list of Q matrices -- only $h11+4 directions qprime = cy.toric_effective_cone().rays() From e4779dca1cffe0fc9641549c09e33361c5e30aa3 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 16:19:00 +0200 Subject: [PATCH 086/245] removed solver_1D solver_ND --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index c0f8b61..6d93c39 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -16,7 +16,7 @@ using ..filestructure: cyax_file, minfile, present_dir, geom_dir_read, paths_cy using ..read: potential, vacua_jlm using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Min_JLM_1D, Min_JLM_ND ################# ### Constant #### From 17d37883f59e070f3353e5d3e2b6c200a2eed7f4 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 18:45:40 +0200 Subject: [PATCH 087/245] loads init_python always --- src/CYAxiverse.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 6924ed1..4c5f6c1 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -9,22 +9,21 @@ if haskey(ENV,"newARGS") else println("Please specify where to read/write data, currently using pwd!") end -include("structs.jl") +include("structs.jl") include("filestructure.jl") include("read.jl") include("minimizer.jl") include("generate.jl") include("../add_functions/profiling.jl") +include("init_python.jl") if haskey(ENV, "SINGULARITY_CONTAINER") if occursin("CYTools",ENV["SINGULARITY_CONTAINER"]) include("../add_functions/cytools_wrapper.jl") end - else println("This installation does not include CYTools!") - include("init_python.jl") include("../jlm_python/jlm_python.jl") include("jlm_minimizer.jl") end From 6705375598ff22db81979c9aec5d196a5b16c3eb Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 18:45:56 +0200 Subject: [PATCH 088/245] checks PYTHONPATH is set --- src/init_python.jl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/init_python.jl b/src/init_python.jl index 9520de9..c752e05 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -1,9 +1,16 @@ using Pkg if haskey(ENV, "PYTHON") - if ENV["PYTHON"] == "/scratch/users/mehta2/cyaxiverse_python/bin/python" + if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python" + using PyCall + if PyCall.current_python() != ENV["PYTHON"] + Pkg.build("PyCall") + end + elseif ENV["PYTHON"] == "/scratch/users/mehta2/cyaxiverse_python/bin/python" + using PyCall + if PyCall.current_python() != ENV["PYTHON"] + Pkg.build("PyCall") + end else - ENV["PYTHON"] = "/scratch/users/mehta2/cyaxiverse_python/bin/python" - Pkg.build("PyCall") - + error("Please set ENV['PYTHON'] with your PYTHONPATH") end end \ No newline at end of file From 141dddab8327a0a657ec24eb25c717a279208100 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 22 Jun 2023 18:50:37 +0200 Subject: [PATCH 089/245] moved python check to init_python.jl --- add_functions/cytools_wrapper.jl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index c6ebb2a..12e6af1 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -19,10 +19,6 @@ module cytools_wrapper using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate using ..read: topology -using Pkg -ENV["PYTHON"] = "/home/cytools/cytools-venv//bin/python" -Pkg.build("PyCall") - using PyCall using HDF5 using LinearAlgebra From 67b4247cebea0ee1e21f88fb51ce832b0931b1ca Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 23 Jun 2023 13:27:14 +0200 Subject: [PATCH 090/245] Updated for CYTools-v1.0.4 --- Dockerfile | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3d151d3..07e1a3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,8 @@ RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal-dev\ libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ - libflint-dev libflint-arb-dev python3 python3-pip\ - wget libmath-libm-perl python3-venv normaliz git + libflint-dev libflint-arb-dev python3 python3-pip curl\ + wget libmath-libm-perl python3-venv normaliz libqsopt-ex2 # Make a soft link to the arb library and flint headers so that python-flint can install RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so @@ -30,6 +30,10 @@ RUN groupadd -r -g $USERID $USERNAME && useradd -r -s /bin/bash -u $USERID -g $U || echo "Skipping user creation" USER $USERNAME +# Install Rust since there are some Python packages that now depend on it +RUN curl https://sh.rustup.rs -sSf | bash -s -- -y +ENV PATH="/home/${USERNAME}/.cargo/bin:${PATH}" + # Create python virtual environment for non-root user RUN python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" @@ -42,15 +46,12 @@ ENV PATH="$PWD/julia-1.7.1/bin:$PATH" RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia RUN rm julia-1.7.1-linux-x86_64.tar.gz - # Install pip packages ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse -RUN pip3 install --upgrade pip -RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython qpsolvers osqp -RUN pip3 install python-flint matplotlib h5py -RUN pip3 install scikit-sparse cysignals gmpy2==2.1.0a4 -RUN pip3 install pplpy -RUN pip3 install julia +WORKDIR /opt/cytools/ +COPY ./requirements.txt /opt/cytools/requirements.txt +RUN pip3 install -r requirements.txt +RUN pip3 install python-flint==0.3.0 RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic @@ -60,8 +61,15 @@ RUN sed -i -e 's/mosek.solsta.near_optimal/ /g' $VIRTUAL_ENV/lib/python3.9/site- # Install TOPCOM WORKDIR /opt/cytools/external/topcom-mod -RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v0.17.8%2Bds-2%2Bcytools-1/topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb -RUN dpkg -i topcom_0.17.8+ds-2+cytools-1_${ARCH}.deb +RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v1.1.2%2Bds-1%2Bcytools-1/topcom_1.1.2+ds-1+cytools-1_${ARCH}.deb +RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v1.1.2%2Bds-1%2Bcytools-1/libtopcom0_1.1.2+ds-1+cytools-1_${ARCH}.deb +RUN wget https://github.com/LiamMcAllisterGroup/topcom/releases/download/v1.1.2%2Bds-1%2Bcytools-1/libtopcom-dev_1.1.2+ds-1+cytools-1_${ARCH}.deb +RUN dpkg -i topcom_1.1.2+ds-1+cytools-1_${ARCH}.deb +RUN dpkg -i libtopcom0_1.1.2+ds-1+cytools-1_${ARCH}.deb +RUN dpkg -i libtopcom-dev_1.1.2+ds-1+cytools-1_${ARCH}.deb + +# Download file from github to keep track of the number of downloads +RUN wget https://github.com/LiamMcAllisterGroup/cytools/releases/download/v1.0.0/download_counter.txt # Copy code and installer COPY . /opt/cytools/ @@ -103,6 +111,7 @@ WORKDIR /home/$USERNAME/mounted_volume # Start jupyter lab by default USER $USERNAME +USER $USERNAME ENV JULIA_REVISE_POLL=1 EXPOSE 8996 ENV newARGS="docker" From 16a7a980a073128e4b7c20088767e2b992516193 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 23 Jun 2023 16:08:54 +0200 Subject: [PATCH 091/245] added git and julia installations fixed typos --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 07e1a3d..cc3e17b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN apt-get -yqq install autoconf build-essential nano cmake libgmp-dev libcgal- libmpc-dev libsuitesparse-dev libppl-dev libeigen3-dev\ libc6 libcdd0d libgmp10 libgmpxx4ldbl libstdc++6 palp\ libflint-dev libflint-arb-dev python3 python3-pip curl\ - wget libmath-libm-perl python3-venv normaliz libqsopt-ex2 + wget libmath-libm-perl python3-venv normaliz libqsopt-ex2 git # Make a soft link to the arb library and flint headers so that python-flint can install RUN ln -s /usr/lib/${AARCH}-linux-gnu/libflint-arb.so /usr/lib/${AARCH}-linux-gnu/libarb.so @@ -52,6 +52,7 @@ WORKDIR /opt/cytools/ COPY ./requirements.txt /opt/cytools/requirements.txt RUN pip3 install -r requirements.txt RUN pip3 install python-flint==0.3.0 +RUN pip3 install julia RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic @@ -111,7 +112,7 @@ WORKDIR /home/$USERNAME/mounted_volume # Start jupyter lab by default USER $USERNAME -USER $USERNAME + ENV JULIA_REVISE_POLL=1 EXPOSE 8996 ENV newARGS="docker" From 1ecc29b612fa470ff1382066ff53d94d0a5051c2 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 23 Jun 2023 19:24:09 +0200 Subject: [PATCH 092/245] error fixed, typos corrected --- src/init_python.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/init_python.jl b/src/init_python.jl index c752e05..b029cc1 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -1,4 +1,5 @@ using Pkg + if haskey(ENV, "PYTHON") if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python" using PyCall @@ -10,7 +11,7 @@ if haskey(ENV, "PYTHON") if PyCall.current_python() != ENV["PYTHON"] Pkg.build("PyCall") end - else - error("Please set ENV['PYTHON'] with your PYTHONPATH") end +else + error("Please set PYTHON with your PYTHONPATH") end \ No newline at end of file From d9ccc8b4bcfad4a31e55caca1ec248964a627347 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 13:55:19 +0200 Subject: [PATCH 093/245] added ColorSchemes.jl allows for colourblind compatible schemes --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index 09c1c01..7b2416e 100644 --- a/Project.toml +++ b/Project.toml @@ -9,6 +9,7 @@ ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ClusterManagers = "34f1f09b-3a8b-5176-ab39-66d58a4d544e" +ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4" Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" From 5bf8ce2c5571c333e867221f24f2f48a79fcac89 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 13:57:04 +0200 Subject: [PATCH 094/245] jlm_minimize functions moved to module fixed in optim491 and optim current version for ~6k missing geoms --- scripts/optimize.jl | 11 ++++++++--- scripts/optimize_491.jl | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index 03d33d6..939add7 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -31,7 +31,7 @@ end if Nvac == 0 rm(CYAxiverse.filestructure.minfile(geom_idx)) try - res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + res = CYAxiverse.jlm_minimizer.minimize_save(geom_idx) open(l, "a") do outf write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) end @@ -43,7 +43,7 @@ end end else try - res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + res = CYAxiverse.jlm_minimizer.minimize_save(geom_idx) open(l, "a") do outf write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end @@ -83,6 +83,11 @@ h11list = CYAxiverse.filestructure.paths_cy()[2] h11list = h11list[:, h11list[1, :] .!= 491] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +geom_params = geom_params[:, end-6_000:end] ntasks = size(geom_params,1) size_procs = size(np) logfiles = [lfile for _=1:ntasks] @@ -90,7 +95,7 @@ logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") @time begin - res = pmap(main,geom_params, logfiles) + res = pmap(main, geom_params, logfiles) end GC.gc() diff --git a/scripts/optimize_491.jl b/scripts/optimize_491.jl index 4c3004e..5263b4d 100644 --- a/scripts/optimize_491.jl +++ b/scripts/optimize_491.jl @@ -31,7 +31,7 @@ end if Nvac == 0 rm(CYAxiverse.filestructure.minfile(geom_idx)) try - res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + res = CYAxiverse.jlm_minimizer.minimize_save(geom_idx) open(l, "a") do outf write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) end @@ -43,7 +43,7 @@ end end else try - res = CYAxiverse.generate.jlm_minimize_save(geom_idx) + res = CYAxiverse.jlm_minimizer.minimize_save(geom_idx) open(l, "a") do outf write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) end From 0e119c397599adfaee1e413c08c863f849da4bc1 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 13:57:21 +0200 Subject: [PATCH 095/245] parallelized --- scripts/plot_vacua_jlm.jl | 71 +++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 10 deletions(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index f8213a8..18b43c8 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -1,13 +1,64 @@ + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end ENV["newARGS"] = string("vacua_0323") -using CYAxiverse -@time CYAxiverse.generate.jlm_vacua_db(; n = 1000) -@time CYAxiverse.generate.jlm_vacua_db(; n = 10000) -@time vac_data = CYAxiverse.generate.jlm_vacua_db() -vac_square = hcat([vcat(item[1:4]...) for item in vac_data.square]...) -vac_1D = hcat([vcat(item[1:4]...) for item in vac_data.one_dim]...) -vac_ND = hcat([vcat(item[1:4]..., item[end]...) for item in vac_data.n_dim]...) -all_vacua = hcat(vac_square, vac_1D, vac_ND[1:4, :]) -no_vacua = hcat([vcat(item...) for item in vac_data.err]...) + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + +@everywhere function main(n, h11) + CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) +end +h11_temp = [4, 5, 6] +n10_temp = [10 for _ in 1:size(h11_temp, 1)] +n100_temp = [100 for _ in 1:size(h11_temp, 1)] +@time begin + pmap(main, n10_temp, h11_temp) +end +@time begin + pmap(main, n100_temp, h11_temp) +end +@time begin + vac_data = pmap(main, n100_temp, collect(4:40)) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) println(size(all_vacua)) println(size(no_vacua)) -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_data) \ No newline at end of file +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) +GC.gc() +h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) +n_list = [n_full for _ in 1:size(h11list, 1)] +@time begin + vac_data = pmap(main, n_list, h11list) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) + +println(size(all_vacua)) +println(size(no_vacua)) +GC.gc() +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) \ No newline at end of file From 3acf3afe63a1d39594ca56f0ca0ede9cb06a5efb Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 14:00:31 +0200 Subject: [PATCH 096/245] vacua.jl -> vacua_with_phases.jl rewritten for random phases runs over geoms with Nvac > 100 --- scripts/vacua.jl | 67 ---------------------------------- scripts/vacua_with_phases.jl | 71 ++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 67 deletions(-) delete mode 100644 scripts/vacua.jl create mode 100644 scripts/vacua_with_phases.jl diff --git a/scripts/vacua.jl b/scripts/vacua.jl deleted file mode 100644 index 1c5e75b..0000000 --- a/scripts/vacua.jl +++ /dev/null @@ -1,67 +0,0 @@ -# using Pkg -# Pkg.instantiate() - -using Distributed -using HDF5 -using MPIClusterManagers -import MPI -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else - error("no workers!") - exit() -end - -@everywhere using CYAxiverse - - -@everywhere function main_vac(h11,tri,cy,l) - try - test = CYAxiverse.generate.vacua_save_TB(h11,tri,cy); - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) - end - finally - open(l, "a") do outf - write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) - end - end - GC.gc() -end - -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) - -############################## -#### Initialise functions #### -############################## -@time temp_vac = main_vac(4,10,1,lfile) -h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1; lfile lfile lfile lfile] -@time begin - temp_vac = pmap(main_vac, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) -end -# println(temp_geom) -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) -### Clear memory ###### -temp_vac = nothing -GC.gc() - -############################## -############ Main ############ -############################## -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "systems to compute vacua in.\n")) -# h11 = shuffle(h11) -log_files_vac = [lfile for _=1:size(h11list,2)] -@time begin - res = pmap(main_vac,h11list[1,:],h11list[2,:],h11list[3,:],log_files_vac) -end - -GC.gc() -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) - diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl new file mode 100644 index 0000000..2d04694 --- /dev/null +++ b/scripts/vacua_with_phases.jl @@ -0,0 +1,71 @@ + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end +ENV["newARGS"] = string("vacua_0323") + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + +@everywhere function main(n, h11) + CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) +end + +@everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex, random_phase) + CYAxiverse.jlm_minimizer.minimize_save(geom_idx, random_phase) +end +h11_temp = [4, 5, 6] +n10_temp = [10 for _ in 1:size(h11_temp, 1)] +n100_temp = [100 for _ in 1:size(h11_temp, 1)] +@time begin + pmap(main, n10_temp, h11_temp) +end +@time begin + pmap(main, n100_temp, h11_temp) +end +@time begin + vac_data = pmap(main, n100_temp, collect(4:40)) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) +println(size(all_vacua)) +println(size(no_vacua)) + +h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) +n_list = [n_full for _ in 1:size(h11list, 1)] +@time begin + vac_data = pmap(main, n_list, h11list) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) + +println(size(all_vacua)) +println(size(no_vacua)) +@time large_vac = hcat([CYAxiverse.structs.GeometryIndex(item[1:3]...) for item in eachcol(all_vacua) if item[4] > 100]) +println(size(large_vac)) +random_phases = [true for _ in eachcol(large_vac)] +@time begin + pmap(optim_with_phases, large_vac, random_phases) +end \ No newline at end of file From 388786c15e9265f8f704c31db2fe9fde58c45d6f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 14:01:27 +0200 Subject: [PATCH 097/245] improved jlm_vacua_db now includes different h11 and n for parallelization --- src/generate.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/generate.jl b/src/generate.jl index 6d93c39..fb99e16 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1930,6 +1930,8 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) geom_list = [] if h11 === nothing geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, 1:n])] + elseif h11 !== nothing && n != size(paths_cy()[2], 2) + geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, paths_cy()[2][1, :] .== h11][:, 1:n])] else geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, paths_cy()[2][1, :] .== h11])] end From 9ed12242592ca59e88d6f59111348010934830c0 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 14:02:49 +0200 Subject: [PATCH 098/245] added random phases typos / missing modules corrected --- src/jlm_minimizer.jl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 58d1271..90ea946 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -4,6 +4,9 @@ Here we define functions related to JLM's python minimization methods """ module jlm_minimizer +using HDF5 +using LinearAlgebra +using GenericLinearAlgebra using ..jlm_python: one_dim_axion_solver, multi_axion_solver using ..generate: αmatrix, LQtilde, phase, vacua_SNF @@ -15,7 +18,7 @@ using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. """ -function minimize(geom_idx::GeometryIndex) +function minimize(geom_idx::GeometryIndex; random_phase=false) αtest = αmatrix(geom_idx; threshold=0.01) if typeof(αtest)<:Canonicalα Qtilde = LQtilde(geom_idx).Qtilde @@ -34,6 +37,9 @@ function minimize(geom_idx::GeometryIndex) return det_Q_tilde else phase_vector = phase(geom_idx.h11, αtest) + if random_phase + phase_vector = mod.(phase_vector .+ rand(Uniform(0, 2π), size(phase_vector, 1)), 2π) + end L_reduced = Matrix(hcat(αtest.Lhat[:, 1:geom_idx.h11][:, αtest.αrowmask], αtest.Lhat[:, geom_idx.h11+1:end][:, αtest.αcolmask])') # L_reduced = L_reduced[Qrowmask, :] flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) @@ -62,8 +68,8 @@ function minimize(geom_idx::GeometryIndex) end end -function minimize_save(geom_idx::GeometryIndex) - min_data = jlm_minimize(geom_idx) +function minimize_save(geom_idx::GeometryIndex; random_phase=false) + min_data = jlm_minimize(geom_idx; random_phase=random_phase) if isfile(minfile(geom_idx)) rm(minfile(geom_idx)) end From e1830ab987eaa94da08cdace41fb39d75605ecef Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 14:04:03 +0200 Subject: [PATCH 099/245] fixed box plotting functions added dispatch of vacua_db_jlm_box to take matrices of vacua separately ColorSchemes added for colorblind schemes --- src/plotting.jl | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index ed7b8dc..7a5c215 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -5,7 +5,7 @@ module plotting using ..filestructure: plots_dir, count_geometries, paths_cy using ..generate: jlm_vacua_db -using CairoMakie +using CairoMakie, ColorSchemes """ @@ -59,12 +59,20 @@ function vacua_db_jlm_box(vacua_db::NamedTuple) size_inches = (16, 12) size_pt = 72 .* size_inches f = Figure(resolution = size_pt, fontsize=22) - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) - ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), kwargs...) + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 10) - Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) - Label(f[end+1, 1:end], L"$h^{1,1}$") save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) end +function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) + vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) + size_inches = (16, 12) + size_pt = 72 .* size_inches + f = Figure(resolution = size_pt, fontsize=22) + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) + CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 10, colormap = :bam10, color = vacua_full[1, :]) + save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) +end end \ No newline at end of file From e76c412949a2a5b5118511cf70d6f23af80de48b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 14:59:46 +0200 Subject: [PATCH 100/245] fixed test run --- scripts/vacua_with_phases.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl index 2d04694..2b8eac9 100644 --- a/scripts/vacua_with_phases.jl +++ b/scripts/vacua_with_phases.jl @@ -37,7 +37,7 @@ end pmap(main, n100_temp, h11_temp) end @time begin - vac_data = pmap(main, n100_temp, collect(4:40)) + vac_data = pmap(main, [100 for _ in 4:40], collect(4:40)) end vac_square = hcat(vcat([item.square for item in vac_data]...)...) vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) @@ -47,7 +47,7 @@ vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) all_vacua = hcat(vac_square, vac_1D, vac_ND) println(size(all_vacua)) println(size(no_vacua)) - +GC.gc() h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) n_list = [n_full for _ in 1:size(h11list, 1)] @@ -63,6 +63,7 @@ all_vacua = hcat(vac_square, vac_1D, vac_ND) println(size(all_vacua)) println(size(no_vacua)) +GC.gc() @time large_vac = hcat([CYAxiverse.structs.GeometryIndex(item[1:3]...) for item in eachcol(all_vacua) if item[4] > 100]) println(size(large_vac)) random_phases = [true for _ in eachcol(large_vac)] From 55341786869019bad908b6710a6c8d42d8912643 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 15:00:27 +0200 Subject: [PATCH 101/245] fixed pmap test run --- scripts/plot_vacua_jlm.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 18b43c8..252db9a 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -33,7 +33,7 @@ end pmap(main, n100_temp, h11_temp) end @time begin - vac_data = pmap(main, n100_temp, collect(4:40)) + vac_data = pmap(main, [100 for _ in 4:40], collect(4:40)) end vac_square = hcat(vcat([item.square for item in vac_data]...)...) vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) From b0c5c256fc3da31b87f061a5a6e3ede68dcd783e Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 15:09:44 +0200 Subject: [PATCH 102/245] fixed missing geoms list --- scripts/optimize.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index 939add7..3c75479 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -87,7 +87,7 @@ geom_params = shuffle!(geom_params) ################################## ##### Missing geoms ############## ################################## -geom_params = geom_params[:, end-6_000:end] +geom_params = geom_params[end-6_000:end, :] ntasks = size(geom_params,1) size_procs = size(np) logfiles = [lfile for _=1:ntasks] From b8b5c6a81e0819039c99649be916d38bc9d03ee2 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:24:54 +0200 Subject: [PATCH 103/245] removed missing geoms !!!to be generated later!!! --- scripts/optimize.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index 3c75479..be8f72c 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -87,7 +87,8 @@ geom_params = shuffle!(geom_params) ################################## ##### Missing geoms ############## ################################## -geom_params = geom_params[end-6_000:end, :] +# geom_params = geom_params[end-6_000:end, :] +################################## ntasks = size(geom_params,1) size_procs = size(np) logfiles = [lfile for _=1:ntasks] From eae48a3725ea6007567f647a2e422cf526c15c3d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:25:29 +0200 Subject: [PATCH 104/245] find geoms with large vacua --- scripts/plot_vacua_jlm.jl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 252db9a..51321a2 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -41,9 +41,11 @@ vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) all_vacua = hcat(vac_square, vac_1D, vac_ND) +large_vacua = all_vacua[:, all_vacua[4, :] .> 100] println(size(all_vacua)) println(size(no_vacua)) -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) +println(size(large_vacua)) +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square[:, vac_square[4, :] .< 100], vac_1D[:, vac_1D[4, :] .< 100], vac_ND[:, vac_ND[4, :] .< 100]) GC.gc() h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) @@ -57,8 +59,9 @@ vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) all_vacua = hcat(vac_square, vac_1D, vac_ND) - +large_vacua = all_vacua[:, all_vacua[4, :] .> 100] println(size(all_vacua)) println(size(no_vacua)) +println(size(large_vacua)) GC.gc() -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) \ No newline at end of file +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square[:, vac_square[4, :] .< 100], vac_1D[:, vac_1D[4, :] .< 100], vac_ND[:, vac_ND[4, :] .< 100]) \ No newline at end of file From 1d897ce89f9d116f9331e0cc4e5dcb7378c77381 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:26:01 +0200 Subject: [PATCH 105/245] generate missing geometries --- scripts/top_geom_missing_h11.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl index 43684fb..60210ea 100644 --- a/scripts/top_geom_missing_h11.jl +++ b/scripts/top_geom_missing_h11.jl @@ -147,7 +147,7 @@ function h11_missing(h11list::Vector) end h11 end -h11 = [223, 226, 228, 235, 249, 250, 252, 253, 254, 255, 256, 257, 258] +h11 = [223, 225, 226, 228, 235, 249, 250, 252, 253, 254, 255, 256, 257, 258] ############################## ############ Main ############ From cbbb9821448b0a07940659fe9caacce37aa1af2f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:26:27 +0200 Subject: [PATCH 106/245] fair/fast switch --- scripts/top_geom.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index 39a2c41..eb92e11 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -181,7 +181,7 @@ log_files_top = run_vars.log_files CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11), "topologies to run.\n")) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("These are ", h11, "\n")) @time begin - h11cylist = pmap(main_top_fair,h11,n,log_files_top) + h11cylist = pmap(main_top,h11,n,log_files_top) end h11cylist = hcat(h11cylist...)[:, hcat(h11cylist...)[1,:] .!= 0] From 6483f03d8ba564953db9da9a14b71a1b2df75fdd Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:26:46 +0200 Subject: [PATCH 107/245] fix typos --- scripts/vacua_with_phases.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl index 2b8eac9..cd09614 100644 --- a/scripts/vacua_with_phases.jl +++ b/scripts/vacua_with_phases.jl @@ -25,7 +25,7 @@ ENV["newARGS"] = string("vacua_0323") end @everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex, random_phase) - CYAxiverse.jlm_minimizer.minimize_save(geom_idx, random_phase) + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = random_phase) end h11_temp = [4, 5, 6] n10_temp = [10 for _ in 1:size(h11_temp, 1)] @@ -66,6 +66,7 @@ println(size(no_vacua)) GC.gc() @time large_vac = hcat([CYAxiverse.structs.GeometryIndex(item[1:3]...) for item in eachcol(all_vacua) if item[4] > 100]) println(size(large_vac)) +println(large_vac) random_phases = [true for _ in eachcol(large_vac)] @time begin pmap(optim_with_phases, large_vac, random_phases) From af67cf14d65b2fa280485715acf4f9ce593b5ecd Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:27:10 +0200 Subject: [PATCH 108/245] added Distributions.jl fixed typos --- src/jlm_minimizer.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 90ea946..50bae7c 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -5,7 +5,7 @@ Here we define functions related to JLM's python minimization methods """ module jlm_minimizer using HDF5 -using LinearAlgebra +using LinearAlgebra, Distributions using GenericLinearAlgebra using ..jlm_python: one_dim_axion_solver, multi_axion_solver @@ -69,7 +69,7 @@ function minimize(geom_idx::GeometryIndex; random_phase=false) end function minimize_save(geom_idx::GeometryIndex; random_phase=false) - min_data = jlm_minimize(geom_idx; random_phase=random_phase) + min_data = minimize(geom_idx; random_phase=random_phase) if isfile(minfile(geom_idx)) rm(minfile(geom_idx)) end From 77041c1a9b9c0b416b2b3c351ffb91e49daab03a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 5 Jul 2023 20:27:34 +0200 Subject: [PATCH 109/245] amended sizes of boxplot --- src/plotting.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 7a5c215..87e5a95 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -67,12 +67,12 @@ end function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) - size_inches = (16, 12) + size_inches = (40, 30) size_pt = 72 .* size_inches - f = Figure(resolution = size_pt, fontsize=22) - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + f = Figure(resolution = size_pt, fontsize=40) + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 52, ylabelsize = 52) ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) - CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 10, colormap = :bam10, color = vacua_full[1, :]) + CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 20, colormap = :bam10, color = vacua_full[1, :]) save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) end end \ No newline at end of file From 42f5b6f7b36a1f0ac3d1cb94f67d46a348f306b7 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 6 Jul 2023 11:58:28 +0200 Subject: [PATCH 110/245] added missing functions from filestructure module added missing structs included threshold as input for minimize --- src/jlm_minimizer.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 50bae7c..4ca8c0c 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -10,16 +10,16 @@ using GenericLinearAlgebra using ..jlm_python: one_dim_axion_solver, multi_axion_solver using ..generate: αmatrix, LQtilde, phase, vacua_SNF - -using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND +using ..filestructure: minfile, paths_cy +using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND """ jlm_minimize(geom_idx::GeometryIndex) If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. """ -function minimize(geom_idx::GeometryIndex; random_phase=false) - αtest = αmatrix(geom_idx; threshold=0.01) +function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) + αtest = αmatrix(geom_idx; threshold=threshold) if typeof(αtest)<:Canonicalα Qtilde = LQtilde(geom_idx).Qtilde det_Q_tilde = Int(abs(round(det(Qtilde)))) @@ -68,8 +68,8 @@ function minimize(geom_idx::GeometryIndex; random_phase=false) end end -function minimize_save(geom_idx::GeometryIndex; random_phase=false) - min_data = minimize(geom_idx; random_phase=random_phase) +function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) + min_data = minimize(geom_idx; random_phase=random_phase, threshold = threshold) if isfile(minfile(geom_idx)) rm(minfile(geom_idx)) end From c069d8feda4355489a424322dfc16df256a6c379 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 6 Jul 2023 11:59:52 +0200 Subject: [PATCH 111/245] increased boxplot size added Color-Vision Deficient-friendly scheme as colormap --- src/plotting.jl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 87e5a95..c75648b 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -67,12 +67,14 @@ end function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) - size_inches = (40, 30) + size_inches = (48, 36) size_pt = 72 .* size_inches - f = Figure(resolution = size_pt, fontsize=40) - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 52, ylabelsize = 52) + f = Figure(resolution = size_pt, fontsize=48) + kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$\mathcal{N}_{\!\!\mathrm{vac}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5)) ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) - CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 20, colormap = :bam10, color = vacua_full[1, :]) + CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 15, colormap = :twilight, color = vacua_full[1, :], whiskerwidth = 0.75) save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) end + + end \ No newline at end of file From d5704974bd939890957762c28309a16f6e0e4e08 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 7 Jul 2023 15:06:18 +0200 Subject: [PATCH 112/245] combined boxplot functions rotated to be portrait --- src/plotting.jl | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index c75648b..9136f42 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -15,7 +15,7 @@ TBW """ function vacua_db_jlm(vac_data::NamedTuple) f = Figure() - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + kwargs = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) ax1 = Axis(f[2, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), yscale = Makie.pseudolog10, kwargs...) ax2 = Axis(f[2, 2]; xticks = [4, 50, 100, 200, 300, 400, 491], xminorticks = IntervalsBetween(5), yscale = Makie.pseudolog10, yticks = [1, 10, 50, 100, 500, 1000, 2000], kwargs...) ax3 = Axis(f[1, 1:3]; xticks = [4, 50, 100, 200, 300, 400, 491], yscale = Makie.pseudolog10, kwargs...) @@ -26,8 +26,8 @@ function vacua_db_jlm(vac_data::NamedTuple) sc_square = scatter!(ax3, square_vac[1, square_vac[2, :] .!= 0], square_vac[2, square_vac[2, :] .!= 0], marker = :circle, color = :green, markersize = 10, label = "0 extra rows") sc_onedim = scatter!(ax1, one_dim_vac[1, one_dim_vac[2, :] .!= 0], one_dim_vac[2, one_dim_vac[2, :] .!= 0], color = :cyan, marker = :utriangle, markersize = 10, label = "1 extra row") sc_ndim = scatter!(ax2, n_dim_vac[1, n_dim_vac[2, :] .!= 0], n_dim_vac[2, n_dim_vac[2, :] .!= 0], color = n_dim_vac[3, n_dim_vac[2, :] .!= 0], colormap = :thermal, marker = :rect, markersize = 10, label = L"$N$ extra rows") - axislegend(ax3, [sc_square, sc_onedim, sc_ndim], [L"$0$", L"$1$", L"$N$"], "Number of Extra Rows", orientation = :horizontal, titlefont = "Utopia Bold") - Colorbar(f[2,3], limits = (minimum(n_dim_vac[3, n_dim_vac[2, :] .!= 0]), maximum(n_dim_vac[3, n_dim_vac[2, :] .!= 0])), colormap = :thermal, label = L"$N$", ticklabelfont = "Utopia") + axislegend(ax3, [sc_square, sc_onedim, sc_ndim], [L"$0$", L"$1$", L"$N$"], "Number of Extra Rows", orientation = :horizontal, titlefont = "STIX Bold") + Colorbar(f[2,3], limits = (minimum(n_dim_vac[3, n_dim_vac[2, :] .!= 0]), maximum(n_dim_vac[3, n_dim_vac[2, :] .!= 0])), colormap = :thermal, label = L"$N$", ticklabelfont = "STIX") Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) Label(f[end+1, 1:end], L"$h^{1,1}$") save(joinpath(plots_dir(), "N_vac_KS.pdf"), f, pt_per_unit = 1) @@ -51,30 +51,33 @@ function total_geometries(n=nothing) save(joinpath(plots_dir(), "total_geometries.pdf"), fig_h11size, pt_per_unit = 1) end -function vacua_db_jlm_box(vacua_db::NamedTuple) - square = hcat(vacua_db.square...) - one_dim = hcat([item[1:4] for item in vacua_db.one_dim]...) - n_dim = hcat([[item[1:4]...,item[end]] for item in vacua_db.n_dim if item[4] != 0]...) - vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) - size_inches = (16, 12) - size_pt = 72 .* size_inches - f = Figure(resolution = size_pt, fontsize=22) - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$N_{\!\!\mathrm{vacua}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) - ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) - CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 10) - save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) -end +""" + vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) +TBW +""" function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) - size_inches = (48, 36) + size_inches = (36, 48) size_pt = 72 .* size_inches + colors = resample_cmap(:twilight, size(collect(Set(vacua_full[1,:])), 1)) f = Figure(resolution = size_pt, fontsize=48) - kwargs = (; xticklabelfont = "Utopia", yticklabelfont = "Utopia", xlabel =L"$h^{1,1}$", ylabel = L"$\mathcal{N}_{\!\!\mathrm{vac}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5)) + kwargs = (; xticklabelfont = "STIX", yticklabelfont = "STIX", ylabel =L"$h^{1,1}$", xlabel = L"$\mathcal{N}_{\!\!\mathrm{vac}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors)) ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) - CairoMakie.boxplot!(ax1, vacua_full[1, :], vacua_full[end, :], marker = :xcross, markersize = 15, colormap = :twilight, color = vacua_full[1, :], whiskerwidth = 0.75) + for item in sort(collect(Set(vacua_full[1, :]))) + CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], orientation = :horizontal, marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9) + end save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) end +function vacua_db_jlm_box(vacua_db::NamedTuple) + square = hcat(vacua_db.square...) + one_dim = hcat([item[1:4] for item in vacua_db.one_dim]...) + n_dim = hcat([[item[1:4]...,item[end]] for item in vacua_db.n_dim if item[4] != 0]...) + vacua_db_jlm_box(square, one_dim, n_dim) +end + + + end \ No newline at end of file From 2fe6fadc18f1ddfaaeaf75a4b06499309ca24a7b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 7 Jul 2023 15:06:57 +0200 Subject: [PATCH 113/245] still 333 geoms returning 0 vacua add random_phase to see if this fixes --- scripts/vacua_with_phases.jl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl index cd09614..48cf605 100644 --- a/scripts/vacua_with_phases.jl +++ b/scripts/vacua_with_phases.jl @@ -64,7 +64,17 @@ all_vacua = hcat(vac_square, vac_1D, vac_ND) println(size(all_vacua)) println(size(no_vacua)) GC.gc() -@time large_vac = hcat([CYAxiverse.structs.GeometryIndex(item[1:3]...) for item in eachcol(all_vacua) if item[4] > 100]) +@time begin + large_vac = [] + for item in eachcol(hcat(no_vacua, vac_1D, vac_ND)) + if item[4] > 20 + push!(large_vac, CYAxiverse.structs.GeometryIndex(item[1:3]...)) + elseif item[4] == 0 + push!(large_vac, CYAxiverse.structs.GeometryIndex(item[1:3]...)) + end + end + large_vac = hcat(large_vac...) +end println(size(large_vac)) println(large_vac) random_phases = [true for _ in eachcol(large_vac)] From 675936d4d115e2ab8ba6ba0973bf80f68ac30aab Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 7 Jul 2023 15:07:12 +0200 Subject: [PATCH 114/245] Initialise python first --- src/CYAxiverse.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 4c5f6c1..0cddf4e 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -5,6 +5,7 @@ A Julia package for computing axion/ALP spectra and statistics using geometric d """ module CYAxiverse +include("init_python.jl") if haskey(ENV,"newARGS") else println("Please specify where to read/write data, currently using pwd!") @@ -17,7 +18,6 @@ include("minimizer.jl") include("generate.jl") include("../add_functions/profiling.jl") -include("init_python.jl") if haskey(ENV, "SINGULARITY_CONTAINER") if occursin("CYTools",ENV["SINGULARITY_CONTAINER"]) include("../add_functions/cytools_wrapper.jl") From 6ffdd68374ecb0e2d02d7c267efb33da241d85f8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 7 Jul 2023 15:07:39 +0200 Subject: [PATCH 115/245] add 0 to no_vac such that dimensions match --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index fb99e16..bd2e36a 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1947,7 +1947,7 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) end else - push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst]) + push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, 0]) end end return (square = vac_square, one_dim = vac_1D, n_dim = vac_ND, err = no_vac) From 8a80ace56458f7290d40e2f603e3580edff5001b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 7 Jul 2023 15:08:13 +0200 Subject: [PATCH 116/245] fixed PyCall building process at package initialisation --- src/init_python.jl | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/init_python.jl b/src/init_python.jl index b029cc1..c38fcfc 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -1,15 +1,28 @@ using Pkg if haskey(ENV, "PYTHON") + println("Your current PYTHON is $(ENV["PYTHON"])") if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python" - using PyCall - if PyCall.current_python() != ENV["PYTHON"] + try + using PyCall + if PyCall.current_python() != ENV["PYTHON"] + Pkg.build("PyCall") + println("PyCall.jl has been built using $(ENV["PYTHON"])") + end + catch e Pkg.build("PyCall") + println("PyCall.jl has been built using $(ENV["PYTHON"])") end elseif ENV["PYTHON"] == "/scratch/users/mehta2/cyaxiverse_python/bin/python" - using PyCall - if PyCall.current_python() != ENV["PYTHON"] + try + using PyCall + if PyCall.current_python() != ENV["PYTHON"] + Pkg.build("PyCall") + println("PyCall.jl has been built using $(ENV["PYTHON"])") + end + catch e Pkg.build("PyCall") + println("PyCall.jl has been built using $(ENV["PYTHON"])") end end else From a4d8cd18709e30896e432154c6a7f64700ce2d5b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 8 Jul 2023 11:01:54 +0200 Subject: [PATCH 117/245] added ylims --- src/plotting.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plotting.jl b/src/plotting.jl index 9136f42..6051389 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -67,6 +67,7 @@ function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) for item in sort(collect(Set(vacua_full[1, :]))) CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], orientation = :horizontal, marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9) end + ylims!(ax1, 1, 494) save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) end From ef0d6d768a3d4d564569b63587558ab4dafef3fb Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 8 Jul 2023 11:03:42 +0200 Subject: [PATCH 118/245] differentiate missing minfile vs Nvac=0 errors --- scripts/plot_vacua_jlm.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 51321a2..556367d 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -56,12 +56,14 @@ end vac_square = hcat(vcat([item.square for item in vac_data]...)...) vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) -no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +err_vacua = hcat(vcat([item.err for item in vac_data]...)...), +no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] == 0]...) vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) all_vacua = hcat(vac_square, vac_1D, vac_ND) large_vacua = all_vacua[:, all_vacua[4, :] .> 100] println(size(all_vacua)) +println(size(err_vacua)) println(size(no_vacua)) println(size(large_vacua)) GC.gc() -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square[:, vac_square[4, :] .< 100], vac_1D[:, vac_1D[4, :] .< 100], vac_ND[:, vac_ND[4, :] .< 100]) \ No newline at end of file +@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) \ No newline at end of file From 9d85b1776ffdfc90f150c9c6167d9b886764c4c0 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 8 Jul 2023 14:31:05 +0200 Subject: [PATCH 119/245] CYTools uses python3 --- src/init_python.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/init_python.jl b/src/init_python.jl index c38fcfc..c4c4354 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -2,7 +2,7 @@ using Pkg if haskey(ENV, "PYTHON") println("Your current PYTHON is $(ENV["PYTHON"])") - if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python" + if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python3" try using PyCall if PyCall.current_python() != ENV["PYTHON"] From 4140bfcf3538ee69beeb021093f07b321af7561c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 8 Jul 2023 14:34:42 +0200 Subject: [PATCH 120/245] amended to use occursin generic python installations vs cytools --- src/init_python.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/init_python.jl b/src/init_python.jl index c4c4354..9594fb8 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -2,7 +2,7 @@ using Pkg if haskey(ENV, "PYTHON") println("Your current PYTHON is $(ENV["PYTHON"])") - if ENV["PYTHON"] == "/home/cytools/cytools-venv//bin/python3" + if occursin("cytools", ENV["PYTHON"]) try using PyCall if PyCall.current_python() != ENV["PYTHON"] @@ -13,7 +13,7 @@ if haskey(ENV, "PYTHON") Pkg.build("PyCall") println("PyCall.jl has been built using $(ENV["PYTHON"])") end - elseif ENV["PYTHON"] == "/scratch/users/mehta2/cyaxiverse_python/bin/python" + else try using PyCall if PyCall.current_python() != ENV["PYTHON"] From ad41e4669b4f99c93cdbf73c46b04af8d9b4a8f2 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sun, 9 Jul 2023 12:54:22 +0200 Subject: [PATCH 121/245] added nsteps to boxplot colorbar size(h11list, 1) != maximum(h11list) --- src/plotting.jl | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 6051389..3499d07 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -58,17 +58,45 @@ TBW """ function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) + h11list = collect(Set(vacua_full[1, :])) + max_h11 = min(400, maximum(h11list)) + min_h11 = minimum(h11list) size_inches = (36, 48) size_pt = 72 .* size_inches - colors = resample_cmap(:twilight, size(collect(Set(vacua_full[1,:])), 1)) + colors = resample_cmap(:twilight, size(sort(h11list), 1)) f = Figure(resolution = size_pt, fontsize=48) - kwargs = (; xticklabelfont = "STIX", yticklabelfont = "STIX", ylabel =L"$h^{1,1}$", xlabel = L"$\mathcal{N}_{\!\!\mathrm{vac}}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors)) - ax1 = Axis(f[1, 1]; xticks = [4, 50, 100, 200, 300, 400, 491], kwargs...) - for item in sort(collect(Set(vacua_full[1, :]))) - CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], orientation = :horizontal, marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9) + kwargs1 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", ylabel =L"$h^{1,1}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[1:size(h11list[h11list .<= floor(max_h11 / 4)], 1)])) + kwargs2 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 4)], 1)+1:size(h11list[h11list .<= floor(max_h11 / 2)], 1)])) + kwargs3 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 2)], 1)+1:size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)])) + kwargs4 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)+1 : end])) + ax1 = Axis(f[1, 1]; yticks = [4, 50, 100], kwargs1...) + ax2 = Axis(f[1, 2]; yticks = [100, 150, 200], kwargs2...) + ax3 = Axis(f[1, 3]; yticks = [200, 250, 300], kwargs3...) + ax4 = Axis(f[1, 4]; yticks = [300, 350, 400, 491], kwargs4...) + for item in sort(h11list[h11list .<= floor(max_h11 / 4)]) + CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) end - ylims!(ax1, 1, 494) + for item in sort(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) + CairoMakie.boxplot!(ax2, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + end + for item in sort(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) + CairoMakie.boxplot!(ax3, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + end + for item in sort(h11list[floor(3*max_h11 / 4) .< h11list]) + CairoMakie.boxplot!(ax4, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + end + Colorbar(f[1:end, 0], limits=(4, maximum(h11list)), colormap = :twilight, ticklabelfont = "STIX", ticks = [4, collect(50:50:400)..., 491], nsteps = size(h11list, 1), label=L"$h^{1,1}$", flipaxis=false) + Label(f[end+1, :], L"$\mathcal{N}_{\!\!\mathrm{vac}}$") + # Label(f[:, 0], L"$h^{1,1}$", rotation = π/2) + for ax in [ax1, ax2, ax3, ax4] + hideydecorations!(ax) + end + # ylims!(ax1, 1, maximum(h11list[h11list .<= floor(max_h11 / 4)])+3) + # ylims!(ax2, minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) - 3, maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])+3) + # ylims!(ax3, minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) - 3, maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])+3) + # ylims!(ax4, minimum(h11list[floor(3*max_h11 / 4) .< h11list]) - 3, maximum(h11list[floor(3*max_h11 / 4) .< h11list])+3) save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) + # f end function vacua_db_jlm_box(vacua_db::NamedTuple) From 44bf4f9aad0601578ff96d31e21c718a56ba446a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sun, 9 Jul 2023 12:54:57 +0200 Subject: [PATCH 122/245] assert Int on err_vacua --- scripts/plot_vacua_jlm.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 556367d..744d986 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -56,7 +56,7 @@ end vac_square = hcat(vcat([item.square for item in vac_data]...)...) vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) -err_vacua = hcat(vcat([item.err for item in vac_data]...)...), +err_vacua = Int.(hcat(vcat([item.err for item in vac_data]...)...)) no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] == 0]...) vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) all_vacua = hcat(vac_square, vac_1D, vac_ND) From 0ba1d85c60ba2c57412ab6ecb61beba3beac16c5 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:25:30 +0200 Subject: [PATCH 123/245] fixed cy_from_poly --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 12e6af1..bf7bae6 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -257,7 +257,7 @@ Returns [XXX, PyObject (triangulation), YYYYYYY, ZZZZZZZ] """ function cy_from_poly(h11) h11list_temp = [] - h11list_inds = np_path_generate(h11) + h11list_inds = np_path_generate(h11)[2] for col in eachcol(h11list_inds) h11,tri,cy_i = col top_data = topology(h11,tri,cy_i) From 7e1809b045570c17c32bab9ea20232672cd21d27 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:25:54 +0200 Subject: [PATCH 124/245] minimizers return detQTilde --- jlm_python/jlm_python.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jlm_python/jlm_python.jl b/jlm_python/jlm_python.jl index 001c555..0165d97 100644 --- a/jlm_python/jlm_python.jl +++ b/jlm_python/jlm_python.jl @@ -101,7 +101,7 @@ function __init__() N_unique = Theta_unique_final.shape[0] Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) - return Total_min_theory, Theta_unique_final + return Total_min_theory, Theta_unique_final, det_QTilde ############################ @@ -248,7 +248,7 @@ function __init__() N_unique = Theta_unique_final.shape[0] Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) - return Total_min_theory, Theta_unique_final + return Total_min_theory, Theta_unique_final, det_QTilde """ end @@ -262,13 +262,13 @@ function one_dim_axion_solver(T::Solver1D) Z = T.Z inv_symmetries = T.inv_symmetries det_Sym = T.det_Sym - Total_min_theory, Theta_unique_final = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" - Min_JLM_1D(Total_min_theory, Theta_unique_final, 1) + Total_min_theory, Theta_unique_final, det_QTilde = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1, Int(det_QTilde)) end function one_dim_axion_solver(search_domain, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) Total_min_theory, Theta_unique_final = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" - Min_JLM_1D(Total_min_theory, Theta_unique_final, 1) + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1, Int(det_QTilde)) end function multi_axion_solver(T::SolverND) @@ -282,12 +282,12 @@ function multi_axion_solver(T::SolverND) inv_symmetries = T.inv_symmetries det_Sym = T.det_Sym Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" - Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2)) + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2), Int(det_QTilde)) end function multi_axion_solver(samples, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" - Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2)) + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2), Int(det_QTilde)) end end \ No newline at end of file From 70defc23241ba2a29c20b040105b972cba9b8ee8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:26:21 +0200 Subject: [PATCH 125/245] return detQTilde and save --- scripts/optimize.jl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index be8f72c..ec4f559 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -26,10 +26,11 @@ end if isfile(CYAxiverse.filestructure.minfile(geom_idx)) Nvac = 0 h5open(CYAxiverse.filestructure.minfile(geom_idx), "r") do file - Nvac = HDF5.read(file, "Nvac") + if haskey(file, "Nvac") + Nvac = HDF5.read(file, "Nvac") + end end if Nvac == 0 - rm(CYAxiverse.filestructure.minfile(geom_idx)) try res = CYAxiverse.jlm_minimizer.minimize_save(geom_idx) open(l, "a") do outf @@ -80,7 +81,8 @@ GC.gc() ############################## Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] -h11list = h11list[:, h11list[1, :] .!= 491] +# h11list = h11list[:, h11list[1, :] .!= 491] +h11list = h11list[:, h11list[1, :] .== 225 .|| h11list[1, :] .== 249 .|| h11list[1, :] .== 252 .|| h11list[1, :] .== 254] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) From 796aeb5a19bb04d08e62a1510adbd67ae9fe76c4 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:26:45 +0200 Subject: [PATCH 126/245] add detQTilde to minfile --- scripts/Qeff.jl | 79 +++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/scripts/Qeff.jl b/scripts/Qeff.jl index 539f19d..b49b5f4 100644 --- a/scripts/Qeff.jl +++ b/scripts/Qeff.jl @@ -16,7 +16,7 @@ else end @everywhere using CYAxiverse -@everywhere using LinearAlgebra +@everywhere using LinearAlgebra, Random @everywhere using HDF5 @@ -42,32 +42,18 @@ end end end - @everywhere function main_Qshape(geom_idx::CYAxiverse.structs.GeometryIndex, l) threshold = 1e-2 h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst - if isfile(joinpath(CYAxiverse.filestructure.geom_dir(geom_idx),"qshape.h5")) - rm(joinpath(CYAxiverse.filestructure.geom_dir(geom_idx),"qshape.h5")) - main_Qshape(geom_idx, l) - else - if isfile(CYAxiverse.filestructure.minfile(geom_idx)) - try - CYAxiverse.generate.vacua_estimate_save(geom_idx; threshold=threshold) - catch e - open(l, "a") do outf - write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) - end - if isfile(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) - rm(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5")) - end - h5open(joinpath(CYAxiverse.filestructure.geom_dir(h11,tri,cy),"qshape.h5"), "cw") do f - f["square", deflate=9] = 0 - f["vacua_estimate", deflate=9] = 0 - end - finally - open(l, "a") do outf - write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) - end + try + CYAxiverse.generate.vacua_estimate_save(geom_idx; threshold=threshold) + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) + end + finally + open(l, "a") do outf + write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) end end end @@ -99,42 +85,51 @@ function main_sortQ(h11list::Matrix) end end end + lfile = CYAxiverse.filestructure.logfile() CYAxiverse.filestructure.logcreate(lfile) ############################## #### Initialise functions #### ############################## -@time temp_spec = column_estimate(4,10,1,lfile) -h11list_temp = [4 4 5 7; 10 1 5 7; 1 1 1 1; lfile lfile lfile lfile] +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main_Qshape(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] @time begin - temp_vac = pmap(column_estimate, h11list_temp[1,:],h11list_temp[2,:],h11list_temp[3,:], h11list_temp[4,:]) + temp_vac = pmap(main_Qshape, h11list_temp, log_file_temp) end - -# @time begin -# main_sortQ(h11list_temp[1:3,:]) -# end # println(temp_geom) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) ### Clear memory ###### -temp_spec = nothing +temp_vac = nothing GC.gc() ############################## ############ Main ############ ############################## -@time h11list = CYAxiverse.filestructure.paths_cy()[2] -CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("There are ", size(h11list), "Qeff shapes to compute.\n")) -# h11 = shuffle(h11) -log_files_spec = [lfile for _=1:size(h11list,2)] +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + @time begin - res = pmap(column_estimate, h11list[1,:], h11list[2,:], h11list[3,:], log_files_spec) + res = pmap(main_Qshape, geom_params, logfiles) end -# @time begin -# main_sortQ(h11list) -# end - - +GC.gc() CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) From 34778e77b9bf1b0c4c5c626a9f4ebb36503d9719 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:27:22 +0200 Subject: [PATCH 127/245] collect vacua database for Axiverse Vacua project --- scripts/save_vacua_db.jl | 83 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 scripts/save_vacua_db.jl diff --git a/scripts/save_vacua_db.jl b/scripts/save_vacua_db.jl new file mode 100644 index 0000000..720145b --- /dev/null +++ b/scripts/save_vacua_db.jl @@ -0,0 +1,83 @@ + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end +ENV["newARGS"] = string("vacua_0323") + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + +@everywhere function main(n, h11) + CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) +end + +function save_vacua_db(square::Matrix, one_dim::Matrix, n_dim::Matrix) + if isfile(joinpath(CYAxiverse.filestructure.data_dir(),"vacua_jlm_db.h5")) + rm(joinpath(CYAxiverse.filestructure.data_dir(),"vacua_jlm_db.h5")) + end + h5open(joinpath(CYAxiverse.filestructure.data_dir(),"vacua_jlm_db.h5"), "cw") do f + f["square", deflate=9] = square + f["one_dim", deflate=9] = one_dim + f["n_dim", deflate=9] = n_dim + # f["detQtilde", deflate=9] = detQtilde + end +end +h11_temp = [4, 5, 6] +n10_temp = [10 for _ in 1:size(h11_temp, 1)] +n100_temp = [100 for _ in 1:size(h11_temp, 1)] +@time begin + pmap(main, n10_temp, h11_temp) +end +@time begin + pmap(main, n100_temp, h11_temp) +end +@time begin + vac_data = pmap(main, [100 for _ in 4:40], collect(4:40)) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] +# vac_detQ = hcat(vcat([item.detQ for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) +large_vacua = all_vacua[:, all_vacua[4, :] .> 100] +println(size(all_vacua)) +println(size(no_vacua)) +println(size(large_vacua)) +@time save_vacua_db(vac_square, vac_1D, vac_ND) +GC.gc() +h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) +n_list = [n_full for _ in 1:size(h11list, 1)] +@time begin + vac_data = pmap(main, n_list, h11list) +end +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] +# vac_detQ = hcat(vcat([item.detQ for item in vac_data]...)...) +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +err_vacua = Int.(hcat(vcat([item.err for item in vac_data]...)...)) +no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] == 0]...) +vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND) +large_vacua = all_vacua[:, all_vacua[4, :] .> 100] +println(size(all_vacua)) +println(size(err_vacua)) +println(size(no_vacua)) +println(size(large_vacua)) +GC.gc() +@time save_vacua_db(vac_square, vac_1D, vac_ND) \ No newline at end of file From 6f423df0be0a5e1cd726ac43689d21601481c4f9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:27:34 +0200 Subject: [PATCH 128/245] generate small h11 geometries --- scripts/top_geom.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index eb92e11..a604e12 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -124,7 +124,7 @@ GC.gc() ############################## h11_init = 1 np = nworkers() -h11_end = 96 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! +h11_end = 3 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! h11 = collect(h11_init:h11_init+h11_end) max_split = 0 n_split = 1 From 50fcab166ebea2dc1e1eadc8cfda67c712779f80 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:28:34 +0200 Subject: [PATCH 129/245] testing functions for database walking --- scripts/testing/filestructure_db.jl | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scripts/testing/filestructure_db.jl diff --git a/scripts/testing/filestructure_db.jl b/scripts/testing/filestructure_db.jl new file mode 100644 index 0000000..f2d5232 --- /dev/null +++ b/scripts/testing/filestructure_db.jl @@ -0,0 +1,41 @@ +function np_path_generate(; geometric_data::Bool = false) + np_paths = Vector{UInt8}[] + np_pathinds = Vector{Int}[] + for i in first(walkdir(CYAxiverse.filestructure.present_dir()))[2] + if occursin(r"h11_*", i) + for j in first(walkdir(joinpath(CYAxiverse.filestructure.present_dir(),i)))[2] + if occursin(r"np_*", j) + if isfile(joinpath(CYAxiverse.filestructure.present_dir(),i,j,"K.hdf5")) + h11, tri, cy = parse(Int,SubString(i,5,7)), parse(Int,SubString(j,4,10)), 1 + if geometric_data + if CYAxiverse.filestructure.isgeometry(h11, tri, cy) + push!(np_paths,transcode(UInt8,joinpath(i,j,"cy_0000001"))) + push!(np_pathinds,[h11, tri, cy]) + end + else + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + end + for k in first(walkdir(joinpath(CYAxiverse.filestructure.present_dir(),i,j)))[2] + if occursin(r"cy_*", k) + if isfile(joinpath(CYAxiverse.filestructure.present_dir(),i,j,k,"K.hdf5")) + h11, tri, cy = parse(Int,SubString(i,5,7)), parse(Int,SubString(j,4,10)), parse(Int,SubString(k,4,10)) + if geometric_data + if CYAxiverse.filestructure.isgeometry(h11, tri, cy) + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + else + push!(np_paths,transcode(UInt8,joinpath(i,j,k))) + push!(np_pathinds,[h11, tri, cy]) + end + end + end + end + end + end + end + end + hcat(np_paths...), hcat(np_pathinds...) +end \ No newline at end of file From 18c968241e5f0588c4e1323aadd378f3d428f179 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:29:03 +0200 Subject: [PATCH 130/245] change port number to allow simultaneous notebooks --- scripts/testing/pluto_docker.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/testing/pluto_docker.jl b/scripts/testing/pluto_docker.jl index f1ecaa9..02d42b4 100644 --- a/scripts/testing/pluto_docker.jl +++ b/scripts/testing/pluto_docker.jl @@ -3,4 +3,4 @@ Pkg.instantiate() using Revise using Pluto # cd("/scratch/users/mehta2/vacua_db") -Pluto.run(host="0.0.0.0", port=8996, require_secret_for_access=false) \ No newline at end of file +Pluto.run(host="0.0.0.0", port=8994, require_secret_for_access=false) \ No newline at end of file From aeb762aadc87a0087f0aeee5ffe0ee9d0047693b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:29:22 +0200 Subject: [PATCH 131/245] correction to docker db in dict --- src/filestructure.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/filestructure.jl b/src/filestructure.jl index a5881ce..a53f22f 100644 --- a/src/filestructure.jl +++ b/src/filestructure.jl @@ -35,16 +35,13 @@ function ol_DB(args) "KU_Fair" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_KU_Fair_Large/", "inKC" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse_Scaled/", "home_Large" => "/home/uni09/cosmo/mehta2/KSAxiverse_Jun20_InKC/KSAxiverse/", - "KU1" => "/scratch/Axiverse_Learning/KU1/", - "KV1" => "/scratch/Axiverse_Learning/KV1/", - "KV25" => "/scratch/Axiverse_Learning/KV25/", "vacua_test" => "/scratch/users/mehta2/vacua_testing/", "vacua_stretchtest" => "/scratch/users/mehta2/vacua_stretchtesting/", "vacua_new" => "/scratch/users/mehta2/vacua_db/", "vacua_0323" => "/scratch/users/mehta2/vacua_0323/", "vacua_0822" => "/scratch/users/mehta2/vacua_0822/", "vacua_stretch" => "/scratch/users/mehta2/vacua_stretch/", - "docker" => "/database/", + "docker" => "/scratch/database/", "pwd" => string(pwd(), "/") ) try From aa7180336ee458f554a499224f77a8fd7415b174 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:29:57 +0200 Subject: [PATCH 132/245] fix vacua_db to include detQTilde --- src/generate.jl | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index bd2e36a..1adef09 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1395,7 +1395,7 @@ function vacua_MK(L::Matrix{Float64}, Q::Matrix{Int}; threshold = 1e-2) end xmin = hcat(res["xmin"]...) for i in eachcol(xmin) - i[:] = @.(ifelse(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i)) + i[:] = @.(mod(i / 2π, 1) ≈ 1 || mod(i / 2π, 1) ≈ 0 ? 0 : i) end xmin = xmin[:, [sum(i)/size(i,1) > eps() for i in eachcol(xmin)]] xmin = xmin[:,sortperm([norm(i,Inf) for i in eachcol(xmin)])] @@ -1928,6 +1928,7 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) vac_ND = [] no_vac = [] geom_list = [] + detQtilde = [] if h11 === nothing geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, 1:n])] elseif h11 !== nothing && n != size(paths_cy()[2], 2) @@ -1939,8 +1940,8 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) # println(geom_idx) if isfile(minfile(geom_idx)) vac_test = vacua_jlm(geom_idx) - if typeof(vac_test) <: Number - push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test]) + if typeof(vac_test) <: Vector + push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test...]) elseif typeof(vac_test) == Min_JLM_1D push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) elseif typeof(vac_test) == Min_JLM_ND @@ -1949,6 +1950,9 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) else push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, 0]) end + # Qtilde = LQtilde(geom_idx).Qtilde + # det_Q_tilde = Int(abs(round(det(Qtilde)))) + # push!(detQtilde, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, det_Q_tilde]) end return (square = vac_square, one_dim = vac_1D, n_dim = vac_ND, err = no_vac) end @@ -1977,11 +1981,15 @@ end function vacua_estimate_save(geom_idx::GeometryIndex; threshold::Float64=0.5) vac_data = vacua_estimate(geom_idx; threshold=threshold) - h5open(joinpath(geom_dir_read(geom_idx),"qshape.h5"), "cw") do f - f["square", deflate=9] = vac_data.issquare - f["vacua_estimate", deflate=9] = vac_data.vac - if vac_data.issquare == 0 - f["extra_rows", deflate=9] = vac_data.extrarows + if isfile(minfile(geom_idx)) + h5open(joinpath(minfile(geom_idx)), "r+") do f + f["issquare", deflate=9] = vac_data.issquare + f["det_QTilde", deflate=9] = vac_data.vac + end + else + h5open(joinpath(minfile(geom_idx)), "cw") do f + f["issquare", deflate=9] = vac_data.issquare + f["det_QTilde", deflate=9] = vac_data.vac end end end From ec52fa3752ce1547a51e86d30002d72e2882531d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:30:40 +0200 Subject: [PATCH 133/245] added Min_JLM_Square struct added det_QTilde and issquare to minfile --- src/jlm_minimizer.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 4ca8c0c..f26d605 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -11,7 +11,7 @@ using GenericLinearAlgebra using ..jlm_python: one_dim_axion_solver, multi_axion_solver using ..generate: αmatrix, LQtilde, phase, vacua_SNF using ..filestructure: minfile, paths_cy -using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND +using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square """ jlm_minimize(geom_idx::GeometryIndex) @@ -34,7 +34,7 @@ function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] Q_reduced_temp = Q_reduced_temp[Qrowmask, :] if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) - return det_Q_tilde + return Min_JLM_Square(det_Q_tilde, Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) else phase_vector = phase(geom_idx.h11, αtest) if random_phase @@ -64,7 +64,7 @@ function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) end end else - return Int(abs(round(det(αtest.Qhat)))) + return Min_JLM_Square(Int(abs(round(det(αtest.Qhat)))), Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) end end @@ -73,15 +73,19 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = if isfile(minfile(geom_idx)) rm(minfile(geom_idx)) end - if typeof(min_data) <: Int + if typeof(min_data) <: Min_JLM_Square h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file - file["Nvac", deflate=9] = min_data + file["Nvac", deflate=9] = min_data.Nvac + file["det_QTilde", deflate=9] = min_data.det_QTilde + file["issquare", deflate=9] = 1 end elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file file["Nvac", deflate = 9] = min_data.N_min file["vac_coords", deflate = 9] = min_data.min_coords file["extra_rows", deflate = 9] = min_data.extra_rows + file["det_QTilde", deflate = 9] = min_data.det_QTilde + file["issquare", deflate=9] = 0 end end return From 56125097582984410fb6917c8b1059b443f83b7f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:31:14 +0200 Subject: [PATCH 134/245] more boxplot options added to function --- src/plotting.jl | 94 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 31 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 3499d07..7d99c36 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -5,7 +5,7 @@ module plotting using ..filestructure: plots_dir, count_geometries, paths_cy using ..generate: jlm_vacua_db -using CairoMakie, ColorSchemes +using CairoMakie, ColorSchemes, Dates """ @@ -56,54 +56,86 @@ end TBW """ -function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix) +function vacua_db_jlm_box(square::Matrix, one_dim::Matrix, n_dim::Matrix; display = false, orientation = :horizontal) vacua_full = sortslices(hcat(square, one_dim, n_dim[1:4, :]), dims = 2, by=x->x[2]) h11list = collect(Set(vacua_full[1, :])) max_h11 = min(400, maximum(h11list)) min_h11 = minimum(h11list) - size_inches = (36, 48) + if orientation == :horizontal + size_inches = (36, 48) + elseif orientation == :vertical + size_inches = (48, 36) + else + error("Please specify boxplot orientation (options are :horizontal or :vertical)") + end size_pt = 72 .* size_inches - colors = resample_cmap(:twilight, size(sort(h11list), 1)) - f = Figure(resolution = size_pt, fontsize=48) - kwargs1 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", ylabel =L"$h^{1,1}$", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[1:size(h11list[h11list .<= floor(max_h11 / 4)], 1)])) - kwargs2 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 4)], 1)+1:size(h11list[h11list .<= floor(max_h11 / 2)], 1)])) - kwargs3 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 2)], 1)+1:size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)])) - kwargs4 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, yminorticks = IntervalsBetween(5), palette = (; patchcolor = colors[size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)+1 : end])) - ax1 = Axis(f[1, 1]; yticks = [4, 50, 100], kwargs1...) - ax2 = Axis(f[1, 2]; yticks = [100, 150, 200], kwargs2...) - ax3 = Axis(f[1, 3]; yticks = [200, 250, 300], kwargs3...) - ax4 = Axis(f[1, 4]; yticks = [300, 350, 400, 491], kwargs4...) + colors = resample_cmap(:twilight, maximum(h11list)) + f = Figure(resolution = size_pt, fontsize=56) + kwargs1 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, palette = (; patchcolor = colors[1:size(h11list[h11list .<= floor(max_h11 / 4)], 1)])) + kwargs2 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 4)], 1)+1:size(h11list[h11list .<= floor(max_h11 / 2)], 1)])) + kwargs3 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, palette = (; patchcolor = colors[size(h11list[h11list .<= floor(max_h11 / 2)], 1)+1:size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)])) + kwargs4 = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true, xlabelsize = 60, ylabelsize = 60, palette = (; patchcolor = colors[size(h11list[h11list .<= floor(3*max_h11 / 4)], 1)+1 : end])) + if orientation == :horizontal + ax1 = Axis(f[1, 1]; kwargs1...) + ax2 = Axis(f[1, 2]; kwargs2...) + ax3 = Axis(f[1, 3]; kwargs3...) + ax4 = Axis(f[1, 4]; kwargs4...) + elseif orientation == :vertical + ax1 = Axis(f[4, 1], xticks = [4, collect(20:20:100)...], xlabel = L"$N$"; kwargs1...) + ax2 = Axis(f[3, 1], xticks = [collect(100:20:200)...]; kwargs2...) + ax3 = Axis(f[2, 1], xticks = [collect(200:20:300)...]; kwargs3...) + ax4 = Axis(f[1, 1], xticks = [collect(300:20:399)..., 404, 416, 433, 462, 491]; kwargs4...) + end for item in sort(h11list[h11list .<= floor(max_h11 / 4)]) - CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + CairoMakie.boxplot!(ax1, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = orientation, gap = 0) end for item in sort(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) - CairoMakie.boxplot!(ax2, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + CairoMakie.boxplot!(ax2, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = orientation, gap = 0) end for item in sort(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) - CairoMakie.boxplot!(ax3, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + CairoMakie.boxplot!(ax3, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = orientation, gap = 0) end for item in sort(h11list[floor(3*max_h11 / 4) .< h11list]) - CairoMakie.boxplot!(ax4, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = :horizontal) + CairoMakie.boxplot!(ax4, vacua_full[1, vacua_full[1, :] .== item], vacua_full[end, vacua_full[1, :] .== item], marker = :xcross, markersize = 10, whiskerwidth = 0.75, width = 0.9, orientation = orientation, gap = 0) + end + if orientation == :horizontal + Colorbar(f[1:end, 0], limits=(4, maximum(h11list)), colormap = :twilight, ticklabelfont = "STIX", ticks = [4, collect(50:50:400)..., 491], nsteps = size(h11list, 1), label=L"$h^{1,1}$", flipaxis=false) + Label(f[end+1, :], L"$\mathcal{N}_{\!\!\mathrm{vac}}$") + # Label(f[:, 0], L"$h^{1,1}$", rotation = π/2) + for ax in [ax1, ax2, ax3, ax4] + hideydecorations!(ax) + end + ylims!(ax1, 1, maximum(h11list[h11list .<= floor(max_h11 / 4)])+3) + ylims!(ax2, minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) - 3, maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])+3) + ylims!(ax3, minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) - 3, maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])+3) + ylims!(ax4, minimum(h11list[floor(3*max_h11 / 4) .< h11list]) - 3, maximum(h11list[floor(3*max_h11 / 4) .< h11list])+3) + elseif orientation == :vertical + # Colorbar(f[7+1, 1:end], limits=(4, 103), colormap = colors[1:maximum(h11list[h11list .<= floor(max_h11 / 4)])], ticklabelfont = "STIX", ticks = [4, collect(10:10:100)...], nsteps = maximum(h11list[h11list .<= floor(max_h11 / 4)]), flipaxis=false, vertical = false, label=L"$N$") + # Colorbar(f[5+1, 1:end], limits=(minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]), maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])+3), colormap = colors[minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]):maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])], ticklabelfont = "STIX", ticks = [collect(100:10:200)...], nsteps = (maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) - minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])), flipaxis=false, vertical = false) + # Colorbar(f[3+1, 1:end], limits=(minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]), maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])+3), colormap = colors[minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]):maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])], ticklabelfont = "STIX", ticks = [collect(200:10:300)...], nsteps = (maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) - minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])), flipaxis=false, vertical = false) + # Colorbar(f[1+1, 1:end], limits=(minimum(h11list[floor(3*max_h11 / 4) .< h11list]), maximum(h11list[floor(3*max_h11 / 4) .< h11list])+3), colormap = colors[minimum(h11list[floor(3*max_h11 / 4) .< h11list]):maximum(h11list[floor(3*max_h11 / 4) .< h11list])], ticklabelfont = "STIX", ticks = [collect(300:10:399)..., 404, 416, 433, 462, 491], nsteps = (maximum(h11list[floor(3*max_h11 / 4) .< h11list]) - minimum(h11list[floor(3*max_h11 / 4) .< h11list])), flipaxis=false, vertical = false) + Label(f[:, 0], L"$\mathcal{N}_{\!\!\mathrm{vac}}$", rotation = π/2) + # Label(f[:, 0], L"$h^{1,1}$", rotation = π/2) + # for ax in [ax1, ax2, ax3, ax4] + # hidexdecorations!(ax) + # end + xlims!(ax1, 1, 103) + xlims!(ax2, 98, 203) + xlims!(ax3, 198, 303) + xlims!(ax4, 298, 493) + end + if display + f + else + save(joinpath(plots_dir(), string(now(), "-N_vac_KS_box.pdf")), f, pt_per_unit = 1) end - Colorbar(f[1:end, 0], limits=(4, maximum(h11list)), colormap = :twilight, ticklabelfont = "STIX", ticks = [4, collect(50:50:400)..., 491], nsteps = size(h11list, 1), label=L"$h^{1,1}$", flipaxis=false) - Label(f[end+1, :], L"$\mathcal{N}_{\!\!\mathrm{vac}}$") - # Label(f[:, 0], L"$h^{1,1}$", rotation = π/2) - for ax in [ax1, ax2, ax3, ax4] - hideydecorations!(ax) - end - # ylims!(ax1, 1, maximum(h11list[h11list .<= floor(max_h11 / 4)])+3) - # ylims!(ax2, minimum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)]) - 3, maximum(h11list[floor(max_h11 / 4) .< h11list .<= floor(max_h11 / 2)])+3) - # ylims!(ax3, minimum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)]) - 3, maximum(h11list[floor(max_h11 / 2) .< h11list .<= floor(3*max_h11 / 4)])+3) - # ylims!(ax4, minimum(h11list[floor(3*max_h11 / 4) .< h11list]) - 3, maximum(h11list[floor(3*max_h11 / 4) .< h11list])+3) - save(joinpath(plots_dir(), "N_vac_KS_box.pdf"), f, pt_per_unit = 1) - # f end -function vacua_db_jlm_box(vacua_db::NamedTuple) +function vacua_db_jlm_box(vacua_db::NamedTuple; display = false) square = hcat(vacua_db.square...) one_dim = hcat([item[1:4] for item in vacua_db.one_dim]...) n_dim = hcat([[item[1:4]...,item[end]] for item in vacua_db.n_dim if item[4] != 0]...) - vacua_db_jlm_box(square, one_dim, n_dim) + vacua_db_jlm_box(square, one_dim, n_dim; display = display) end From 9ec77f66c283b7bb815dd827be93bd4d5124cd05 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:32:24 +0200 Subject: [PATCH 135/245] added Min_JLM_Square struct to include det_QTilde --- src/read.jl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/read.jl b/src/read.jl index eb4c809..ffc3253 100644 --- a/src/read.jl +++ b/src/read.jl @@ -7,7 +7,7 @@ module read using HDF5 using LinearAlgebra using ..filestructure: cyax_file, minfile, geom_dir_read -using ..structs: GeometryIndex, AxionPotential, Min_JLM_1D, Min_JLM_ND +using ..structs: GeometryIndex, AxionPotential, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square ########################### ##### Read CYTools data ### ########################### @@ -189,19 +189,23 @@ function vacua_jlm(geom_idx::GeometryIndex) Nvac = 0 min_coords = zeros(1,1) extra_rows = 0 + det_Qtilde = 0 h5open(minfile(geom_idx), "r") do file Nvac = HDF5.read(file, "Nvac") if haskey(file, "extra_rows") min_coords = HDF5.read(file, "vac_coords") extra_rows = HDF5.read(file, "extra_rows") end + if haskey(file, "det_QTilde") + det_Qtilde = HDF5.read(file, "det_QTilde") + end end if extra_rows == 0 - return Nvac + return Min_JLM_Square(Nvac, det_Qtilde) elseif extra_rows == 1 - return Min_JLM_1D(Nvac, vec(min_coords), extra_rows) + return Min_JLM_1D(Nvac, vec(min_coords), extra_rows, det_Qtilde) else - return Min_JLM_ND(Nvac, min_coords, extra_rows) + return Min_JLM_ND(Nvac, min_coords, extra_rows, det_Qtilde) end end From c3a2ec36428a6a0c4cd4c4440235b8c5c3b1ab90 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 11:32:56 +0200 Subject: [PATCH 136/245] added det_QTilde to min structs added Min_JLM_Square struct --- src/structs.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index 149788d..721679c 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -113,6 +113,12 @@ struct Min_JLM_ND N_min::Integer min_coords::Matrix{Float64} extra_rows::Integer + det_QTilde::Integer +end + +struct Min_JLM_Square + N_min::Integer + det_QTilde::Integer end @@ -120,6 +126,7 @@ struct Min_JLM_1D N_min::Integer min_coords::Vector{Float64} extra_rows::Integer + det_QTilde::Integer end ####################### # ParentTrackIterator # From 409daf4890d44d6899684baa534c35c0505c20e5 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 13:28:49 +0200 Subject: [PATCH 137/245] added rational_Q kwarg to geometries_generate This builds the Q matrix from find_lattice_points (i.e. possibly with rational entries) --- add_functions/cytools_wrapper.jl | 40 +++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index bf7bae6..26d1f76 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -272,7 +272,7 @@ function cy_from_poly(h11) return h11list end -function geometries_generate(h11,cy,tri,cy_i=1) +function geometries_generate(h11,cy,tri,cy_i=1; rational_Q = false) glsm = zeros(Int,h11,h11+4) basis = zeros(Int,h11) tip = zeros(Float64,h11) @@ -297,7 +297,13 @@ function geometries_generate(h11,cy,tri,cy_i=1) end Kinv = Hermitian(1/2 * Kinv + Kinv') #Generate list of Q matrices -- only $h11+4 directions - qprime = cy.toric_effective_cone().rays() + if rational_Q + min_points = Int(round(h11^2)) + qprime = zeros(Rational, min_points + 1,h11) + qprime = cy.toric_effective_cone().find_lattice_points(min_points = min_points) + else + qprime = cy.toric_effective_cone().rays() + end #PTD volumes at tip tau = cy.compute_divisor_volumes(tip)[basis] while true @@ -311,7 +317,7 @@ function geometries_generate(h11,cy,tri,cy_i=1) end rhs_constraint[i] = abs.(log.(abs.(dot(tau, qprime[i, :]))) .+ (-2π * dot(tau, qprime[i,:]))) end - if LowerTriangular(lhs_constraint .< rhs_constraint) - I(h11+4) == LowerTriangular(zeros(h11+4, h11+4)) + if LowerTriangular(lhs_constraint .< rhs_constraint) - I(size(qprime,1)) == LowerTriangular(zeros(size(qprime,1), size(qprime,1))) break else m+=1e-2 @@ -319,7 +325,11 @@ function geometries_generate(h11,cy,tri,cy_i=1) #PTD volumes at tip tau = cy.compute_divisor_volumes(tip)[basis] #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) + if cytools_version() < "0.8.0" + Kinv = cy.compute_Kinv(tip) + else + Kinv = cy.compute_inverse_kahler_metric(tip) + end Kinv = Hermitian(1/2 * Kinv + Kinv') end end @@ -330,38 +340,42 @@ function geometries_generate(h11,cy,tri,cy_i=1) #PTD volumes at tip tau = cy.compute_divisor_volumes(tip)[basis] #Kinv at tip -- save this or save K? - Kinv = cy.compute_Kinv(tip) + if cytools_version() < "0.8.0" + Kinv = cy.compute_Kinv(tip) + else + Kinv = cy.compute_inverse_kahler_metric(tip) + end Kinv = Hermitian(1/2 * Kinv + Kinv') end tip_prefactor = [sqrt(n),m] #Volume of CY3 at tip V = cy.compute_cy_volume(tip) - q = zeros(Int,h11+4+binomial(h11+4,2),h11) - L2 = zeros(Float64,binomial(h11+4,2),2) + q = zeros(size(qprime,1)+binomial(size(qprime,1),2),h11) + L2 = zeros(Float64,binomial(size(qprime,1),2),2) n=1 - q[1:h11+4,:] = qprime + q[1:size(qprime,1),:] = qprime for i=1:size(qprime,1)-1 for j=i+1:size(qprime,1) - q[h11+4+n,:] = qprime[j,:]-qprime[i,:] + q[size(qprime,1)+n,:] = qprime[j,:]-qprime[i,:] L2[n,:] = [(pi*dot(qprime[i,:],(Kinv * qprime[j,:])) + dot((qprime[i,:]+qprime[j,:]),tau))*8*pi/V^2 -2*log10(exp(1))*pi*(dot(qprime[i,:],tau)+ dot(qprime[j,:],tau))] n+=1 end end - #Use scalar potential eqn to generate \Lambda^4 (this produces a (h11+4,2) matrix + #Use scalar potential eqn to generate \Lambda^4 (this produces a (size(qprime,1),2) matrix #where the components are in (mantissa, exponent)(base 10) format #L1 are basis instantons and L2 are cross terms - L1 = zeros(h11+4,2) + L1 = zeros(size(qprime,1),2) for j in axes(qprime,1) L1[j,:] = [(8*pi/V^2)*dot(qprime[j,:],tau) -2*log10(exp(1))*pi*dot(qprime[j,:],tau)] end #concatenate L1 and L2 - L = zeros(Float64,h11+4+binomial(h11+4,2),2) + L = zeros(Float64,size(qprime,1)+binomial(size(qprime,1),2),2) L = vcat(L1,L2) keys = ["h21", "glsm", "basis", "tip", "tip_prefactor", "CY_volume", "PTD_volumes", "Kinv", "L", "Q"] - vals = [h21, Int.(glsm), Int.(basis), Float64.(tip), Float64.(tip_prefactor), Float64(V), Float64.(tau), Float64.(Kinv), hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Int.(q)] + vals = [h21, Int.(glsm), Int.(basis), Float64.(tip), Float64.(tip_prefactor), Float64(V), Float64.(tau), Float64.(Kinv), hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), q] return Dict(zip(keys, vals)) end From a0a8b69653ec085903eb473ab5542da709b55325 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 13:42:41 +0200 Subject: [PATCH 138/245] fixed key to match Min_JLM_Square struct --- src/jlm_minimizer.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index f26d605..a36466e 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -75,7 +75,7 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = end if typeof(min_data) <: Min_JLM_Square h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file - file["Nvac", deflate=9] = min_data.Nvac + file["Nvac", deflate=9] = min_data.N_min file["det_QTilde", deflate=9] = min_data.det_QTilde file["issquare", deflate=9] = 1 end From dbc53b07ec45b2491bc237cd3c62527440b91b19 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 16:40:15 +0200 Subject: [PATCH 139/245] added Cone --- add_functions/cytools_wrapper.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 26d1f76..343ee0a 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -53,6 +53,7 @@ function __init__() import scipy as sp from cytools import fetch_polytopes from cytools import Polytope + from cytools import Cone def f_polytopes(h11=None, h12=None, h13=None, h21=None, h22=None, h31=None, chi=None, lattice=None, dim=4, n_points=None, n_vertices=None, n_dual_points=None, n_facets=None, @@ -63,6 +64,9 @@ function __init__() def poly(points, backend=None): return Polytope(points,backend) + + def cone(rays, hyperplanes = None, check = True) + return Cone(rays, hyperplanes, check) """ py""" @@ -76,6 +80,8 @@ fetch_polytopes(h11,limit; lattice="N",as_list=false,favorable=false) = py"f_pol poly(points; backend=nothing) = py"poly($points, backend=$backend)" +cone(rays; hyperplanes=nothing, check=true) = py"cone(rays=$rays, hyperplanes=$hyperplanes, check=$check)" + cytools_version() = py"version()" function topologies_generate_fast(h11,n) From 9aab2de9badb5af59555cf0ac58e9d473302606f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 16:47:54 +0200 Subject: [PATCH 140/245] fixed cone function (typo) --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 343ee0a..29b2784 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -65,7 +65,7 @@ function __init__() def poly(points, backend=None): return Polytope(points,backend) - def cone(rays, hyperplanes = None, check = True) + def cone(rays, hyperplanes = None, check = True): return Cone(rays, hyperplanes, check) """ From 659286dce4d09d424670fdaeaada72644330f852 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 17:45:52 +0200 Subject: [PATCH 141/245] fixed rays input in cone --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 29b2784..4ac8816 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -80,7 +80,7 @@ fetch_polytopes(h11,limit; lattice="N",as_list=false,favorable=false) = py"f_pol poly(points; backend=nothing) = py"poly($points, backend=$backend)" -cone(rays; hyperplanes=nothing, check=true) = py"cone(rays=$rays, hyperplanes=$hyperplanes, check=$check)" +cone(rays; hyperplanes=nothing, check=true) = py"cone($rays, hyperplanes=$hyperplanes, check=$check)" cytools_version() = py"version()" From a19415b19f97863c3f8312ede5a5e31d44a45ef8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 18:19:44 +0200 Subject: [PATCH 142/245] typos fixed? --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 4ac8816..e327c6a 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -65,7 +65,7 @@ function __init__() def poly(points, backend=None): return Polytope(points,backend) - def cone(rays, hyperplanes = None, check = True): + def cone(rays, hyperplanes=None, check=True): return Cone(rays, hyperplanes, check) """ From 845b221dd1501ea474504edd97c14864262d96b8 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 19:09:22 +0200 Subject: [PATCH 143/245] added basis_SNF for checking if FD is unit cube --- src/generate.jl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/generate.jl b/src/generate.jl index 1adef09..4e6ccef 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1198,6 +1198,34 @@ function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Ve vacua_id(L, Q; threshold=threshold, phase=phase) end +""" + basis_SNF(rays::Matrix{Int}) + +This function is useful for checking if the identity matrix is contained within the charge matrix, _i.e._ that the fundamental domain is the unit cube +""" +function basis_SNF(rays::Matrix{Int}) + h11::Int = size(rays,2) + ###### Nemo SNF ##### + Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,rays) + T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] + Tparallel1::Nemo.fmpz_mat = inv(T)[:, 1:h11] + Tparallel::Matrix{Rational} = zeros(1,1) + if maximum(abs.(Tparallel1)) < 2^60 + Tparallel = convert(Matrix{Int},Tparallel1) + θparalleltest = Matrix{Rational}(inv(transpose(Rational.(rays)) * Rational.(rays)) * transpose(Rational.(rays)) * Tparallel) + θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) + θparalleltestinv = @.(ifelse(abs(inv(θparalleltest)) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) + else + Tparallel = convert(Matrix{BigInt},Tparallel1) + θparalleltest = Matrix{Rational{BigInt}}(inv(transpose(Rational.(rays)) * Rational.(rays)) * transpose(Rational.(rays)) * Tparallel) + θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) + θparalleltestinv = @.(ifelse(abs(inv(θparalleltest)) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) + end + vol_basis = abs(det(θparalleltest)) + # keys = ["T∥", "θ∥"] + # vals = [Tparallel,θparalleltest] + return vol_basis, θparalleltest, θparalleltestinv +end function vacua_SNF(Q::Matrix{Integer}) h11::Int = size(Q,2) From 545ba2939ab5c912f8875ba4833d96cedd0796e4 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 19:43:42 +0200 Subject: [PATCH 144/245] included BasisSNF type --- src/generate.jl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 4e6ccef..f43b2cb 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -16,7 +16,7 @@ using ..filestructure: cyax_file, minfile, present_dir, geom_dir_read, paths_cy using ..read: potential, vacua_jlm using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Min_JLM_1D, Min_JLM_ND +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Min_JLM_1D, Min_JLM_ND, BasisSNF ################# ### Constant #### @@ -1199,11 +1199,11 @@ function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Ve end """ - basis_SNF(rays::Matrix{Int}) + basis_snf(rays::Matrix{Int}) This function is useful for checking if the identity matrix is contained within the charge matrix, _i.e._ that the fundamental domain is the unit cube """ -function basis_SNF(rays::Matrix{Int}) +function basis_snf(rays::Matrix{Int}) h11::Int = size(rays,2) ###### Nemo SNF ##### Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,rays) @@ -1222,9 +1222,7 @@ function basis_SNF(rays::Matrix{Int}) θparalleltestinv = @.(ifelse(abs(inv(θparalleltest)) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) end vol_basis = abs(det(θparalleltest)) - # keys = ["T∥", "θ∥"] - # vals = [Tparallel,θparalleltest] - return vol_basis, θparalleltest, θparalleltestinv + return BasisSNF(vol_basis, θparalleltest, θparalleltestinv) end function vacua_SNF(Q::Matrix{Integer}) From bb6f14d29e98b26ecdc51d2c87dcb7fe01026720 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 19 Jul 2023 19:43:53 +0200 Subject: [PATCH 145/245] added BasisSNF type --- src/structs.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index 721679c..8320d24 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -97,6 +97,12 @@ struct RationalQSNF θparallel::Matrix{Rational} end +struct BasisSNF + volume::Number + basis::Matrix + id_coords::Matrix +end + struct SolverND samples Q::Matrix From fb095e8d2482686c526e00f697797ef9c5cace4f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 12:32:11 +0200 Subject: [PATCH 146/245] added Min_JLM_Square struct to jlm_vacua_db --- src/generate.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index f43b2cb..d9e6bb7 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -16,7 +16,7 @@ using ..filestructure: cyax_file, minfile, present_dir, geom_dir_read, paths_cy using ..read: potential, vacua_jlm using ..minimizer: minimize, subspace_minimize -using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Min_JLM_1D, Min_JLM_ND, BasisSNF +using ..structs: GeometryIndex, LQLinearlyIndependent, Projector, CanonicalQBasis, ProjectedQ, AxionPotential, MyTree, AxionSpectrum, Canonicalα, RationalQSNF, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square, BasisSNF ################# ### Constant #### @@ -1966,12 +1966,12 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) # println(geom_idx) if isfile(minfile(geom_idx)) vac_test = vacua_jlm(geom_idx) - if typeof(vac_test) <: Vector - push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test...]) + if typeof(vac_test) <: Min_JLM_Square + push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.det_QTilde]) elseif typeof(vac_test) == Min_JLM_1D - push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) + push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) elseif typeof(vac_test) == Min_JLM_ND - push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows]) + push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) end else push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, 0]) From 5f71e8b5dd1f645c228ad1b14fdf3d2ac106b43c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 12:32:19 +0200 Subject: [PATCH 147/245] potential struct fixed --- src/read.jl | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/read.jl b/src/read.jl index ffc3253..cb6322c 100644 --- a/src/read.jl +++ b/src/read.jl @@ -71,14 +71,8 @@ end function potential(h11::Int,tri::Int,cy::Int=1) - L::Matrix{Float64}, Q::Matrix{Int}, - Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), - HDF5.read(file, "cytools/geometric/Kinv") - end - keys = ["L","Q","K"] - vals = [L, Q, Hermitian(inv(Kinv))] - return Dict(zip(keys,vals)) + geom_idx = GeometryIndex(h11, tri, cy) + potential(geom_idx) end function Q(h11::Int,tri::Int,cy::Int=1) From 595acd425440590b2cbdb629de6f62fba8749102 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 14:55:40 +0200 Subject: [PATCH 148/245] fixed Axion potential Dict -> AxionPotential instances --- src/generate.jl | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index d9e6bb7..b06b7ef 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -492,7 +492,7 @@ end function hp_spectrum(h11::Int,tri::Int,cy::Int=1; prec=5_000) pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data.L,pot_data.Q,pot_data.K LQtilde = LQtildebar(h11,tri,cy) Ltilde = Matrix{Float64}(LQtilde["Lhat"]') Qtilde = Matrix{Int}(LQtilde["Qhat"]') @@ -505,7 +505,7 @@ end function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1) if h11!=0 pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data.L,pot_data.Q,pot_data.K LQtest = hcat(L,Q); Lfull::Vector{Float64} = LQtest[:,2] LQsorted = LQtest[sortperm(Lfull, rev=true), :] @@ -669,7 +669,7 @@ end function pq_spectrum(h11::Int,tri::Int,cy::Int) pot_data = potential(h11,tri,cy) - K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] + K,L,Q = pot_data.K, pot_data.L, pot_data.Q pq_spectrum(K, L, Q) end @@ -706,7 +706,7 @@ function pq_spectrum_save(h11::Int,tri::Int,cy::Int=1) end if file_open == 0 pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data["L"],pot_data["Q"],pot_data["K"] + L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data.L,pot_data.Q,pot_data.K spectrum_data = pq_spectrum(K,L,Q) h5open(cyax_file(h11,tri,1), "r+") do file f2 = create_group(file, "spectrum") @@ -822,8 +822,8 @@ end function LQtilde(h11::Int, tri::Int, cy::Int) pot_data = potential(h11, tri, cy) - Q = Matrix{Int}(pot_data["Q"]') - L = Matrix{Float64}(pot_data["L"]') + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') LQtilde(Q, L) end @@ -1063,7 +1063,7 @@ TBW """ function LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + Q::Matrix{Int}, L::Matrix{Float64} = pot_data.Q, pot_data.L LQtildebar(L, Q; threshold=threshold) end @@ -1117,7 +1117,7 @@ end function vacua_id_basis(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + Q::Matrix{Int}, L::Matrix{Float64} = pot_data.Q, pot_data.L vacua_id_basis(L, Q; threshold=threshold) end """ @@ -1194,7 +1194,7 @@ TBW """ function vacua_id(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector=zeros(h11)) pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + Q::Matrix{Int}, L::Matrix{Float64} = pot_data.Q, pot_data.L vacua_id(L, Q; threshold=threshold, phase=phase) end @@ -1323,7 +1323,7 @@ Dict{String, Any} with 3 entries: """ function vacua_TB(h11::Int,tri::Int,cy::Int; threshold::Float64=0.5) pot_data = potential(h11,tri,cy) - Q::Matrix{Int}, L::Matrix{Float64} = pot_data["Q"], pot_data["L"] + Q::Matrix{Int}, L::Matrix{Float64} = pot_data.Q, pot_data.L vacua_TB(L, Q; threshold=threshold) end @@ -1338,7 +1338,7 @@ function vacua_save(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) end if file_open == 0 pot_data = potential(h11,tri,cy) - vacua_data = vacua(pot_data["L"],pot_data["Q"]; threshold=threshold) + vacua_data = vacua(pot_data.L,pot_data.Q; threshold=threshold) h5open(cyax_file(h11,tri,cy), "r+") do file f3 = create_group(file, "vacua") f3["vacua",deflate=9] = vacua_data["vacua"] @@ -1364,7 +1364,7 @@ function vacua_save_TB(h11::Int,tri::Int,cy::Int=1; threshold::Float64=0.5) end if file_open == 0 pot_data = potential(h11,tri,cy) - vacua_data = vacua_TB(pot_data["L"],pot_data["Q"]; threshold=threshold) + vacua_data = vacua_TB(pot_data.L,pot_data.Q; threshold=threshold) h5open(cyax_file(h11,tri,cy), "r+") do file f3 = create_group(file, "vacua_TB") f3["vacua",deflate=9] = vacua_data["vacua"] @@ -1449,7 +1449,7 @@ Uses the projection method of _PQ Axiverse_ [paper](https://arxiv.org/abs/2112.0 """ function vacua_MK(h11::Int,tri::Int,cy::Int) pot_data = potential(h11,tri,cy) - K,L,Q = pot_data["K"], pot_data["L"], pot_data["Q"] + K,L,Q = pot_data.K, pot_data.L, pot_data.Q vacua_MK(L, Q) end @@ -1542,7 +1542,7 @@ end function vacua_projector(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] + L, Q = pot_data.L, pot_data.Q vacua_projector(L, Q; threshold=threshold) end @@ -1803,7 +1803,7 @@ end function vacuaΠ(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase=zeros(h11)) pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] + L, Q = pot_data.L, pot_data.Q vacuaΠ(L, Q; threshold=threshold, phase=phase) end @@ -1889,7 +1889,7 @@ end function vacua_full(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5, phase::Vector{Float64}=zeros(h11)) pot_data = potential(h11, tri, cy) - L, Q = pot_data["L"], pot_data["Q"] + L, Q = pot_data.L, pot_data.Q vacua_full(L, Q; threshold=threshold, phase=phase) end From 399ef2e0dc97fa1be35392f98e54a9b87b4a141a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 15:49:15 +0200 Subject: [PATCH 149/245] added hilbert script --- scripts/hilbert.jl | 91 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 scripts/hilbert.jl diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl new file mode 100644 index 0000000..31512a8 --- /dev/null +++ b/scripts/hilbert.jl @@ -0,0 +1,91 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] + hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest)' + Qtest = Qtest' + if Qtest ⊆ hilbert_test + else + CYAxiverse.cytools_wrapper.hilbert_save(Qtest) + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + end + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +# h11list = h11list[:, h11list[1, :] .== 225 .|| h11list[1, :] .== 249 .|| h11list[1, :] .== 252 .|| h11list[1, :] .== 254] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +# geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main, geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 83ba1086be2f4b4332c12017de4811474831b585 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 15:49:30 +0200 Subject: [PATCH 150/245] added hilbert_basis and save functions --- add_functions/cytools_wrapper.jl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index e327c6a..1923c39 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -84,6 +84,18 @@ cone(rays; hyperplanes=nothing, check=true) = py"cone($rays, hyperplanes=$hyperp cytools_version() = py"version()" +function hilbert_basis(rays::Matrix) + cone(Matrix{Integer}(rays)).hilbert_basis() +end + +function hilbert_save(rays::Matrix) + basis = hilbert_basis(rays) + h5open(cyax_file(h11,tri,cy_i), "r+") do file + file["cytools/geometric/hilbert",deflate=9] = basis + end +end + + function topologies_generate_fast(h11,n) tri_test = [] tri_test_m = [] From 588e88c991eed75c92cbe638410a2a2d902b272b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 15:49:48 +0200 Subject: [PATCH 151/245] minimise small geometries --- scripts/optimize.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/optimize.jl b/scripts/optimize.jl index ec4f559..9cfa6c0 100644 --- a/scripts/optimize.jl +++ b/scripts/optimize.jl @@ -82,7 +82,7 @@ GC.gc() Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] # h11list = h11list[:, h11list[1, :] .!= 491] -h11list = h11list[:, h11list[1, :] .== 225 .|| h11list[1, :] .== 249 .|| h11list[1, :] .== 252 .|| h11list[1, :] .== 254] +h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) From c624fc092fd68c295fcf5e662402bfbdfb5696ca Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 16:24:25 +0200 Subject: [PATCH 152/245] fixed for singularity run --- scripts/hilbert.jl | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 31512a8..d09111c 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -2,18 +2,30 @@ # Pkg.instantiate() using Distributed -import MPI -using MPIClusterManagers -# MPI.initialize() -manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) -# addprocs(manager) -np = workers() -println(np) -if np!=0 -else +# using MPIClusterManagers +# import MPI +# # MPI.initialize() +# manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# # addprocs(manager) +# np = workers() +# println(np) +# if np!=0 +# else +# error("no workers!") +# exit() +# end + +try + np = parse(Int32,ENV["SLURM_NPROCS"]) + addprocs(np, exeflags="--project=$(Base.active_project())") +catch e error("no workers!") exit() end +split = nothing +if haskey(ENV, "SLURM_ARRAY_TASK_ID") + split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) +end @everywhere using CYAxiverse @everywhere using LinearAlgebra From f631ec6a470cb901f0331eddd292b107a88eba8f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 16:41:50 +0200 Subject: [PATCH 153/245] fixed for run --- scripts/hilbert.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index d09111c..2f6c8e5 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -14,7 +14,7 @@ using Distributed # error("no workers!") # exit() # end - +np = 0 try np = parse(Int32,ENV["SLURM_NPROCS"]) addprocs(np, exeflags="--project=$(Base.active_project())") @@ -89,7 +89,7 @@ geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11li # geom_params = geom_params[end-6_000:end, :] ################################## ntasks = size(geom_params,1) -size_procs = size(np) +size_procs = np logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") From cd0512681fe09437516efb9b81d8cecff15c8417 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 16:55:54 +0200 Subject: [PATCH 154/245] fixed comparison --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 2f6c8e5..e73c29b 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -39,7 +39,7 @@ end Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest)' Qtest = Qtest' - if Qtest ⊆ hilbert_test + if hilbert_test ⊆ Qtest else CYAxiverse.cytools_wrapper.hilbert_save(Qtest) open(l, "a") do outf From 50823264381c188b2e8505a6d53b6840f03e93d7 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 17:08:40 +0200 Subject: [PATCH 155/245] fixed hilbert_save --- add_functions/cytools_wrapper.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 1923c39..862aeeb 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -88,9 +88,9 @@ function hilbert_basis(rays::Matrix) cone(Matrix{Integer}(rays)).hilbert_basis() end -function hilbert_save(rays::Matrix) +function hilbert_save(geom_idx::CYAxiverse.structs.GeometryIndex, rays::Matrix) basis = hilbert_basis(rays) - h5open(cyax_file(h11,tri,cy_i), "r+") do file + h5open(cyax_file(geom_idx), "r+") do file file["cytools/geometric/hilbert",deflate=9] = basis end end From 96d4d12b48058923c38314347d3ba3830303ded7 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 17:09:12 +0200 Subject: [PATCH 156/245] fixed hilbert_save to include geom_idx --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index e73c29b..507a257 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -41,7 +41,7 @@ end Qtest = Qtest' if hilbert_test ⊆ Qtest else - CYAxiverse.cytools_wrapper.hilbert_save(Qtest) + CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Qtest) open(l, "a") do outf write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end From a4730dfb139c56d72f58b9d100de2efd8fbd4a85 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 18:29:33 +0200 Subject: [PATCH 157/245] added GeometryIndex --- add_functions/cytools_wrapper.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 862aeeb..7965218 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -18,6 +18,7 @@ module cytools_wrapper using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate using ..read: topology +using ..structs: GeometryIndex using PyCall using HDF5 @@ -88,7 +89,7 @@ function hilbert_basis(rays::Matrix) cone(Matrix{Integer}(rays)).hilbert_basis() end -function hilbert_save(geom_idx::CYAxiverse.structs.GeometryIndex, rays::Matrix) +function hilbert_save(geom_idx::GeometryIndex, rays::Matrix) basis = hilbert_basis(rays) h5open(cyax_file(geom_idx), "r+") do file file["cytools/geometric/hilbert",deflate=9] = basis From a6d670c56536260eb5a10c6da01a53366a65ec3b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 18:59:48 +0200 Subject: [PATCH 158/245] hilbert_save amended takes hilbert_basis as input --- add_functions/cytools_wrapper.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 7965218..91c1f15 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -89,10 +89,9 @@ function hilbert_basis(rays::Matrix) cone(Matrix{Integer}(rays)).hilbert_basis() end -function hilbert_save(geom_idx::GeometryIndex, rays::Matrix) - basis = hilbert_basis(rays) +function hilbert_save(geom_idx::GeometryIndex, basis::Matrix) h5open(cyax_file(geom_idx), "r+") do file - file["cytools/geometric/hilbert",deflate=9] = basis + file["cytools/geometric/hilbert_basis",deflate=9] = basis end end From dc8ff79aa285e60b10b40544af6c163015411f6a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 19:37:59 +0200 Subject: [PATCH 159/245] fixed for large run --- scripts/hilbert.jl | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 507a257..0de591f 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -14,7 +14,6 @@ using Distributed # error("no workers!") # exit() # end -np = 0 try np = parse(Int32,ENV["SLURM_NPROCS"]) addprocs(np, exeflags="--project=$(Base.active_project())") @@ -33,15 +32,28 @@ end @everywhere using HDF5 @everywhere using Random +@everywhere function is_subset_of(list1::Vector, list2::Vector) + # Convert each vector in the lists to Set for efficient membership checking + set_list1 = Set(list1) + set_list2 = Set(list2) + + # Check if every vector in list1 is also present in list2 + for vector in set_list1 + if !(vector in set_list2) + return false + end + end + return true +end @everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest)' Qtest = Qtest' - if hilbert_test ⊆ Qtest + if is_subset_of(collect(eachcol(hilbert_test)), collect(eachcol(Qtest))) else - CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Qtest) + CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, hilbert_test) open(l, "a") do outf write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end From aa798b1baa11894e5cd59d16922de1694b6e3a59 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 20:26:41 +0200 Subject: [PATCH 160/245] removed np --> size(workers()) --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 0de591f..6f06c56 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -101,7 +101,7 @@ geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11li # geom_params = geom_params[end-6_000:end, :] ################################## ntasks = size(geom_params,1) -size_procs = np +size_procs = size(workers()) logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") From 9ea22f1eb315f3b4db9c9d46f2966d6cf714508c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 21:05:01 +0200 Subject: [PATCH 161/245] added hilbert_basis --- src/read.jl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/read.jl b/src/read.jl index cb6322c..b89f7fe 100644 --- a/src/read.jl +++ b/src/read.jl @@ -54,7 +54,15 @@ function geometry(h11::Int,tri::Int,cy::Int=1) end end - +function hilbert_basis(geom_idx::GeometryIndex) + basis = zeros(geom_idx.h11, geom_idx.h11) + h5open(cyax_file(geom_idx), "r") do file + if haskey(file, "cytools/geometric/tip_prefactor") + basis = HDF5.read(file, "cytools/geometric/hilbert_basis") + end + end + basis +end ############################# ##### Read Geometric data ### From 858793400c53238237e5bcf2e773a4f740a3731c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 21:13:38 +0200 Subject: [PATCH 162/245] reproduced from top_geom.jl --- scripts/hilbert.jl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 6f06c56..812e8b9 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -14,6 +14,7 @@ using Distributed # error("no workers!") # exit() # end + try np = parse(Int32,ENV["SLURM_NPROCS"]) addprocs(np, exeflags="--project=$(Base.active_project())") @@ -25,13 +26,14 @@ split = nothing if haskey(ENV, "SLURM_ARRAY_TASK_ID") split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) end +# @everywhere newARGS = string("vacua_new") @everywhere using CYAxiverse -@everywhere using LinearAlgebra - -@everywhere using HDF5 @everywhere using Random +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + @everywhere function is_subset_of(list1::Vector, list2::Vector) # Convert each vector in the lists to Set for efficient membership checking set_list1 = Set(list1) @@ -65,8 +67,7 @@ end end end -lfile = CYAxiverse.filestructure.logfile() -CYAxiverse.filestructure.logcreate(lfile) + ############################## #### Initialise functions #### @@ -85,13 +86,15 @@ CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+ temp_vac = nothing GC.gc() +# all_h11 = vcat(collect(1:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) ############################## ############ Main ############ ############################## Random.seed!(1234567890) +np = nworkers() h11list = CYAxiverse.filestructure.paths_cy()[2] # h11list = h11list[:, h11list[1, :] .!= 491] -# h11list = h11list[:, h11list[1, :] .== 225 .|| h11list[1, :] .== 249 .|| h11list[1, :] .== 252 .|| h11list[1, :] .== 254] +# h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] # geom_params = shuffle!(geom_params) @@ -101,7 +104,7 @@ geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11li # geom_params = geom_params[end-6_000:end, :] ################################## ntasks = size(geom_params,1) -size_procs = size(workers()) +size_procs = np logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") From 642ac11f28d4eb44a286ce9ac5f58ce26c40cb05 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 20 Jul 2023 21:31:31 +0200 Subject: [PATCH 163/245] typos corrected hilbert_save function input specified as Matrix --- scripts/hilbert.jl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 812e8b9..5bdd99d 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -51,11 +51,10 @@ end @everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] - hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest)' - Qtest = Qtest' - if is_subset_of(collect(eachcol(hilbert_test)), collect(eachcol(Qtest))) + hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest) + if is_subset_of(collect(eachcol(hilbert_test')), collect(eachcol(Qtest'))) else - CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, hilbert_test) + CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Matrix(hilbert_test)) open(l, "a") do outf write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end From f01660fce040de49d702a30569f65384730a31a6 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 21 Jul 2023 13:55:15 +0200 Subject: [PATCH 164/245] skip existing files --- scripts/hilbert.jl | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 5bdd99d..9637d92 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -50,13 +50,22 @@ end @everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try - Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] - hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest) - if is_subset_of(collect(eachcol(hilbert_test')), collect(eachcol(Qtest'))) + hilbert_exists = false + h5open(cyax_file(geom_idx), "r") do file + if haskey(file, "cytools/geometric/hilbert_basis") + hilbert_exists = true + end + end + if hilbert_exists else - CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Matrix(hilbert_test)) - open(l, "a") do outf - write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] + hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest) + if is_subset_of(collect(eachcol(hilbert_test')), collect(eachcol(Qtest'))) + else + CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Matrix(hilbert_test)) + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + end end end catch e From dbe9c7927ecf18dd998db3a4bd0ca52d85d9ee93 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 22 Jul 2023 16:18:34 +0200 Subject: [PATCH 165/245] testing for 491 --- scripts/hilbert.jl | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 9637d92..6b37a6f 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -52,9 +52,7 @@ end try hilbert_exists = false h5open(cyax_file(geom_idx), "r") do file - if haskey(file, "cytools/geometric/hilbert_basis") - hilbert_exists = true - end + hilbert_exists = haskey(file, "cytools/geometric/hilbert_basis") ? true : false end if hilbert_exists else @@ -101,7 +99,7 @@ GC.gc() Random.seed!(1234567890) np = nworkers() h11list = CYAxiverse.filestructure.paths_cy()[2] -# h11list = h11list[:, h11list[1, :] .!= 491] +h11list = h11list[:, h11list[1, :] .== 491] # h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] # geom_params = shuffle!(geom_params) From 59c574e095bb4579e92b5193b2bfda5116edb584 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 22 Jul 2023 16:43:27 +0200 Subject: [PATCH 166/245] fixed script (?) cyax_file -> CYAxiverse.filestructure.cyax_file --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 6b37a6f..e028790 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -51,7 +51,7 @@ end @everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try hilbert_exists = false - h5open(cyax_file(geom_idx), "r") do file + h5open(CYAxiverse.filestructure.cyax_file(geom_idx), "r") do file hilbert_exists = haskey(file, "cytools/geometric/hilbert_basis") ? true : false end if hilbert_exists From 9767bcdd9711a7f86dc11ff530a99f67a80d15e9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 22 Jul 2023 16:59:02 +0200 Subject: [PATCH 167/245] using HDF5 added --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index e028790..f86b767 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -29,7 +29,7 @@ end # @everywhere newARGS = string("vacua_new") @everywhere using CYAxiverse -@everywhere using Random +@everywhere using Random, HDF5 lfile = CYAxiverse.filestructure.logfile() CYAxiverse.filestructure.logcreate(lfile) From cf6a5974d254d4c2a7d239e0e65ddde7b1ec123b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Sat, 22 Jul 2023 17:04:03 +0200 Subject: [PATCH 168/245] full scan --- scripts/hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index f86b767..e4748a9 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -99,7 +99,7 @@ GC.gc() Random.seed!(1234567890) np = nworkers() h11list = CYAxiverse.filestructure.paths_cy()[2] -h11list = h11list[:, h11list[1, :] .== 491] +# h11list = h11list[:, h11list[1, :] .== 491] # h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] # geom_params = shuffle!(geom_params) From 9753dff4c98d3a7aaef0a2b075ff06af9e1a0267 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 26 Jul 2023 16:54:09 +0200 Subject: [PATCH 169/245] script to compare qprime with glsm --- scripts/glsm_v_qprime.jl | 101 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 scripts/glsm_v_qprime.jl diff --git a/scripts/glsm_v_qprime.jl b/scripts/glsm_v_qprime.jl new file mode 100644 index 0000000..b7aed7f --- /dev/null +++ b/scripts/glsm_v_qprime.jl @@ -0,0 +1,101 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra, Random + +@everywhere using HDF5 +@everywhere function is_subset_of(list1, list2) + # Convert each vector in the lists to Set for efficient membership checking + set_list1 = Set(list1) + set_list2 = Set(list2) + + # Check if every vector in list1 is also present in list2 + for (i,vector) in enumerate(set_list1) + if !(vector in set_list2) + # return false, i + return false + end + end + + return true +end +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex, l) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + try + glsm = CYAxiverse.read.geometry(geom_idx)["glsm_charges"] + qprime = CYAxiverse.read.potential(geom_idx).Q[1:h11, :] + if is_subset_of(collect(eachrow(glsm)), collect(eachrow(qprime))) + else + open(l, "a") do outf + write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) + end + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",h11,",",tri,",",cy,")\n")) + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main_Qshape(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main, geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 38f20db00439b4797d1c38c6f74452d36e00d096 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 26 Jul 2023 16:54:41 +0200 Subject: [PATCH 170/245] use GeometryIndex as input to read CYTools outputs --- src/read.jl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/read.jl b/src/read.jl index b89f7fe..66bc3c0 100644 --- a/src/read.jl +++ b/src/read.jl @@ -20,7 +20,12 @@ function topology(h11::Int,tri::Int,cy::Int=1) vals = [poly_points, simplices] return Dict(zip(keys,vals)) end - + +function topology(geom_idx::GeometryIndex) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + topology(h11, tri, cy) +end + function geometry(h11::Int,tri::Int,cy::Int=1) tip_prefactor = nothing h21::Int, @@ -54,6 +59,12 @@ function geometry(h11::Int,tri::Int,cy::Int=1) end end + +function geometry(geom_idx::GeometryIndex) + h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst + geometry(h11, tri, cy) +end + function hilbert_basis(geom_idx::GeometryIndex) basis = zeros(geom_idx.h11, geom_idx.h11) h5open(cyax_file(geom_idx), "r") do file From 93365c5ca046e25cfaa72247cfa8385f8a42041a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 27 Jul 2023 15:56:58 +0200 Subject: [PATCH 171/245] typo fixed --- scripts/glsm_v_qprime.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/glsm_v_qprime.jl b/scripts/glsm_v_qprime.jl index b7aed7f..1ad764c 100644 --- a/scripts/glsm_v_qprime.jl +++ b/scripts/glsm_v_qprime.jl @@ -59,7 +59,7 @@ CYAxiverse.filestructure.logcreate(lfile) #### Initialise functions #### ############################## geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) -@time temp_vac = main_Qshape(geom_idx,lfile) +@time temp_vac = main(geom_idx,lfile) h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] From dcca1356e52edc23d1bf1a01bbe62b9658129672 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 27 Jul 2023 22:09:10 +0200 Subject: [PATCH 172/245] glsm_charges saved as transpose -- typo fixed --- scripts/glsm_v_qprime.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/glsm_v_qprime.jl b/scripts/glsm_v_qprime.jl index 1ad764c..b35f98a 100644 --- a/scripts/glsm_v_qprime.jl +++ b/scripts/glsm_v_qprime.jl @@ -39,7 +39,7 @@ end try glsm = CYAxiverse.read.geometry(geom_idx)["glsm_charges"] qprime = CYAxiverse.read.potential(geom_idx).Q[1:h11, :] - if is_subset_of(collect(eachrow(glsm)), collect(eachrow(qprime))) + if is_subset_of(collect(eachcol(glsm)), collect(eachrow(qprime))) else open(l, "a") do outf write(outf,string("vac-(",h11,",",tri,",",cy,")\n")) From 3c8f1f6629acd4dac68f8117bb7c0018b841eb7d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:00:28 +0200 Subject: [PATCH 173/245] fixed script for run (cols vs rows) --- scripts/glsm_v_qprime.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/glsm_v_qprime.jl b/scripts/glsm_v_qprime.jl index b35f98a..50087ed 100644 --- a/scripts/glsm_v_qprime.jl +++ b/scripts/glsm_v_qprime.jl @@ -38,7 +38,7 @@ end h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst try glsm = CYAxiverse.read.geometry(geom_idx)["glsm_charges"] - qprime = CYAxiverse.read.potential(geom_idx).Q[1:h11, :] + qprime = CYAxiverse.read.potential(geom_idx).Q[1:h11+4, :] if is_subset_of(collect(eachcol(glsm)), collect(eachrow(qprime))) else open(l, "a") do outf @@ -79,7 +79,7 @@ Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] # h11list = h11list[:, h11list[1, :] .!= 491] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] -geom_params = shuffle!(geom_params) +# geom_params = shuffle!(geom_params) ################################## ##### Missing geoms ############## From b2c90488d68145fd4249561d1d663e541fc80536 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:00:49 +0200 Subject: [PATCH 174/245] added TopologicalData and GeometricData structs --- src/structs.jl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/structs.jl b/src/structs.jl index 8320d24..20f5e17 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -15,6 +15,22 @@ Base.@kwdef struct GeometryIndex{T<:Integer} frst::T=1 end +struct TopologicalData + points::Matrix{Int} + simplices::Matrix{Int} +end + +struct GeometricData + tip_prefactor::Vector{Float64} + τ_volumes::Vector{Float64} + h21::Integer + cy_volume::Float64 + glsm_charges::Matrix{Int} + basis::Vector{Int} + tip::Vector{Float64} + kinv::Matrix{Float64} +end + struct AxionPotential L::Matrix{Float64} Q::Matrix{Int} From b4f53d29265b388228bbedccbdc6b09ac4754c17 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:06:41 +0200 Subject: [PATCH 175/245] new structs for reading topological/geometric data --- src/read.jl | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/read.jl b/src/read.jl index 66bc3c0..ccb57d9 100644 --- a/src/read.jl +++ b/src/read.jl @@ -7,7 +7,7 @@ module read using HDF5 using LinearAlgebra using ..filestructure: cyax_file, minfile, geom_dir_read -using ..structs: GeometryIndex, AxionPotential, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square +using ..structs: GeometryIndex, TopologicalData, GeometricData, AxionPotential, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square ########################### ##### Read CYTools data ### ########################### @@ -16,9 +16,7 @@ function topology(h11::Int,tri::Int,cy::Int=1) poly_points::Matrix{Int}, simplices::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/geometric/points"),HDF5.read(file, "cytools/geometric/simplices") end - keys = ["points","simplices"] - vals = [poly_points, simplices] - return Dict(zip(keys,vals)) + return TopologicalData(poly_points, simplices) end function topology(geom_idx::GeometryIndex) @@ -43,19 +41,22 @@ function geometry(h11::Int,tri::Int,cy::Int=1) end end if tip_prefactor !== nothing - keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] - vals = [h21, - glsm,basis, - tip,tip_prefactor, CY_Volume,divisor_volumes, - Kinv] - return Dict(zip(keys,vals)) + # keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip,tip_prefactor, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv) else - keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] - vals = [h21, - glsm,basis, - tip, CY_Volume,divisor_volumes, - Kinv] - return Dict(zip(keys,vals)) + # keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + tip_prefactor = [1. , 1.] + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv) end end From 409b01b2a4cc569f93dc7b33dfdca1e2e94c6005 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:12:08 +0200 Subject: [PATCH 176/245] include hilbert basis in GeometricData --- src/structs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/structs.jl b/src/structs.jl index 20f5e17..734faca 100644 --- a/src/structs.jl +++ b/src/structs.jl @@ -29,6 +29,7 @@ struct GeometricData basis::Vector{Int} tip::Vector{Float64} kinv::Matrix{Float64} + hilbert_basis::Matrix{Int} end struct AxionPotential From ad932f7c2698709f680d52ba44616bf5ba100c97 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:16:14 +0200 Subject: [PATCH 177/245] read in hilbert_basis with GeometricData --- src/read.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/read.jl b/src/read.jl index ccb57d9..2d055bd 100644 --- a/src/read.jl +++ b/src/read.jl @@ -26,6 +26,7 @@ end function geometry(h11::Int,tri::Int,cy::Int=1) tip_prefactor = nothing + hilbert_basis = nothing h21::Int, glsm::Matrix{Int},basis::Vector{Int}, tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, @@ -38,16 +39,18 @@ function geometry(h11::Int,tri::Int,cy::Int=1) h5open(cyax_file(h11,tri,cy), "r") do file if haskey(file, "cytools/geometric/tip_prefactor") tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") + if haskey(file, "cytools/geometric/hilbert_basis") + hilbert_basis = HDF5.read(file, "cytools/geometric/hilbert_basis") end end - if tip_prefactor !== nothing + if tip_prefactor !== nothing && hilbert_basis !== nothing # keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] # vals = [h21, # glsm,basis, # tip,tip_prefactor, CY_Volume,divisor_volumes, # Kinv] # return Dict(zip(keys,vals)) - return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) else # keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] # vals = [h21, @@ -55,8 +58,9 @@ function geometry(h11::Int,tri::Int,cy::Int=1) # tip, CY_Volume,divisor_volumes, # Kinv] # return Dict(zip(keys,vals)) - tip_prefactor = [1. , 1.] - return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv) + tip_prefactor = ones(Float64, 2) + hilbert_basis = zeros(geom_idx.h11, geom_idx.h11) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) end end @@ -69,7 +73,7 @@ end function hilbert_basis(geom_idx::GeometryIndex) basis = zeros(geom_idx.h11, geom_idx.h11) h5open(cyax_file(geom_idx), "r") do file - if haskey(file, "cytools/geometric/tip_prefactor") + if haskey(file, "cytools/geometric/hilbert_basis") basis = HDF5.read(file, "cytools/geometric/hilbert_basis") end end From c662dff0a587c464037b309cf1e8cff234b3da99 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:21:26 +0200 Subject: [PATCH 178/245] missing end added --- src/read.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/read.jl b/src/read.jl index 2d055bd..70f158f 100644 --- a/src/read.jl +++ b/src/read.jl @@ -39,6 +39,7 @@ function geometry(h11::Int,tri::Int,cy::Int=1) h5open(cyax_file(h11,tri,cy), "r") do file if haskey(file, "cytools/geometric/tip_prefactor") tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") + end if haskey(file, "cytools/geometric/hilbert_basis") hilbert_basis = HDF5.read(file, "cytools/geometric/hilbert_basis") end From f72c1181493eba4137352bac5e87d748bec69797 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:28:51 +0200 Subject: [PATCH 179/245] fixed cy_from_poly to include new structs --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 91c1f15..5dd2305 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -279,7 +279,7 @@ function cy_from_poly(h11) for col in eachcol(h11list_inds) h11,tri,cy_i = col top_data = topology(h11,tri,cy_i) - points, simplices = top_data["points"], top_data["simplices"] + points, simplices = top_data.points, top_data.simplices p = poly(points) t = p.triangulate(simplices=simplices) cy = t.get_cy() From b65ffd18a6c3ea23f448762562b798c205807d19 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:39:30 +0200 Subject: [PATCH 180/245] fixed typos --- src/read.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/read.jl b/src/read.jl index 70f158f..89426fa 100644 --- a/src/read.jl +++ b/src/read.jl @@ -60,7 +60,7 @@ function geometry(h11::Int,tri::Int,cy::Int=1) # Kinv] # return Dict(zip(keys,vals)) tip_prefactor = ones(Float64, 2) - hilbert_basis = zeros(geom_idx.h11, geom_idx.h11) + hilbert_basis = zeros(h11, h11) return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) end From c43525a099099a0c89ad0d0d957c2136bcc18c6f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:48:10 +0200 Subject: [PATCH 181/245] add single cy_from_poly function --- add_functions/cytools_wrapper.jl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 5dd2305..fa64cfd 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -290,6 +290,14 @@ function cy_from_poly(h11) return h11list end +function cy_from_poly(geom_idx::GeometryIndex) + top_data = topology(h11,tri,cy_i) + points, simplices = top_data.points, top_data.simplices + p = poly(points) + t = p.triangulate(simplices=simplices) + cy = t.get_cy() + return (h11 = h11, cy = cy, tri = tri, cy_i = cy_i) +end function geometries_generate(h11,cy,tri,cy_i=1; rational_Q = false) glsm = zeros(Int,h11,h11+4) basis = zeros(Int,h11) From 80380e4f33c1bbafd68b78430d98b02019e7a35d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:50:18 +0200 Subject: [PATCH 182/245] use GeometryIndex for cy_from_poly --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index fa64cfd..7fcba29 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -291,7 +291,7 @@ function cy_from_poly(h11) end function cy_from_poly(geom_idx::GeometryIndex) - top_data = topology(h11,tri,cy_i) + top_data = topology(geom_idx.h11, geom_idx.polytope, geom_idx.frst) points, simplices = top_data.points, top_data.simplices p = poly(points) t = p.triangulate(simplices=simplices) From b6e33796567d371900a305d0da9382c01f1deee0 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 19:51:37 +0200 Subject: [PATCH 183/245] typos fixed for consistency --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 7fcba29..f562695 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -296,7 +296,7 @@ function cy_from_poly(geom_idx::GeometryIndex) p = poly(points) t = p.triangulate(simplices=simplices) cy = t.get_cy() - return (h11 = h11, cy = cy, tri = tri, cy_i = cy_i) + return (h11 = geom_idx.h11, cy = cy, tri = geom_idx.polytope, cy_i = geom_idx.frst) end function geometries_generate(h11,cy,tri,cy_i=1; rational_Q = false) glsm = zeros(Int,h11,h11+4) From c7d4cf13d50c405e4d23005cfee5da5c8b624c29 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 20:09:01 +0200 Subject: [PATCH 184/245] added geometries_hilbert for saving new geoms --- add_functions/cytools_wrapper.jl | 108 ++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index f562695..a90c8ad 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -17,7 +17,7 @@ Functions that wrap basic functionality of [CYTools](https://cytools.liammcallis module cytools_wrapper using ..filestructure: data_dir, cyax_file, present_dir, np_path_generate -using ..read: topology +using ..read: topology, geometry, potential using ..structs: GeometryIndex using PyCall @@ -405,6 +405,88 @@ function geometries_generate(h11,cy,tri,cy_i=1; rational_Q = false) return Dict(zip(keys, vals)) end +function geometries_generate_hilbert(geom_idx::GeometryIndex) + cy = cy_from_poly(geom_idx).cy + geom_data = geometry(geom_idx) + pot_data = potential(geom_idx) + basis = geom_data.basis + tip = geom_data.tip + Kinv = geom_data.kinv + K = pot_data.K + tau = geom_data.τ_volumes + qprime = geom_data.hilbert_basis + n,m = 1,1 + while true + rhs_constraint = zeros(size(qprime,1)) + lhs_constraint = zeros(size(qprime,1),size(qprime,1)) + for i in axes(qprime,1) + for j in axes(qprime,1) + if i>j + lhs_constraint[i,j] = abs.(log.(abs.(pi*dot(qprime[i,:],(Kinv * qprime[j,:])))) .+ (-2π * dot(tau, qprime[i,:] .+ qprime[j,:]))) + end + end + rhs_constraint[i] = abs.(log.(abs.(dot(tau, qprime[i, :]))) .+ (-2π * dot(tau, qprime[i,:]))) + end + if LowerTriangular(lhs_constraint .< rhs_constraint) - I(size(qprime,1)) == LowerTriangular(zeros(size(qprime,1), size(qprime,1))) + break + else + m+=1e-2 + tip = m .* tip + #PTD volumes at tip + tau = cy.compute_divisor_volumes(tip)[basis] + #Kinv at tip -- save this or save K? + if cytools_version() < "0.8.0" + Kinv = cy.compute_Kinv(tip) + else + Kinv = cy.compute_inverse_kahler_metric(tip) + end + Kinv = Hermitian(1/2 * Kinv + Kinv') + end + end + if (minimum(tau) > 1.) + else + n = 1. / minimum(tau) + tip = sqrt(n) .* tip + #PTD volumes at tip + tau = cy.compute_divisor_volumes(tip)[basis] + #Kinv at tip -- save this or save K? + if cytools_version() < "0.8.0" + Kinv = cy.compute_Kinv(tip) + else + Kinv = cy.compute_inverse_kahler_metric(tip) + end + Kinv = Hermitian(1/2 * Kinv + Kinv') + end + tip_prefactor = [sqrt(n),m] + #Volume of CY3 at tip + V = cy.compute_cy_volume(tip) + + q = zeros(size(qprime,1)+binomial(size(qprime,1),2),geom_idx.h11) + L2 = zeros(Float64,binomial(size(qprime,1),2),2) + n=1 + q[1:size(qprime,1),:] = qprime + for i=1:size(qprime,1)-1 + for j=i+1:size(qprime,1) + q[size(qprime,1)+n,:] = qprime[j,:]-qprime[i,:] + L2[n,:] = [(pi*dot(qprime[i,:],(Kinv * qprime[j,:])) + + dot((qprime[i,:]+qprime[j,:]),tau))*8*pi/V^2 + -2*log10(exp(1))*pi*(dot(qprime[i,:],tau)+ dot(qprime[j,:],tau))] + n+=1 + end + end + #Use scalar potential eqn to generate \Lambda^4 (this produces a (size(qprime,1),2) matrix + #where the components are in (mantissa, exponent)(base 10) format + #L1 are basis instantons and L2 are cross terms + L1 = zeros(size(qprime,1),2) + for j in axes(qprime,1) + L1[j,:] = [(8*pi/V^2)*dot(qprime[j,:],tau) -2*log10(exp(1))*pi*dot(qprime[j,:],tau)] + end + #concatenate L1 and L2 + L = zeros(Float64,size(qprime,1)+binomial(size(qprime,1),2),2) + L = vcat(L1,L2) + return (basis = Int.(basis), tip = Float64.(tip), tip_prefactor = Float64.(tip_prefactor), CYvolume = Float64(V), τ_volumes = Float64.(tau), Kinv = Float64.(Kinv), L = hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Q = q) +end + function geometries(h11,cy,tri,cy_i=1) geom_data = geometries_generate(h11, cy, tri, cy_i) h5open(cyax_file(h11,tri,cy_i), "r+") do file @@ -430,4 +512,28 @@ function geometries(h11,cy,tri,cy_i=1) # return [h11,tri,cy_i] end +function geometries_hilbert(geom_idx::GeometryIndex) + geom_data = geometries_generate_hilbert(geom_idx) + h5open(cyax_file(geom_idx), "r+") do file + if haskey(file, "cytools/hilbert/geometric") + else + f1 = create_group(file, "cytools/hilbert/") + f1a = create_group(f1, "geometric") + f1a["tip",deflate=9] = geom_data.tip + f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor + f1a["CY_volume",deflate=9] = geom_data["CY_volume"] + f1a["divisor_volumes",deflate=9] = geom_data["PTD_volumes"] + f1a["Kinv",deflate=9] = geom_data["Kinv"] + end + if haskey(file, "cytools/hilbert/potential") + else + f1b = create_group(file, "cytools/hilbert/potential") + f1b["L",deflate=9] = geom_data.L + f1b["Q",deflate=9] = geom_data.Q + end + end + GC.gc() + # return [h11,tri,cy_i] +end + end \ No newline at end of file From 8102679a2af2068115994b6f2a04da81c30fd78b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 2 Aug 2023 20:12:15 +0200 Subject: [PATCH 185/245] fixed typos for geometries dict -> struct --- add_functions/cytools_wrapper.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index a90c8ad..afc2d3d 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -484,7 +484,7 @@ function geometries_generate_hilbert(geom_idx::GeometryIndex) #concatenate L1 and L2 L = zeros(Float64,size(qprime,1)+binomial(size(qprime,1),2),2) L = vcat(L1,L2) - return (basis = Int.(basis), tip = Float64.(tip), tip_prefactor = Float64.(tip_prefactor), CYvolume = Float64(V), τ_volumes = Float64.(tau), Kinv = Float64.(Kinv), L = hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Q = q) + return (basis = Int.(basis), tip = Float64.(tip), tip_prefactor = Float64.(tip_prefactor), CY_volume = Float64(V), τ_volumes = Float64.(tau), Kinv = Float64.(Kinv), L = hcat(sign.(L[:,1]), log10.(abs.(L[:,1])) .+ L[:,2]), Q = q) end function geometries(h11,cy,tri,cy_i=1) @@ -521,9 +521,9 @@ function geometries_hilbert(geom_idx::GeometryIndex) f1a = create_group(f1, "geometric") f1a["tip",deflate=9] = geom_data.tip f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor - f1a["CY_volume",deflate=9] = geom_data["CY_volume"] - f1a["divisor_volumes",deflate=9] = geom_data["PTD_volumes"] - f1a["Kinv",deflate=9] = geom_data["Kinv"] + f1a["CY_volume",deflate=9] = geom_data.CY_volume + f1a["divisor_volumes",deflate=9] = geom_data.PTD_volumes + f1a["Kinv",deflate=9] = geom_data.Kinv end if haskey(file, "cytools/hilbert/potential") else From c010d0ea390ec0c363289f6b4cd37a311c0b2fd5 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 10:50:34 +0200 Subject: [PATCH 186/245] =?UTF-8?q?added=20despatch:=20=CE=B1matrix(Q,=20L?= =?UTF-8?q?;=20threshold)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/generate.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/generate.jl b/src/generate.jl index b06b7ef..fb0d980 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -913,6 +913,9 @@ function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) αmatrix(LQtilde(geom_idx); threshold = threshold) end +function αmatrix(Q, L; threshold::Float64 = 0.5) + αmatrix(LQtilde(Q, L); threshold = threshold) +end """ ωnorm2(LQ::CanonicalQBasis) From a120e3ef697791c0cae245b56fa3b4b9727ed938 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 10:51:26 +0200 Subject: [PATCH 187/245] added despatch: minimize(Q, L; random_phase, threshold) --- src/jlm_minimizer.jl | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index a36466e..e9bb502 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -68,6 +68,56 @@ function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) end end +function minimize(Q::Matrix{Int}, L::Matrix{Float64}; random_phase=false, threshold = 0.01) + αtest = αmatrix(Q, L; threshold=threshold) + if typeof(αtest)<:Canonicalα + Qtilde = LQtilde(Q, L).Qtilde + det_Q_tilde = Int(abs(round(det(Qtilde)))) + n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) + Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' + Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' + for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) + if sum(abs.(row) .== 0) == (size(row, 1) - 1) + Q_reduced_temp[n_axions+i, :] .= 0 + end + end + Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] + Q_reduced_temp = Q_reduced_temp[Qrowmask, :] + if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) + return Min_JLM_Square(det_Q_tilde, Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + else + phase_vector = phase(size(Qtilde, 2), αtest) + if random_phase + phase_vector = mod.(phase_vector .+ rand(Uniform(0, 2π), size(phase_vector, 1)), 2π) + end + L_reduced = Matrix(hcat(αtest.Lhat[:, axes(Qtilde, 2)][:, αtest.αrowmask], αtest.Lhat[:, size(Qtilde, 2)+1:end][:, αtest.αcolmask])') + # L_reduced = L_reduced[Qrowmask, :] + flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) + αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) + θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) + basis_inverse = [] + if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 + θparallel::Matrix{Rational{BigInt}} = θparallel + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) + else + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) + end + vol_basis = Rational(det(θparallel)) + if size(Q_reduced, 2) == 1 + to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return one_dim_axion_solver(to_solve1D) + # return to_solve1D + else + to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return multi_axion_solver(to_solveND) + # return to_solveND + end + end + else + return Min_JLM_Square(Int(abs(round(det(αtest.Qhat)))), Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + end +end + function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) min_data = minimize(geom_idx; random_phase=random_phase, threshold = threshold) if isfile(minfile(geom_idx)) From c9d7bea8e39cb1a703d18290f2df4a3227219a86 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 11:04:46 +0200 Subject: [PATCH 188/245] h11 defined incorrectly in LQtilde --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index fb0d980..a3e70c6 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -793,7 +793,7 @@ function LQtilde(Q, L) @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." if @isdefined h11 else - h11 = size(Q, 2) + h11 = size(Q, 1) end Q = Matrix{Int}(Q[:, sortperm(L[2,:], rev=true)]) L = L[:, sortperm(L[2,:], rev=true)] From fdb2c8793d016ed52c4f58336ca7ea656018103b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 11:46:20 +0200 Subject: [PATCH 189/245] fixed major error with LQtilde Lbar was not long enough?! --- src/generate.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index a3e70c6..5686be6 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -788,7 +788,6 @@ end TBW """ -Λ function LQtilde(Q, L) @assert size(Q, 1) < size(Q, 2) "Looks like you need to transpose..." if @isdefined h11 @@ -814,8 +813,8 @@ function LQtilde(Q, L) end end if size(Qtilde, 2) + size(Qbar, 2) != size(Q, 2) + Lbar = hcat(Lbar[:, 2:end], L[:, size(Qtilde,2)+size(Qbar,2)-1:end]) Qbar = hcat(Qbar[:, 2:end], Q[:, size(Qtilde,2)+size(Qbar,2)-1:end]) - Lbar = hcat(Lbar[:, 2:end], L[:, size(Qtilde,2)+size(Qbar,2):end]) end LQLinearlyIndependent(Qtilde[:, 2:end], Qbar, Lbar, Ltilde[:, 2:end]) end @@ -843,7 +842,7 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) Qhat = Matrix{Rational}(LQ.Qtilde) if @isdefined h11 else - h11 = size(Qhat, 2) + h11 = size(Qhat, 1) end Qbar = Matrix{Int}(LQ.Qbar) Lhat = LQ.Ltilde From a3904cd18d6fef077e7433ac2edbb9de155544ef Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 12:06:29 +0200 Subject: [PATCH 190/245] =?UTF-8?q?PTD=5Fvolumes=20->=20=CF=84=5Fvolumes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- add_functions/cytools_wrapper.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index afc2d3d..14701f5 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -522,7 +522,7 @@ function geometries_hilbert(geom_idx::GeometryIndex) f1a["tip",deflate=9] = geom_data.tip f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor f1a["CY_volume",deflate=9] = geom_data.CY_volume - f1a["divisor_volumes",deflate=9] = geom_data.PTD_volumes + f1a["divisor_volumes",deflate=9] = geom_data.τ_volumes f1a["Kinv",deflate=9] = geom_data.Kinv end if haskey(file, "cytools/hilbert/potential") From 7c446545a70a54f7029303e380e4cf9401e8da50 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 12:24:04 +0200 Subject: [PATCH 191/245] script generates hilbert_basis for geometries --- scripts/geometries_hilbert.jl | 100 ++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 scripts/geometries_hilbert.jl diff --git a/scripts/geometries_hilbert.jl b/scripts/geometries_hilbert.jl new file mode 100644 index 0000000..8d76a7f --- /dev/null +++ b/scripts/geometries_hilbert.jl @@ -0,0 +1,100 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +# using MPIClusterManagers +# import MPI +# # MPI.initialize() +# manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# # addprocs(manager) +# np = workers() +# println(np) +# if np!=0 +# else +# error("no workers!") +# exit() +# end + +try + np = parse(Int32,ENV["SLURM_NPROCS"]) + addprocs(np, exeflags="--project=$(Base.active_project())") +catch e + error("no workers!") + exit() +end +# @everywhere newARGS = string("vacua_new") + +@everywhere using CYAxiverse +@everywhere using Random + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + + + +@everywhere function main_geom(geom_idx::CYAxiverse.structs.GeometryIndex,l) + try + CYAxiverse.cytools_wrapper.geometries_hilbert(geom_idx); + open(l, "a") do outf + write(outf,string("geom-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end + +end + + + + +############################## +#### Initialise functions #### +############################## +@time main_geom(CYAxiverse.structs.GeometryIndex(4, 1, 1), lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] + +# temp_top = hcat(temp_top...) +# println(size(temp_top)) +# println(temp_top) + +@time temp_geom = pmap(main_geom,h11list_temp, log_file_temp) +# println(size(temp_geom)) +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(h11list_temp, 2), "test runs have finished.\n")) +### Clear memory ###### +temp_top = nothing +temp_geom = nothing +GC.gc() +# all_h11 = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +h11list = h11list[:, h11list[1, :] .== 50] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main_geom, geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 3897f6b1057e02f351eae024241590c733ae36bd Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 12:59:51 +0200 Subject: [PATCH 192/245] np -> nworkers() --- scripts/geometries_hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/geometries_hilbert.jl b/scripts/geometries_hilbert.jl index 8d76a7f..3803beb 100644 --- a/scripts/geometries_hilbert.jl +++ b/scripts/geometries_hilbert.jl @@ -86,7 +86,7 @@ geom_params = shuffle!(geom_params) # geom_params = geom_params[end-6_000:end, :] ################################## ntasks = size(geom_params,1) -size_procs = size(np) +size_procs = nworkers() logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") From 4365a99688337154a0f1205547ed259c04dbf799 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 13:51:15 +0200 Subject: [PATCH 193/245] included hilbert kwarg for reading data --- src/read.jl | 136 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 90 insertions(+), 46 deletions(-) diff --git a/src/read.jl b/src/read.jl index 89426fa..be8893b 100644 --- a/src/read.jl +++ b/src/read.jl @@ -24,51 +24,86 @@ function topology(geom_idx::GeometryIndex) topology(h11, tri, cy) end -function geometry(h11::Int,tri::Int,cy::Int=1) +function geometry(h11::Int,tri::Int,cy::Int=1; hilbert = false) tip_prefactor = nothing hilbert_basis = nothing - h21::Int, - glsm::Matrix{Int},basis::Vector{Int}, - tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, - Kinv::Matrix{Float64}= h5open(cyax_file(h11,tri,cy), "r") do file - HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), - HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/geometric/tip"), - HDF5.read(file, "cytools/geometric/CY_volume"),HDF5.read(file, "cytools/geometric/divisor_volumes"), - HDF5.read(file, "cytools/geometric/Kinv") - end - h5open(cyax_file(h11,tri,cy), "r") do file - if haskey(file, "cytools/geometric/tip_prefactor") - tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") + if hilbert + h21::Int, glsm::Matrix{Int}, basis::Vector{Int}, tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, Kinv::Matrix{Float64} = + h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), + HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/hilbert/geometric/tip"), + HDF5.read(file, "cytools/hilbert/geometric/CY_volume"),HDF5.read(file, "cytools/hilbert/geometric/divisor_volumes"), + HDF5.read(file, "cytools/hilbert/geometric/Kinv") end - if haskey(file, "cytools/geometric/hilbert_basis") - hilbert_basis = HDF5.read(file, "cytools/geometric/hilbert_basis") + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "cytools/geometric/tip_prefactor") + tip_prefactor = HDF5.read(file, "cytools/hilbert/geometric/tip_prefactor") + end + if haskey(file, "cytools/geometric/hilbert_basis") + hilbert_basis = HDF5.read(file, "cytools/geometric/hilbert_basis") + end + end + if tip_prefactor !== nothing && hilbert_basis !== nothing + # keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip,tip_prefactor, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) + else + # keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + tip_prefactor = ones(Float64, 2) + hilbert_basis = zeros(h11, h11) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) end - end - if tip_prefactor !== nothing && hilbert_basis !== nothing - # keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] - # vals = [h21, - # glsm,basis, - # tip,tip_prefactor, CY_Volume,divisor_volumes, - # Kinv] - # return Dict(zip(keys,vals)) - return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) else - # keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] - # vals = [h21, - # glsm,basis, - # tip, CY_Volume,divisor_volumes, - # Kinv] - # return Dict(zip(keys,vals)) - tip_prefactor = ones(Float64, 2) - hilbert_basis = zeros(h11, h11) - return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) + h21::Int, glsm::Matrix{Int},basis::Vector{Int}, tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, Kinv::Matrix{Float64} = + h5open(cyax_file(h11,tri,cy), "r") do file + HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), + HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/geometric/tip"), + HDF5.read(file, "cytools/geometric/CY_volume"),HDF5.read(file, "cytools/geometric/divisor_volumes"), + HDF5.read(file, "cytools/geometric/Kinv") + end + h5open(cyax_file(h11,tri,cy), "r") do file + if haskey(file, "cytools/geometric/tip_prefactor") + tip_prefactor = HDF5.read(file, "cytools/geometric/tip_prefactor") + end + if haskey(file, "cytools/geometric/hilbert_basis") + hilbert_basis = HDF5.read(file, "cytools/geometric/hilbert_basis") + end + end + if tip_prefactor !== nothing && hilbert_basis !== nothing + # keys = ["h21","glsm_charges","basis","tip","tip_prefactor", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip,tip_prefactor, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) + else + # keys = ["h21","glsm_charges","basis","tip", "CYvolume","τ_volumes","Kinv"] + # vals = [h21, + # glsm,basis, + # tip, CY_Volume,divisor_volumes, + # Kinv] + # return Dict(zip(keys,vals)) + tip_prefactor = ones(Float64, 2) + hilbert_basis = zeros(h11, h11) + return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) + end end - end -function geometry(geom_idx::GeometryIndex) + +function geometry(geom_idx::GeometryIndex; hilbert = false) h11, tri, cy = geom_idx.h11, geom_idx.polytope, geom_idx.frst - geometry(h11, tri, cy) + geometry(h11, tri, cy; hilbert = hilbert) end function hilbert_basis(geom_idx::GeometryIndex) @@ -85,29 +120,38 @@ end ##### Read Geometric data ### ############################# -function potential(geom_idx::GeometryIndex) - L::Matrix{Float64}, Q::Matrix{Int}, - Kinv::Matrix{Float64}= h5open(cyax_file(geom_idx), "r") do file - HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), - HDF5.read(file, "cytools/geometric/Kinv") +function potential(geom_idx::GeometryIndex; hilbert = false) + if hilbert + L::Matrix{Float64}, Q::Matrix{Int}, Kinv::Matrix{Float64} = + h5open(cyax_file(geom_idx), "r") do file + HDF5.read(file, "cytools/hilbert/potential/L"),HDF5.read(file, "cytools/hilbert/potential/Q"), + HDF5.read(file, "cytools/hilbert/geometric/Kinv") + end + AxionPotential(L, Q, Hermitian(inv(Kinv))) + else + L::Matrix{Float64}, Q::Matrix{Int}, + Kinv::Matrix{Float64}= h5open(cyax_file(geom_idx), "r") do file + HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), + HDF5.read(file, "cytools/geometric/Kinv") + end + AxionPotential(L, Q, Hermitian(inv(Kinv))) end - AxionPotential(L, Q, Hermitian(inv(Kinv))) end -function potential(h11::Int,tri::Int,cy::Int=1) +function potential(h11::Int,tri::Int,cy::Int=1; hilbert = false) geom_idx = GeometryIndex(h11, tri, cy) potential(geom_idx) end -function Q(h11::Int,tri::Int,cy::Int=1) +function Q(h11::Int,tri::Int,cy::Int=1; hilbert = false) Q::Matrix{Int} = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/potential/Q") end return Q end -function K(h11::Int,tri::Int,cy::Int=1) +function K(h11::Int,tri::Int,cy::Int=1; hilbert = false) K::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/potential/K") end @@ -115,7 +159,7 @@ function K(h11::Int,tri::Int,cy::Int=1) return Hermitian(K) end -function L_log(h11::Int,tri::Int,cy::Int=1) +function L_log(h11::Int,tri::Int,cy::Int=1; hilbert = false) L::Matrix{Float64} = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/potential/L") end From 3c21ce6a814375f48f55c3437d1283097cbfe524 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 13:53:21 +0200 Subject: [PATCH 194/245] fixed typo --- src/read.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/read.jl b/src/read.jl index be8893b..eccb77d 100644 --- a/src/read.jl +++ b/src/read.jl @@ -141,7 +141,7 @@ end function potential(h11::Int,tri::Int,cy::Int=1; hilbert = false) geom_idx = GeometryIndex(h11, tri, cy) - potential(geom_idx) + potential(geom_idx; hilbert = hilbert) end function Q(h11::Int,tri::Int,cy::Int=1; hilbert = false) From 98443405303b76f92891684cd845d3f141f49753 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 14:07:45 +0200 Subject: [PATCH 195/245] fixed multiple declarations of variables --- src/read.jl | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/read.jl b/src/read.jl index eccb77d..d021014 100644 --- a/src/read.jl +++ b/src/read.jl @@ -27,8 +27,15 @@ end function geometry(h11::Int,tri::Int,cy::Int=1; hilbert = false) tip_prefactor = nothing hilbert_basis = nothing + h21::Int = 0 + glsm::Matrix{Int} = zeros(Int, h11, h11) + basis::Vector{Int} = zeros(Int, h11) + tip::Vector{Float64} = zeros(Float64, h11) + CY_Volume::Float64 = 0. + divisor_volumes::Vector{Float64} = zeros(Float64, h11) + Kinv::Matrix{Float64} = zeros(Float64, h11, h11) if hilbert - h21::Int, glsm::Matrix{Int}, basis::Vector{Int}, tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, Kinv::Matrix{Float64} = + h21, glsm, basis, tip, CY_Volume, divisor_volumes, Kinv = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/hilbert/geometric/tip"), @@ -63,7 +70,7 @@ function geometry(h11::Int,tri::Int,cy::Int=1; hilbert = false) return GeometricData(tip_prefactor, divisor_volumes, h21, CY_Volume, glsm, basis, tip, Kinv, hilbert_basis) end else - h21::Int, glsm::Matrix{Int},basis::Vector{Int}, tip::Vector{Float64}, CY_Volume::Float64,divisor_volumes::Vector{Float64}, Kinv::Matrix{Float64} = + h21, glsm, basis, tip, CY_Volume, divisor_volumes, Kinv = h5open(cyax_file(h11,tri,cy), "r") do file HDF5.read(file, "cytools/geometric/h21"),HDF5.read(file, "cytools/geometric/glsm"), HDF5.read(file, "cytools/geometric/basis"),HDF5.read(file, "cytools/geometric/tip"), @@ -121,16 +128,19 @@ end ############################# function potential(geom_idx::GeometryIndex; hilbert = false) + L::Matrix{Float64} = zeros(Float64, 1, 1) + Q::Matrix{Int} = zeros(Int, 1, 1) + Kinv::Matrix{Float64} = zeros(Float64, geom_idx.h11, geom_idx.h11) if hilbert - L::Matrix{Float64}, Q::Matrix{Int}, Kinv::Matrix{Float64} = + L, Q, Kinv = h5open(cyax_file(geom_idx), "r") do file HDF5.read(file, "cytools/hilbert/potential/L"),HDF5.read(file, "cytools/hilbert/potential/Q"), HDF5.read(file, "cytools/hilbert/geometric/Kinv") end AxionPotential(L, Q, Hermitian(inv(Kinv))) else - L::Matrix{Float64}, Q::Matrix{Int}, - Kinv::Matrix{Float64}= h5open(cyax_file(geom_idx), "r") do file + L, Q, Kinv = + h5open(cyax_file(geom_idx), "r") do file HDF5.read(file, "cytools/potential/L"),HDF5.read(file, "cytools/potential/Q"), HDF5.read(file, "cytools/geometric/Kinv") end From 7628c7ba0961036d2e213b86052276d5eb31df5d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 18:26:27 +0200 Subject: [PATCH 196/245] hilbert_minima script --- scripts/hilbert_minima_compare.jl | 92 +++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 scripts/hilbert_minima_compare.jl diff --git a/scripts/hilbert_minima_compare.jl b/scripts/hilbert_minima_compare.jl new file mode 100644 index 0000000..4f3656b --- /dev/null +++ b/scripts/hilbert_minima_compare.jl @@ -0,0 +1,92 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + min_data = CYAxiverse.jlm_minimizer.minimize(geom_idx) + pot_data = CYAxiverse.read.potential(geom_idx; hilbert = true) + min_data_hilbert = CYAxiverse.jlm_minimizer.minimize(Matrix(pot_data.Q'), Matrix(pot_data.L'); threshold = 0.01) + if min_data == min_data_hilbert + else + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")\n")) + end + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")\n")) + end + end +end + + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +h11list = h11list[:, h11list[1, :] .<= 53] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +# geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") +open(l, "a") do outf + write(outf,string("The problematic geometries are: \n")) +end +@time begin + res = pmap(main, geom_params, logfiles) +end + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 0b77e724ac0a8b45a339e7444a9f972f00433f85 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 18:26:45 +0200 Subject: [PATCH 197/245] run hilbert test on geoms with h11 <= 55 --- scripts/geometries_hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/geometries_hilbert.jl b/scripts/geometries_hilbert.jl index 3803beb..2268550 100644 --- a/scripts/geometries_hilbert.jl +++ b/scripts/geometries_hilbert.jl @@ -76,7 +76,7 @@ GC.gc() Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] # h11list = h11list[:, h11list[1, :] .!= 491] -h11list = h11list[:, h11list[1, :] .== 50] +h11list = h11list[:, h11list[1, :] .<= 55] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) From fb4b376db72d8797af0b9605b0af1bf00e84f690 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 3 Aug 2023 18:27:02 +0200 Subject: [PATCH 198/245] testing corrected --- scripts/hilbert.jl | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index e4748a9..38236e4 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -58,12 +58,9 @@ end else Qtest = CYAxiverse.read.potential(geom_idx).Q[1:geom_idx.h11+4, :] hilbert_test = CYAxiverse.cytools_wrapper.hilbert_basis(Qtest) - if is_subset_of(collect(eachcol(hilbert_test')), collect(eachcol(Qtest'))) - else - CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Matrix(hilbert_test)) - open(l, "a") do outf - write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) - end + CYAxiverse.cytools_wrapper.hilbert_save(geom_idx, Matrix(hilbert_test)) + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end end catch e @@ -99,7 +96,7 @@ GC.gc() Random.seed!(1234567890) np = nworkers() h11list = CYAxiverse.filestructure.paths_cy()[2] -# h11list = h11list[:, h11list[1, :] .== 491] +h11list = h11list[:, h11list[1, :] .<= 53] # h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] # geom_params = shuffle!(geom_params) From 7d672daa8c5975950b9e6e905dde296b57c13a6a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 4 Aug 2023 11:24:46 +0200 Subject: [PATCH 199/245] l -> lfile typo corrected --- scripts/hilbert_minima_compare.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hilbert_minima_compare.jl b/scripts/hilbert_minima_compare.jl index 4f3656b..bc099ce 100644 --- a/scripts/hilbert_minima_compare.jl +++ b/scripts/hilbert_minima_compare.jl @@ -81,7 +81,7 @@ size_procs = size(np) logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") -open(l, "a") do outf +open(lfile, "a") do outf write(outf,string("The problematic geometries are: \n")) end @time begin From ca2b09eb00651fc81aa11f60a258a6da78c3e755 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 4 Aug 2023 14:23:45 +0200 Subject: [PATCH 200/245] run on all geoms up to h11 = 53 --- scripts/geometries_hilbert.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/geometries_hilbert.jl b/scripts/geometries_hilbert.jl index 2268550..ee9b72e 100644 --- a/scripts/geometries_hilbert.jl +++ b/scripts/geometries_hilbert.jl @@ -76,7 +76,7 @@ GC.gc() Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] # h11list = h11list[:, h11list[1, :] .!= 491] -h11list = h11list[:, h11list[1, :] .<= 55] +h11list = h11list[:, h11list[1, :] .<= 53] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) From 3b6e9574e7893a42eeacaf3d338fe3f651546cb9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 4 Aug 2023 14:25:44 +0200 Subject: [PATCH 201/245] geometries_hilbert now overwrites quantities --- add_functions/cytools_wrapper.jl | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 14701f5..67bba53 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -515,22 +515,17 @@ end function geometries_hilbert(geom_idx::GeometryIndex) geom_data = geometries_generate_hilbert(geom_idx) h5open(cyax_file(geom_idx), "r+") do file - if haskey(file, "cytools/hilbert/geometric") - else - f1 = create_group(file, "cytools/hilbert/") - f1a = create_group(f1, "geometric") - f1a["tip",deflate=9] = geom_data.tip - f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor - f1a["CY_volume",deflate=9] = geom_data.CY_volume - f1a["divisor_volumes",deflate=9] = geom_data.τ_volumes - f1a["Kinv",deflate=9] = geom_data.Kinv - end - if haskey(file, "cytools/hilbert/potential") - else - f1b = create_group(file, "cytools/hilbert/potential") - f1b["L",deflate=9] = geom_data.L - f1b["Q",deflate=9] = geom_data.Q - end + f1 = create_group(file, "cytools/hilbert/") + f1a = create_group(f1, "geometric") + f1a["tip",deflate=9] = geom_data.tip + f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor + f1a["CY_volume",deflate=9] = geom_data.CY_volume + f1a["divisor_volumes",deflate=9] = geom_data.τ_volumes + f1a["Kinv",deflate=9] = geom_data.Kinv + + f1b = create_group(file, "cytools/hilbert/potential") + f1b["L",deflate=9] = geom_data.L + f1b["Q",deflate=9] = geom_data.Q end GC.gc() # return [h11,tri,cy_i] From 4e2e71aef8fc4e700043a6d888612b29d75f2e95 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 9 Aug 2023 16:59:10 +0200 Subject: [PATCH 202/245] geometries_hilbert fix replaces data if keys exist --- add_functions/cytools_wrapper.jl | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 67bba53..244d958 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -515,17 +515,26 @@ end function geometries_hilbert(geom_idx::GeometryIndex) geom_data = geometries_generate_hilbert(geom_idx) h5open(cyax_file(geom_idx), "r+") do file - f1 = create_group(file, "cytools/hilbert/") - f1a = create_group(f1, "geometric") - f1a["tip",deflate=9] = geom_data.tip - f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor - f1a["CY_volume",deflate=9] = geom_data.CY_volume - f1a["divisor_volumes",deflate=9] = geom_data.τ_volumes - f1a["Kinv",deflate=9] = geom_data.Kinv + if haskey(file, "cytools/hilbert/") + else + create_group(file, "cytools/hilbert/") + end + if haskey(file, "cytools/hilbert/geometric") + else + create_group(file, "cytools/hilbert/geometric") + end + file["cytools/hilbert/geometric/tip",deflate=9] = geom_data.tip + file["cytools/hilbert/geometric/tip_prefactor",deflate=9] = geom_data.tip_prefactor + file["cytools/hilbert/geometric/CY_volume",deflate=9] = geom_data.CY_volume + file["cytools/hilbert/geometric/divisor_volumes",deflate=9] = geom_data.τ_volumes + file["cytools/hilbert/geometric/Kinv",deflate=9] = geom_data.Kinv - f1b = create_group(file, "cytools/hilbert/potential") - f1b["L",deflate=9] = geom_data.L - f1b["Q",deflate=9] = geom_data.Q + if haskey(file, "cytools/hilbert/potential") + else + create_group(file, "cytools/hilbert/potential") + end + file["cytools/hilbert/potential/L",deflate=9] = geom_data.L + file["cytools/hilbert/potential/Q",deflate=9] = geom_data.Q end GC.gc() # return [h11,tri,cy_i] From 213faf2f61cc5fc4b0e63b7e60a5407622cc311e Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 9 Aug 2023 17:22:40 +0200 Subject: [PATCH 203/245] hdf5 overwrite data requires delete_object fixed in geometries_hilbert --- add_functions/cytools_wrapper.jl | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 244d958..10c4640 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -516,25 +516,19 @@ function geometries_hilbert(geom_idx::GeometryIndex) geom_data = geometries_generate_hilbert(geom_idx) h5open(cyax_file(geom_idx), "r+") do file if haskey(file, "cytools/hilbert/") - else - create_group(file, "cytools/hilbert/") - end - if haskey(file, "cytools/hilbert/geometric") - else - create_group(file, "cytools/hilbert/geometric") + delete_object(file, "cytools/hilbert/") end - file["cytools/hilbert/geometric/tip",deflate=9] = geom_data.tip - file["cytools/hilbert/geometric/tip_prefactor",deflate=9] = geom_data.tip_prefactor - file["cytools/hilbert/geometric/CY_volume",deflate=9] = geom_data.CY_volume - file["cytools/hilbert/geometric/divisor_volumes",deflate=9] = geom_data.τ_volumes - file["cytools/hilbert/geometric/Kinv",deflate=9] = geom_data.Kinv + f1 = create_group(file, "cytools/hilbert/") + f1a = create_group(f1, "geometric") + f1a["tip",deflate=9] = geom_data.tip + f1a["tip_prefactor",deflate=9] = geom_data.tip_prefactor + f1a["CY_volume",deflate=9] = geom_data.CY_volume + f1a["divisor_volumes",deflate=9] = geom_data.τ_volumes + f1a["Kinv",deflate=9] = geom_data.Kinv - if haskey(file, "cytools/hilbert/potential") - else - create_group(file, "cytools/hilbert/potential") - end - file["cytools/hilbert/potential/L",deflate=9] = geom_data.L - file["cytools/hilbert/potential/Q",deflate=9] = geom_data.Q + f1b = create_group(file, "cytools/hilbert/potential") + f1b["L",deflate=9] = geom_data.L + f1b["Q",deflate=9] = geom_data.Q end GC.gc() # return [h11,tri,cy_i] From f640ff8b8e173406f87de7a444bad667edbf796f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 9 Aug 2023 21:26:23 +0200 Subject: [PATCH 204/245] replace potential data that previously zeroed --- scripts/hilbert.jl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/hilbert.jl b/scripts/hilbert.jl index 38236e4..8543849 100644 --- a/scripts/hilbert.jl +++ b/scripts/hilbert.jl @@ -47,7 +47,21 @@ CYAxiverse.filestructure.logcreate(lfile) end return true end - +@everywhere function hilbert_potential(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + pot_data = CYAxiverse.read.potential(geom_idx; hilbert = true) + if pot_data.L[1, 1] == zero(pot_data.L[1, 1]) + CYAxiverse.cytools_wrapper.geometries_hilbert(geom_idx) + end + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end +end @everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try hilbert_exists = false @@ -76,12 +90,12 @@ end #### Initialise functions #### ############################## geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) -@time temp_vac = main(geom_idx,lfile) +@time temp_vac = hilbert_potential(geom_idx,lfile) h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] @time begin - temp_vac = pmap(main, h11list_temp, log_file_temp) + temp_vac = pmap(hilbert_potential, h11list_temp, log_file_temp) end # println(temp_geom) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) @@ -113,7 +127,7 @@ logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") @time begin - res = pmap(main, geom_params, logfiles) + res = pmap(hilbert_potential, geom_params, logfiles) end GC.gc() From 78d6ea563d656551ae80c7846c5d1bb0353e2446 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 9 Aug 2023 21:28:41 +0200 Subject: [PATCH 205/245] amended correct file this time (see last push) --- scripts/geometries_hilbert.jl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/geometries_hilbert.jl b/scripts/geometries_hilbert.jl index ee9b72e..01bf4fb 100644 --- a/scripts/geometries_hilbert.jl +++ b/scripts/geometries_hilbert.jl @@ -30,7 +30,21 @@ end lfile = CYAxiverse.filestructure.logfile() CYAxiverse.filestructure.logcreate(lfile) - +@everywhere function hilbert_potential(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + pot_data = CYAxiverse.read.potential(geom_idx; hilbert = true) + if pot_data.L[1, 1] == zero(pot_data.L[1, 1]) + CYAxiverse.cytools_wrapper.geometries_hilbert(geom_idx) + end + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end +end @everywhere function main_geom(geom_idx::CYAxiverse.structs.GeometryIndex,l) try @@ -52,7 +66,7 @@ end ############################## #### Initialise functions #### ############################## -@time main_geom(CYAxiverse.structs.GeometryIndex(4, 1, 1), lfile) +@time hilbert_potential(CYAxiverse.structs.GeometryIndex(4, 1, 1), lfile) h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] @@ -61,7 +75,7 @@ log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] # println(size(temp_top)) # println(temp_top) -@time temp_geom = pmap(main_geom,h11list_temp, log_file_temp) +@time temp_geom = pmap(hilbert_potential,h11list_temp, log_file_temp) # println(size(temp_geom)) # println(temp_geom) CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string(size(h11list_temp, 2), "test runs have finished.\n")) @@ -92,7 +106,7 @@ logfiles = [lfile for _=1:ntasks] CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") @time begin - res = pmap(main_geom, geom_params, logfiles) + res = pmap(hilbert_potential, geom_params, logfiles) end GC.gc() From 0809b3e52548d18c3689ad4d764c622bf0afb733 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 11:28:05 +0200 Subject: [PATCH 206/245] show details of comparisons when difference found --- scripts/hilbert_minima_compare.jl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/hilbert_minima_compare.jl b/scripts/hilbert_minima_compare.jl index bc099ce..4204032 100644 --- a/scripts/hilbert_minima_compare.jl +++ b/scripts/hilbert_minima_compare.jl @@ -27,10 +27,22 @@ end min_data = CYAxiverse.jlm_minimizer.minimize(geom_idx) pot_data = CYAxiverse.read.potential(geom_idx; hilbert = true) min_data_hilbert = CYAxiverse.jlm_minimizer.minimize(Matrix(pot_data.Q'), Matrix(pot_data.L'); threshold = 0.01) - if min_data == min_data_hilbert + if min_data.N_min == min_data_hilbert.N_min else open(l, "a") do outf - write(outf,string("(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")\n")) + write(outf,string("min-(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")-(", min_data.N_min, ", ", min_data_hilbert.N_min,")\n")) + end + end + if min_data.det_QTilde == min_data_hilbert.det_QTilde + else + open(l, "a") do outf + write(outf,string("det_QTilde-(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")-(", min_data.det_QTilde, ", ", min_data_hilbert.det_QTilde,")\n")) + end + end + if typeof(min_data) == typeof(min_data_hilbert) + else + open(l, "a") do outf + write(outf,string("type-(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")-(", typeof(min_data), ", ", typeof(min_data_hilbert), ")\n")) end end catch e From 10f9139d9a70c009a8b2a6609057213a9390d99a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:29:23 +0200 Subject: [PATCH 207/245] include hilbert option in vacua_jlm --- src/read.jl | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/read.jl b/src/read.jl index d021014..eaa3eee 100644 --- a/src/read.jl +++ b/src/read.jl @@ -258,19 +258,32 @@ function vacua_TB(h11::Int,tri::Int,cy::Int=1) end end -function vacua_jlm(geom_idx::GeometryIndex) +function vacua_jlm(geom_idx::GeometryIndex; hilbert = false) Nvac = 0 min_coords = zeros(1,1) extra_rows = 0 det_Qtilde = 0 - h5open(minfile(geom_idx), "r") do file - Nvac = HDF5.read(file, "Nvac") - if haskey(file, "extra_rows") - min_coords = HDF5.read(file, "vac_coords") - extra_rows = HDF5.read(file, "extra_rows") + if hilbert + h5open(minfile(geom_idx), "r") do file + Nvac = HDF5.read(file, "hilbert/Nvac") + if haskey(file, "hilbert/extra_rows") + min_coords = HDF5.read(file, "hilbert/vac_coords") + extra_rows = HDF5.read(file, "hilbert/extra_rows") + end + if haskey(file, "hilbert/det_QTilde") + det_Qtilde = HDF5.read(file, "hilbert/det_QTilde") + end end - if haskey(file, "det_QTilde") - det_Qtilde = HDF5.read(file, "det_QTilde") + else + h5open(minfile(geom_idx), "r") do file + Nvac = HDF5.read(file, "Nvac") + if haskey(file, "extra_rows") + min_coords = HDF5.read(file, "vac_coords") + extra_rows = HDF5.read(file, "extra_rows") + end + if haskey(file, "det_QTilde") + det_Qtilde = HDF5.read(file, "det_QTilde") + end end end if extra_rows == 0 From 14ecbab120a5d0f544568227d478990ee6271d15 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:29:51 +0200 Subject: [PATCH 208/245] =?UTF-8?q?added=20hilbert=20option=20to=20LQtilde?= =?UTF-8?q?=20and=20=CE=B1matrix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/generate.jl | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 5686be6..9e5d87e 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -819,18 +819,31 @@ function LQtilde(Q, L) LQLinearlyIndependent(Qtilde[:, 2:end], Qbar, Lbar, Ltilde[:, 2:end]) end -function LQtilde(h11::Int, tri::Int, cy::Int) - pot_data = potential(h11, tri, cy) - Q = Matrix{Int}(pot_data.Q') - L = Matrix{Float64}(pot_data.L') - LQtilde(Q, L) +function LQtilde(h11::Int, tri::Int, cy::Int; hilbert = false) + if hilbert + pot_data = potential(h11, tri, cy; hilbert = hilbert) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') + return LQtilde(Q, L) + else + pot_data = potential(h11, tri, cy; hilbert = hilbert) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') + return LQtilde(Q, L) + end end -function LQtilde(geom_idx::GeometryIndex) - pot_data = potential(geom_idx) - Q = Matrix{Int}(pot_data.Q') - L = Matrix{Float64}(pot_data.L') - LQtilde(Q, L) +function LQtilde(geom_idx::GeometryIndex; hilbert = false) + if hilbert + pot_data = potential(geom_idx; hilbert = hilbert) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') + return LQtilde(Q, L) + else + pot_data = potential(geom_idx; hilbert = hilbert) + Q = Matrix{Int}(pot_data.Q') + L = Matrix{Float64}(pot_data.L') + return LQtilde(Q, L) end """ @@ -904,12 +917,12 @@ function αmatrix(LQ::LQLinearlyIndependent; threshold::Float64=0.5) end end -function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5) - αmatrix(LQtilde(h11, tri, cy); threshold = threshold) +function αmatrix(h11::Int, tri::Int, cy::Int; threshold::Float64 = 0.5, hilbert = false) + αmatrix(LQtilde(h11, tri, cy; hilbert = hilbert); threshold = threshold) end -function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5) - αmatrix(LQtilde(geom_idx); threshold = threshold) +function αmatrix(geom_idx::GeometryIndex; threshold::Float64 = 0.5, hilbert = false) + αmatrix(LQtilde(geom_idx; hilbert = hilbert); threshold = threshold) end function αmatrix(Q, L; threshold::Float64 = 0.5) From fbf9c0a16938d71717f63680bc8197e0793dc282 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:30:23 +0200 Subject: [PATCH 209/245] added hilbert option to minimize / minimize_save --- src/jlm_minimizer.jl | 99 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 77 insertions(+), 22 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index e9bb502..b6b9c36 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -18,10 +18,10 @@ using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND, Min_JLM_1D, Min If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. """ -function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) - αtest = αmatrix(geom_idx; threshold=threshold) +function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01, hilbert = false) + αtest = αmatrix(geom_idx; threshold=threshold, hilbert = hilbert) if typeof(αtest)<:Canonicalα - Qtilde = LQtilde(geom_idx).Qtilde + Qtilde = LQtilde(geom_idx; hilbert = hilbert).Qtilde det_Q_tilde = Int(abs(round(det(Qtilde)))) n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' @@ -118,27 +118,82 @@ function minimize(Q::Matrix{Int}, L::Matrix{Float64}; random_phase=false, thresh end end -function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01) - min_data = minimize(geom_idx; random_phase=random_phase, threshold = threshold) - if isfile(minfile(geom_idx)) - rm(minfile(geom_idx)) - end - if typeof(min_data) <: Min_JLM_Square - h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file - file["Nvac", deflate=9] = min_data.N_min - file["det_QTilde", deflate=9] = min_data.det_QTilde - file["issquare", deflate=9] = 1 +function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01, hilbert = false) + min_data = minimize(geom_idx; random_phase=random_phase, threshold = threshold, hilbert = hilbert) + if hilbert + if typeof(min_data) <: Min_JLM_Square + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "hilbert") + delete_object(file, "hilbert/") + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate=9] = min_data.N_min + f1["det_QTilde", deflate=9] = min_data.det_QTilde + f1["issquare", deflate=9] = 1 + else + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate=9] = min_data.N_min + f1["det_QTilde", deflate=9] = min_data.det_QTilde + f1["issquare", deflate=9] = 1 + end + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "hilbert") + delete_object(file, "hilbert/") + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate = 9] = min_data.N_min + f1["vac_coords", deflate = 9] = min_data.min_coords + f1["extra_rows", deflate = 9] = min_data.extra_rows + f1["det_QTilde", deflate = 9] = min_data.det_QTilde + f1["issquare", deflate=9] = 0 + else + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate = 9] = min_data.N_min + f1["vac_coords", deflate = 9] = min_data.min_coords + f1["extra_rows", deflate = 9] = min_data.extra_rows + f1["det_QTilde", deflate = 9] = min_data.det_QTilde + f1["issquare", deflate=9] = 0 + end + end end - elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND - h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file - file["Nvac", deflate = 9] = min_data.N_min - file["vac_coords", deflate = 9] = min_data.min_coords - file["extra_rows", deflate = 9] = min_data.extra_rows - file["det_QTilde", deflate = 9] = min_data.det_QTilde - file["issquare", deflate=9] = 0 + else + if typeof(min_data) <: Min_JLM_Square + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "Nvac") + delete_object(file, "Nvac") + delete_object(file, "det_QTilde") + delete_object(file, "issquare") + file["Nvac", deflate=9] = min_data.N_min + file["det_QTilde", deflate=9] = min_data.det_QTilde + file["issquare", deflate=9] = 1 + else + file["Nvac", deflate=9] = min_data.N_min + file["det_QTilde", deflate=9] = min_data.det_QTilde + file["issquare", deflate=9] = 1 + end + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "Nvac") + delete_object(file, "Nvac") + delete_object(file, "det_QTilde") + delete_object(file, "issquare") + delete_object(file, "vac_coords") + delete_object(file, "extra_rows") + file["Nvac", deflate = 9] = min_data.N_min + file["vac_coords", deflate = 9] = min_data.min_coords + file["extra_rows", deflate = 9] = min_data.extra_rows + file["det_QTilde", deflate = 9] = min_data.det_QTilde + file["issquare", deflate=9] = 0 + else + file["Nvac", deflate = 9] = min_data.N_min + file["vac_coords", deflate = 9] = min_data.min_coords + file["extra_rows", deflate = 9] = min_data.extra_rows + file["det_QTilde", deflate = 9] = min_data.det_QTilde + file["issquare", deflate=9] = 0 + end + end end - end - return end From f9269e4312ce28f266f8267cde49e16c064730ae Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:37:10 +0200 Subject: [PATCH 210/245] save minima with hilbert basis up to h11=53 --- scripts/hilbert_minima.jl | 88 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 scripts/hilbert_minima.jl diff --git a/scripts/hilbert_minima.jl b/scripts/hilbert_minima.jl new file mode 100644 index 0000000..db3c8dd --- /dev/null +++ b/scripts/hilbert_minima.jl @@ -0,0 +1,88 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; threshold = 0.01) + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; threshold = 0.01, hilbert = true) + open(l, "a") do outf + write(outf,string("(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,", ",geom_idx.polytope,", ",geom_idx.frst,")\n")) + end + end +end + + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +# h11list = h11list[:, h11list[1, :] .!= 491] +h11list = h11list[:, h11list[1, :] .<= 53] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +# geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") +open(lfile, "a") do outf + write(outf,string("The problematic geometries are: \n")) +end +@time begin + res = pmap(main, geom_params, logfiles) +end + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) + From 66331b7f9e06ed96bf051902f42049db140b1f1d Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:43:05 +0200 Subject: [PATCH 211/245] missing end added --- src/jlm_minimizer.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index b6b9c36..34a0373 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -194,6 +194,7 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = end end end + end end From 81a4779e0fcfc292fb36f30c512bc5876e2b322b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 10 Aug 2023 12:44:33 +0200 Subject: [PATCH 212/245] missing end added --- src/generate.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/generate.jl b/src/generate.jl index 9e5d87e..a634d84 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -844,6 +844,7 @@ function LQtilde(geom_idx::GeometryIndex; hilbert = false) Q = Matrix{Int}(pot_data.Q') L = Matrix{Float64}(pot_data.L') return LQtilde(Q, L) + end end """ From 7d52c0bd5e79e737ae492fdc5f2c776d71aa54fe Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:29:46 +0200 Subject: [PATCH 213/245] specify HDF5.delete_object --- src/jlm_minimizer.jl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 34a0373..27aae96 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -124,7 +124,7 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = if typeof(min_data) <: Min_JLM_Square h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "hilbert") - delete_object(file, "hilbert/") + HDF5.delete_object(file, "hilbert/") f1 = create_group(file, "hilbert/") f1["Nvac", deflate=9] = min_data.N_min f1["det_QTilde", deflate=9] = min_data.det_QTilde @@ -139,7 +139,7 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "hilbert") - delete_object(file, "hilbert/") + HDF5.delete_object(file, "hilbert/") f1 = create_group(file, "hilbert/") f1["Nvac", deflate = 9] = min_data.N_min f1["vac_coords", deflate = 9] = min_data.min_coords @@ -160,9 +160,9 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = if typeof(min_data) <: Min_JLM_Square h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "Nvac") - delete_object(file, "Nvac") - delete_object(file, "det_QTilde") - delete_object(file, "issquare") + HDF5.delete_object(file, "Nvac") + HDF5.delete_object(file, "det_QTilde") + HDF5.delete_object(file, "issquare") file["Nvac", deflate=9] = min_data.N_min file["det_QTilde", deflate=9] = min_data.det_QTilde file["issquare", deflate=9] = 1 @@ -175,11 +175,11 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "Nvac") - delete_object(file, "Nvac") - delete_object(file, "det_QTilde") - delete_object(file, "issquare") - delete_object(file, "vac_coords") - delete_object(file, "extra_rows") + HDF5.delete_object(file, "Nvac") + HDF5.delete_object(file, "det_QTilde") + HDF5.delete_object(file, "issquare") + HDF5.delete_object(file, "vac_coords") + HDF5.delete_object(file, "extra_rows") file["Nvac", deflate = 9] = min_data.N_min file["vac_coords", deflate = 9] = min_data.min_coords file["extra_rows", deflate = 9] = min_data.extra_rows From 8a6af75831079dec3124be4f3421f87462ea4198 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:30:35 +0200 Subject: [PATCH 214/245] check existence of each key of minima file --- src/jlm_minimizer.jl | 50 ++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/jlm_minimizer.jl b/src/jlm_minimizer.jl index 27aae96..90e2802 100644 --- a/src/jlm_minimizer.jl +++ b/src/jlm_minimizer.jl @@ -161,36 +161,54 @@ function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "Nvac") HDF5.delete_object(file, "Nvac") - HDF5.delete_object(file, "det_QTilde") - HDF5.delete_object(file, "issquare") file["Nvac", deflate=9] = min_data.N_min - file["det_QTilde", deflate=9] = min_data.det_QTilde - file["issquare", deflate=9] = 1 else file["Nvac", deflate=9] = min_data.N_min - file["det_QTilde", deflate=9] = min_data.det_QTilde + end + if haskey(file, "issquare") + HDF5.delete_object(file, "issquare") + file["issquare", deflate=9] = 1 + else file["issquare", deflate=9] = 1 end + if haskey(file, "det_QTilde") + HDF5.delete_object(file, "det_QTilde") + file["det_QTilde", deflate=9] = min_data.det_QTilde + else + file["det_QTilde", deflate=9] = min_data.det_QTilde + end end elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file if haskey(file, "Nvac") HDF5.delete_object(file, "Nvac") - HDF5.delete_object(file, "det_QTilde") - HDF5.delete_object(file, "issquare") - HDF5.delete_object(file, "vac_coords") - HDF5.delete_object(file, "extra_rows") file["Nvac", deflate = 9] = min_data.N_min - file["vac_coords", deflate = 9] = min_data.min_coords - file["extra_rows", deflate = 9] = min_data.extra_rows - file["det_QTilde", deflate = 9] = min_data.det_QTilde - file["issquare", deflate=9] = 0 else file["Nvac", deflate = 9] = min_data.N_min - file["vac_coords", deflate = 9] = min_data.min_coords - file["extra_rows", deflate = 9] = min_data.extra_rows - file["det_QTilde", deflate = 9] = min_data.det_QTilde + end + if haskey(file, "issquare") + HDF5.delete_object(file, "issquare") file["issquare", deflate=9] = 0 + else + file["issquare", deflate=9] = 0 + end + if haskey(file, "vac_coords") + HDF5.delete_object(file, "vac_coords") + file["vac_coords", deflate=9] = min_data.min_coords + else + file["vac_coords", deflate=9] = min_data.min_coords + end + if haskey(file, "extra_rows") + HDF5.delete_object(file, "extra_rows") + file["extra_rows", deflate=9] = min_data.extra_rows + else + file["extra_rows", deflate=9] = min_data.extra_rows + end + if haskey(file, "det_QTilde") + HDF5.delete_object(file, "det_QTilde") + file["det_QTilde", deflate=9] = min_data.det_QTilde + else + file["det_QTilde", deflate=9] = min_data.det_QTilde end end end From 1a7e424716988590aba9f34ac90c0e81e24d22d9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:31:40 +0200 Subject: [PATCH 215/245] adds random phase fn for geometries with 0 or large vacua --- scripts/plot_vacua_jlm.jl | 86 +++++++++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 22 deletions(-) diff --git a/scripts/plot_vacua_jlm.jl b/scripts/plot_vacua_jlm.jl index 744d986..df3a72a 100644 --- a/scripts/plot_vacua_jlm.jl +++ b/scripts/plot_vacua_jlm.jl @@ -23,6 +23,13 @@ ENV["newARGS"] = string("vacua_0323") @everywhere function main(n, h11) CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) end +@everywhere function random_phases_for_large_vacua(geom_idx::CYAxiverse.structs.GeometryIndex) + try + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = true) + catch e + println([geom_idx.h11, geom_idx.polytope, geom_idx.frst]) + end +end h11_temp = [4, 5, 6] n10_temp = [10 for _ in 1:size(h11_temp, 1)] n100_temp = [100 for _ in 1:size(h11_temp, 1)] @@ -35,35 +42,70 @@ end @time begin vac_data = pmap(main, [100 for _ in 4:40], collect(4:40)) end -vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) -all_vacua = hcat(vac_square, vac_1D, vac_ND) -large_vacua = all_vacua[:, all_vacua[4, :] .> 100] -println(size(all_vacua)) -println(size(no_vacua)) -println(size(large_vacua)) -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square[:, vac_square[4, :] .< 100], vac_1D[:, vac_1D[4, :] .< 100], vac_ND[:, vac_ND[4, :] .< 100]) -GC.gc() -h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) -n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) -n_list = [n_full for _ in 1:size(h11list, 1)] +all_vacua = hcat(vac_square, vac_1D, vac_ND, no_vacua) +large_vacua = all_vacua[:, all_vacua[4, :] .> 50] +println("Number of geometries collected:", size(all_vacua)) +println("Number of geometries errored:", size(no_vacua)) +println("Number of geometries with >10 vacua:", size(large_vacua)) +# geom_params = [CYAxiverse.structs.GeometryIndex(col[1:3]...) for col in eachcol(no_vacua)] +# @time begin +# pmap(random_phases_for_large_vacua, geom_params) +# end +# GC.gc() +# @time CYAxiverse.plotting.vacua_db_jlm_box(vac_square[:, vac_square[4, :] .< 100], vac_1D[:, vac_1D[4, :] .< 100], vac_ND[:, vac_ND[4, :] .< 100]) +# GC.gc() +# h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +h11list = sort(collect(Set(CYAxiverse.filestructure.paths_cy()[2][1, :]))) +n_list = [size(CYAxiverse.filestructure.paths_cy()[2][:, CYAxiverse.filestructure.paths_cy()[2][1, :] .== h11], 2) for h11 in h11list] +# n_list = [n_full for _ in 1:size(h11list, 1)] @time begin vac_data = pmap(main, n_list, h11list) end -vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) -err_vacua = Int.(hcat(vcat([item.err for item in vac_data]...)...)) -no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] == 0]...) -vac_ND = hcat([item for item in eachcol(vac_ND) if item[4] !=0]...) -all_vacua = hcat(vac_square, vac_1D, vac_ND) -large_vacua = all_vacua[:, all_vacua[4, :] .> 100] -println(size(all_vacua)) -println(size(err_vacua)) -println(size(no_vacua)) -println(size(large_vacua)) +# err_vacua = Int.(hcat(vcat([item.err for item in vac_data]...)...)) +# no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] ==0]...) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND, no_vacua) +large_vacua = all_vacua[:, all_vacua[4, :] .>= 20] +println("Number of geometries collected:", size(all_vacua)) +println("Number of geometries errored:", size(no_vacua)) +println("Number of geometries with >20 vacua:", size(large_vacua)) +geom_params = [CYAxiverse.structs.GeometryIndex(col[1:3]...) for col in eachcol(no_vacua)] +@time begin + pmap(random_phases_for_large_vacua, geom_params) +end +GC.gc() +@time begin + vac_data = pmap(main, n_list, h11list) +end GC.gc() -@time CYAxiverse.plotting.vacua_db_jlm_box(vac_square, vac_1D, vac_ND) \ No newline at end of file +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] +vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) +vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) +# err_vacua = Int.(hcat(vcat([item.err for item in vac_data]...)...)) +# no_vacua = hcat([item for item in eachcol(vac_ND) if item[4] ==0]...) +no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) +all_vacua = hcat(vac_square, vac_1D, vac_ND, no_vacua) +large_vacua = all_vacua[:, all_vacua[4, :] .>= 20] +println("Number of geometries collected:", size(all_vacua)) +println("Number of geometries errored:", size(no_vacua)) +println("Number of geometries with >20 vacua:", size(large_vacua)) +@time begin +if isfile(joinpath(CYAxiverse.filestructure.data_dir(), "vacua_db.h5")) + rm(joinpath(CYAxiverse.filestructure.data_dir(), "vacua_db.h5")) +end +h5open(joinpath(CYAxiverse.filestructure.data_dir(), "vacua_db.h5"), "cw") do file + file["all_data", deflate=9] = all_vacua +end +end +@time begin + CYAxiverse.plotting.vacua_db_jlm_single(all_vacua[:, all_vacua[4, :] .!= 0]) +end +exit() \ No newline at end of file From b54791b42ad595935e79c1780e7aebea1b34cb3e Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:32:15 +0200 Subject: [PATCH 216/245] add try catch for main redefine "large vacua" as >=10 --- scripts/vacua_with_phases.jl | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl index 48cf605..9080820 100644 --- a/scripts/vacua_with_phases.jl +++ b/scripts/vacua_with_phases.jl @@ -21,7 +21,11 @@ ENV["newARGS"] = string("vacua_0323") @everywhere using Random @everywhere function main(n, h11) - CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) + try + CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) + catch e + println(h11) + end end @everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex, random_phase) @@ -39,7 +43,7 @@ end @time begin vac_data = pmap(main, [100 for _ in 4:40], collect(4:40)) end -vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) @@ -48,13 +52,14 @@ all_vacua = hcat(vac_square, vac_1D, vac_ND) println(size(all_vacua)) println(size(no_vacua)) GC.gc() -h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +# h11list = vcat(collect(4:332), [334, 336, 337, 338, 339, 340, 341, 345, 346, 347, 348, 350, 355, 357, 358, 366, 369, 370, 375, 376, 377, 386, 387, 399, 404, 416, 433, 462, 491]) +h11list = sort(collect(Set(CYAxiverse.filestructure.paths_cy()[2][1, :]))) n_full = size(CYAxiverse.filestructure.paths_cy()[2], 2) n_list = [n_full for _ in 1:size(h11list, 1)] @time begin vac_data = pmap(main, n_list, h11list) end -vac_square = hcat(vcat([item.square for item in vac_data]...)...) +vac_square = hcat(vcat([item.square for item in vac_data]...)...)[1:4, :] vac_1D = Int.(hcat(vcat([item.one_dim for item in vac_data]...)...)[1:4, :]) vac_ND = Int.(hcat(vcat([item.n_dim for item in vac_data]...)...)[1:4, :]) no_vacua = hcat(vcat([item.err for item in vac_data]...)..., [item for item in eachcol(vac_ND) if item[4] == 0]...) @@ -67,7 +72,7 @@ GC.gc() @time begin large_vac = [] for item in eachcol(hcat(no_vacua, vac_1D, vac_ND)) - if item[4] > 20 + if item[4] >= 10 push!(large_vac, CYAxiverse.structs.GeometryIndex(item[1:3]...)) elseif item[4] == 0 push!(large_vac, CYAxiverse.structs.GeometryIndex(item[1:3]...)) From 0b768587262f7eff29dcb5fda32809c44a6b572b Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:32:56 +0200 Subject: [PATCH 217/245] add detQtilde to vacua_jlm collect add try-catch as some files are broken --- src/generate.jl | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index a634d84..9d2212d 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -1970,7 +1970,6 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) vac_ND = [] no_vac = [] geom_list = [] - detQtilde = [] if h11 === nothing geom_list = [GeometryIndex(col...) for col in eachcol(paths_cy()[2][:, 1:n])] elseif h11 !== nothing && n != size(paths_cy()[2], 2) @@ -1981,14 +1980,18 @@ function jlm_vacua_db(; n=size(paths_cy()[2], 2), h11 = nothing) for geom_idx in geom_list # println(geom_idx) if isfile(minfile(geom_idx)) - vac_test = vacua_jlm(geom_idx) - if typeof(vac_test) <: Min_JLM_Square - push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.det_QTilde]) - elseif typeof(vac_test) == Min_JLM_1D - push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) - elseif typeof(vac_test) == Min_JLM_ND - push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) - end + try + vac_test = vacua_jlm(geom_idx) + if typeof(vac_test) <: Min_JLM_Square + push!(vac_square, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.det_QTilde]) + elseif typeof(vac_test) == Min_JLM_1D + push!(vac_1D, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) + elseif typeof(vac_test) == Min_JLM_ND + push!(vac_ND, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, vac_test.N_min, vac_test.min_coords, vac_test.extra_rows, vac_test.det_QTilde]) + end + catch e + push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, 0]) + end else push!(no_vac, [geom_idx.h11, geom_idx.polytope, geom_idx.frst, 0]) end From 231de0d8c8f1493a8f63011418bf48d4593ea255 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 22 Aug 2023 20:33:39 +0200 Subject: [PATCH 218/245] added single axis heatmap function included option in vacua_db_jlm --- src/plotting.jl | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/plotting.jl b/src/plotting.jl index 7d99c36..44e76c6 100644 --- a/src/plotting.jl +++ b/src/plotting.jl @@ -30,17 +30,49 @@ function vacua_db_jlm(vac_data::NamedTuple) Colorbar(f[2,3], limits = (minimum(n_dim_vac[3, n_dim_vac[2, :] .!= 0]), maximum(n_dim_vac[3, n_dim_vac[2, :] .!= 0])), colormap = :thermal, label = L"$N$", ticklabelfont = "STIX") Label(f[1:end, 0], L"$N_\mathrm{vacua}$", rotation = π/2) Label(f[end+1, 1:end], L"$h^{1,1}$") - save(joinpath(plots_dir(), "N_vac_KS.pdf"), f, pt_per_unit = 1) + # save(joinpath(plots_dir(), "N_vac_KS.pdf"), f, pt_per_unit = 1) + f +end +""" + vacua_db_jlm(n) + +TBW +""" +function vacua_db_jlm_single(vac_data::Matrix) + size_inches = (60, 45) + size_pt = 72 .* size_inches + cmap = :bamako + f = Figure(resolution = size_pt, fontsize=96, figure_padding = (5, 10, 5, 50)) + kwargs = (; xticklabelfont = "STIX", yticklabelfont = "STIX", xminorticksvisible = true, xminorgridvisible = true, yminorticksvisible = true, yminorgridvisible = true) + ax1 = Axis(f[1, 1]; xticks = [1, 50, 100, 200, 300, 400, 491], yticks = [1, 10, 20, 30, 40, 54], xminorticks = IntervalsBetween(5), xlabel = L"$h^{1,1}$", ylabel = L"$N_\mathrm{vacua}$", kwargs...) + vac_data = sortslices(vac_data, dims=2, by=x->x[4]) + all_vac = [] + for h11 in sort(collect(Set(vac_data[1, :]))) + for vac in sort(collect(Set(vac_data[4, :]))) + push!(all_vac, [h11, vac, size(vac_data[:, vac_data[1, :] .== h11 .&& vac_data[4, :] .== vac], 2)]) + end + end + xlims!(ax1, (-3, 494)) + all_vac = hcat(all_vac...) + all_vac = all_vac[:, all_vac[3, :] .!= 0] + scatter!(ax1, all_vac[1, :], all_vac[2, :], colormap = cmap, color = all_vac[3, :], marker = :rect, markersize = 25) + Colorbar(f[1,2], colormap = cmap, limits = (minimum(all_vac[3, :]), maximum(all_vac[3, :])), labelpadding = 40, label = L"\text{No. of geometries}", ticks = [1, 200, 400, 600, 800, 1000], ticklabelfont = "STIX", size = 40) + save(joinpath(plots_dir(), "N_vac_KS_scatter.pdf"), f, pt_per_unit = 1) + f end -function vacua_db_jlm(n=size(paths_cy()[2], 2)) - vac_data = jlm_vacua_db(n) +function vacua_db_jlm(n=size(paths_cy()[2], 2); one_axis = false) + vac_data = jlm_vacua_db(; n=n) vac_square = hcat([vcat(item[1:4]...) for item in vac_data.square]...) vac_1D = hcat([vcat(item[1:4]...) for item in vac_data.one_dim]...) vac_ND = hcat([vcat(item[1:4]..., item[end]...) for item in vac_data.n_dim]...) all_vacua = hcat(vac_square, vac_1D, vac_ND[1:4, :]) println(size(all_vacua)) - vacua_db_jlm(vac_data) + if one_axis + vacua_db_jlm_single(all_vacua) + else + vacua_db_jlm(vac_data) + end end From 0cac0d537d63d26beeca0d1bbcca8badc0d7363c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 3 Oct 2023 22:28:55 +0200 Subject: [PATCH 219/245] testing files for rewriting python code in julia --- scripts/testing/jlm_minimizer.jl | 221 +++++++++++++++++++++++ scripts/testing/jlm_python.jl | 293 +++++++++++++++++++++++++++++++ 2 files changed, 514 insertions(+) create mode 100644 scripts/testing/jlm_minimizer.jl create mode 100644 scripts/testing/jlm_python.jl diff --git a/scripts/testing/jlm_minimizer.jl b/scripts/testing/jlm_minimizer.jl new file mode 100644 index 0000000..1468a1b --- /dev/null +++ b/scripts/testing/jlm_minimizer.jl @@ -0,0 +1,221 @@ +""" + CYAxiverse.jlm_minimizer +Here we define functions related to JLM's python minimization methods + +""" +module jlm_minimizer_test +using HDF5 +using LinearAlgebra, Distributions +using GenericLinearAlgebra + +using ..jlm_python_test: one_dim_axion_solver, multi_axion_solver +using ..generate: αmatrix, LQtilde, phase, vacua_SNF +using ..filestructure: minfile, paths_cy +using ..structs: GeometryIndex, Canonicalα, Solver1D, SolverND, Min_JLM_1D, Min_JLM_ND, Min_JLM_Square + +""" + jlm_minimize(geom_idx::GeometryIndex) + +If the effective instanton charge matrix, `Q`, is not square, this function will compute the number of vacua in the potential using the methods outlined in `arXiv: 2306.XXXXX`. +""" +function minimize(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01, hilbert = false) + αtest = αmatrix(geom_idx; threshold=threshold, hilbert = hilbert) + if typeof(αtest)<:Canonicalα + Qtilde = LQtilde(geom_idx; hilbert = hilbert).Qtilde + det_Q_tilde = Int(abs(round(det(Qtilde)))) + n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) + Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' + Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' + for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) + if sum(abs.(row) .== 0) == (size(row, 1) - 1) + Q_reduced_temp[n_axions+i, :] .= 0 + end + end + Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] + Q_reduced_temp = Q_reduced_temp[Qrowmask, :] + if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) + println("Q_reduced_temp is square") + return Min_JLM_Square(det_Q_tilde, Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + else + phase_vector = phase(geom_idx.h11, αtest) + if random_phase + phase_vector = mod.(phase_vector .+ rand(Uniform(0, 2π), size(phase_vector, 1)), 2π) + end + L_reduced = Matrix(hcat(αtest.Lhat[:, 1:geom_idx.h11][:, αtest.αrowmask], αtest.Lhat[:, geom_idx.h11+1:end][:, αtest.αcolmask])') + # L_reduced = L_reduced[Qrowmask, :] + flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) + αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) + θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) + basis_inverse = [] + if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 + θparallel::Matrix{Rational{BigInt}} = θparallel + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) + else + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) + end + vol_basis = Rational(det(θparallel)) + if size(Q_reduced, 2) == 1 + to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return one_dim_axion_solver(to_solve1D) + # return to_solve1D + else + to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return multi_axion_solver(to_solveND) + # return to_solveND + end + end + else + println("Natively square") + return Min_JLM_Square(Int(abs(round(det(αtest.Qhat)))), Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + end +end + +function minimize(Q::Matrix{Int}, L::Matrix{Float64}; random_phase=false, threshold = 0.01) + αtest = αmatrix(Q, L; threshold=threshold) + if typeof(αtest)<:Canonicalα + Qtilde = LQtilde(Q, L).Qtilde + det_Q_tilde = Int(abs(round(det(Qtilde)))) + n_axions = size(αtest.α[αtest.αrowmask, αtest.αcolmask], 1) + Q_reduced = hcat(1//1 * I(n_axions), αtest.α_complete[αtest.αrowmask, αtest.αcolmask])' + Q_reduced_temp = hcat(1//1 * I(n_axions), αtest.α[αtest.αrowmask, αtest.αcolmask])' + for (i,row) in enumerate(eachrow(Q_reduced[n_axions+1:end, :])) + if sum(abs.(row) .== 0) == (size(row, 1) - 1) + Q_reduced_temp[n_axions+i, :] .= 0 + end + end + Qrowmask = [any(row .!= 0) for row in eachrow(Q_reduced_temp)] + Q_reduced_temp = Q_reduced_temp[Qrowmask, :] + if size(Q_reduced_temp, 1) == size(Q_reduced_temp, 2) + return Min_JLM_Square(det_Q_tilde, Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + else + phase_vector = phase(size(Qtilde, 2), αtest) + if random_phase + phase_vector = mod.(phase_vector .+ rand(Uniform(0, 2π), size(phase_vector, 1)), 2π) + end + L_reduced = Matrix(hcat(αtest.Lhat[:, axes(Qtilde, 2)][:, αtest.αrowmask], αtest.Lhat[:, size(Qtilde, 2)+1:end][:, αtest.αcolmask])') + # L_reduced = L_reduced[Qrowmask, :] + flag_int = ifelse(maximum(denominator.(Matrix(Q_reduced))) == 1, 1, 0) + αrescaled = Matrix{Integer}(det_Q_tilde .* Matrix(Q_reduced)) + θparallel = vacua_SNF(αrescaled).:θparallel .* Rational(det_Q_tilde) + basis_inverse = [] + if abs(maximum(denominator.(θparallel)) * maximum(numerator.(abs.(θparallel)))) > 2^60 + θparallel::Matrix{Rational{BigInt}} = θparallel + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational{BigInt}(inv(θparallel)[1,1]), Matrix{Rational{BigInt}}(inv(θparallel))) + else + basis_inverse = ifelse(size(inv(θparallel)) == (1,1), Rational(inv(θparallel)[1,1]), Matrix{Rational}(inv(θparallel))) + end + vol_basis = Rational(det(θparallel)) + if size(Q_reduced, 2) == 1 + to_solve1D = Solver1D(10π, Float64.(vec(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return one_dim_axion_solver(to_solve1D) + # return to_solve1D + else + to_solveND = SolverND(100_000, Float64.(Matrix(Q_reduced)), L_reduced[:, 2], L_reduced[:, 1], det_Q_tilde, phase_vector, flag_int, basis_inverse, vol_basis) + return multi_axion_solver(to_solveND) + # return to_solveND + end + end + else + return Min_JLM_Square(Int(abs(round(det(αtest.Qhat)))), Int(floor(sqrt(abs(det(αtest.Qhat * αtest.Qhat')))))) + end +end + +function minimize_save(geom_idx::GeometryIndex; random_phase=false, threshold = 0.01, hilbert = false) + min_data = minimize(geom_idx; random_phase=random_phase, threshold = threshold, hilbert = hilbert) + if hilbert + if typeof(min_data) <: Min_JLM_Square + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "hilbert") + HDF5.delete_object(file, "hilbert/") + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate=9] = min_data.N_min + f1["det_QTilde", deflate=9] = min_data.det_QTilde + f1["issquare", deflate=9] = 1 + else + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate=9] = min_data.N_min + f1["det_QTilde", deflate=9] = min_data.det_QTilde + f1["issquare", deflate=9] = 1 + end + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "hilbert") + HDF5.delete_object(file, "hilbert/") + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate = 9] = min_data.N_min + f1["vac_coords", deflate = 9] = min_data.min_coords + f1["extra_rows", deflate = 9] = min_data.extra_rows + f1["det_QTilde", deflate = 9] = min_data.det_QTilde + f1["issquare", deflate=9] = 0 + else + f1 = create_group(file, "hilbert/") + f1["Nvac", deflate = 9] = min_data.N_min + f1["vac_coords", deflate = 9] = min_data.min_coords + f1["extra_rows", deflate = 9] = min_data.extra_rows + f1["det_QTilde", deflate = 9] = min_data.det_QTilde + f1["issquare", deflate=9] = 0 + end + end + end + else + if typeof(min_data) <: Min_JLM_Square + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "Nvac") + HDF5.delete_object(file, "Nvac") + file["Nvac", deflate=9] = min_data.N_min + else + file["Nvac", deflate=9] = min_data.N_min + end + if haskey(file, "issquare") + HDF5.delete_object(file, "issquare") + file["issquare", deflate=9] = 1 + else + file["issquare", deflate=9] = 1 + end + if haskey(file, "det_QTilde") + HDF5.delete_object(file, "det_QTilde") + file["det_QTilde", deflate=9] = min_data.det_QTilde + else + file["det_QTilde", deflate=9] = min_data.det_QTilde + end + end + elseif typeof(min_data) <: Min_JLM_1D || typeof(min_data) <: Min_JLM_ND + h5open(minfile(geom_idx),isfile(minfile(geom_idx)) ? "r+" : "cw") do file + if haskey(file, "Nvac") + HDF5.delete_object(file, "Nvac") + file["Nvac", deflate = 9] = min_data.N_min + else + file["Nvac", deflate = 9] = min_data.N_min + end + if haskey(file, "issquare") + HDF5.delete_object(file, "issquare") + file["issquare", deflate=9] = 0 + else + file["issquare", deflate=9] = 0 + end + if haskey(file, "vac_coords") + HDF5.delete_object(file, "vac_coords") + file["vac_coords", deflate=9] = min_data.min_coords + else + file["vac_coords", deflate=9] = min_data.min_coords + end + if haskey(file, "extra_rows") + HDF5.delete_object(file, "extra_rows") + file["extra_rows", deflate=9] = min_data.extra_rows + else + file["extra_rows", deflate=9] = min_data.extra_rows + end + if haskey(file, "det_QTilde") + HDF5.delete_object(file, "det_QTilde") + file["det_QTilde", deflate=9] = min_data.det_QTilde + else + file["det_QTilde", deflate=9] = min_data.det_QTilde + end + end + end + end +end + + +end \ No newline at end of file diff --git a/scripts/testing/jlm_python.jl b/scripts/testing/jlm_python.jl new file mode 100644 index 0000000..99e939b --- /dev/null +++ b/scripts/testing/jlm_python.jl @@ -0,0 +1,293 @@ +""" + CYAxiverse.jlm_python +Here we wrap Joan's optimization code to use -- to be rewritten in `julia` when time allows +""" +module jlm_python_test +using PyCall +using ..structs: Solver1D, SolverND, Min_JLM_ND, Min_JLM_1D +function __init__() + py""" + import numpy as np + from numpy.linalg import matrix_rank + import random + from scipy.integrate import solve_ivp + from scipy import optimize + + ############################ + ## single axion solver###### + ############################ + def ode(t,theta,L_log,L_sign,alphas,phases): + return 1 + + def zero_V_prime(t,theta,L_log,L_sign,alphas,phases): + vec_sin = alphas*np.sin(theta*alphas.T + np.append([0],phases)).T + lambdas = L_sign * 10.**(L_log - L_log[0]) + V_prime = np.dot(lambdas,vec_sin) + return V_prime + + def potential_V(theta,lambdas,alphas,phases): + V = 0 + phase_vec = np.append([0],phases) + for i in range(len(alphas)): + V = V + lambdas[i]*(1-np.cos(theta*alphas[i] + phase_vec[i])) + return V + + def potential_V_prime(theta,lambdas,alphas,phases): + V_prime = 0 + phase_vec = np.append([0],phases) + for i in range(len(alphas)): + V_prime = V_prime + lambdas[i]*alphas[i]*(np.sin(theta*alphas[i] + phase_vec[i])) + return V_prime + + def hessian_V(theta,L_log,L_sign,alphas,phases): + V__double_prime = 0 + phase_vec = np.append([0],phases) + lambdas = L_sign * 10.**(L_log - L_log[0]) + for i in range(len(alphas)): + V__double_prime = V__double_prime + lambdas[i]*(alphas[i]**2)*(np.cos(theta*alphas[i] + phase_vec[i])) + return V__double_prime + + def one_dim_axion_solver(domain,Q,L_log,L_sign,det_QTilde,phases,Z,inv_symmetries,det_Sym): + sol_v = solve_ivp(ode, (0,domain),(0,), max_step = 0.01, events=[zero_V_prime], args =[L_log,L_sign,Q,phases]) + points_x = sol_v.t + points_y = sol_v.y + extrema_1D = sol_v.t_events[0] #all the extrema of the 1D potential + n_extrema_1D = extrema_1D.shape[0] + + #### AMONG ALL THE EXTREMA WE GET WHICH ARE MINIMA OF THE POTENTIAL #### + min_list_1D = [] + for v in range(n_extrema_1D): + if np.sign(hessian_V(extrema_1D[v],L_log,L_sign,Q,phases)) > 0: + min_list_1D = np.append(min_list_1D,v) + + + theta_min_1D = extrema_1D[min_list_1D.astype(int)] + + Thetas_total = np.around(theta_min_1D,6) + + ###### ALGORITHM TO GET UNIQUE MINIMA ###### + if Z == 1: #ALL alpha-vectors have integer entries so we mod by 2pi + Thetas_total_mod = Thetas_total % (2*np.pi) #position of minima between 0 and 2pi this helps to distinguish them! + theta_mask = np.where(np.abs(Thetas_total_mod) > 1e-04, Thetas_total_mod, 0) + theta_mask_2pi = np.where(np.abs(np.abs(theta_mask)-2*np.pi) > 1e-04, theta_mask, 0) + theta_mask_pi = np.where(np.abs(np.abs(theta_mask_2pi) - np.pi) > 1e-04, theta_mask_2pi, np.pi) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + Theta_unique_mod = np.unique(theta_mask_pi,axis=0) + Theta_round = np.where(Theta_unique_mod==np.pi , Theta_unique_mod, np.around(Theta_unique_mod, decimals=4)) #decimals=6 + Theta_unique_final = np.unique(Theta_round, axis=0) + + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs(det_QTilde * N_unique) + else: #at least one entry has a rational number + c_vector = inv_symmetries * Thetas_total / (2*np.pi) + c_vector_mod = c_vector.copy() + c_vector_mod = c_vector_mod % 1 + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_mask = np.where(np.abs(c_vector_mod) > 1e-04, c_vector_mod, 0) + c_vector_mask_1 = np.where(np.abs(np.abs(c_vector_mask)- 1) > 1e-04, c_vector_mask, 0) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_unique_mod = np.unique(c_vector_mask_1,axis=0) + c_vector_round = np.around(c_vector_unique_mod, decimals=4) + c_vector_unique_final = np.unique(c_vector_round, axis=0) + + #WE CONSRTUCT THE VECTOR OF THETA-MIN + symmetries = 1 / inv_symmetries + Theta_unique_final = symmetries * c_vector_unique_final * (2*np.pi) + + #TOTAL MIN FOR RATIONAL ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) + + return Total_min_theory, Theta_unique_final, det_QTilde + + + ############################ + ## Multiaxion solver ####### + ############################ + def Nabla(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] #number of axions + arg_sin = np.matmul(Q[N:,:],x) #argument of perturbing term + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + + Ratio_Q_eff = Ratio_lambda * Q[N:,:] + Ratio_Q_eff = np.matmul(np.diag(L_sign[N:]),Ratio_Q_eff) + + sin_pert = np.sin(arg_sin + phases) + perturbation = np.matmul(Ratio_Q_eff.T,sin_pert) + + #Grad_i ARE FUNCTIONS WE NEED TO FIND ROOTS OF + Grad_i = np.sign(L_sign[0:N])*np.sin(x) + perturbation + + return Grad_i + + def Hess(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] + arg_cos = np.matmul(Q[N:,:],x) + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + + Ratio_Q_eff = Ratio_lambda * Q[N:,:] + Ratio_Q_eff = np.matmul(np.diag(L_sign[N:]),Ratio_Q_eff) + + cos_pert = np.cos(arg_cos + phases) + cos_matrix = np.matmul(np.diag(cos_pert),Q[N:,:]) + + #PERTURBATION TO HESSIAN: h_ij + h_ij = np.matmul(Ratio_Q_eff.T,cos_matrix) + + #H_ij = GRADIENT OF "Grad_i" = GRADIENT OF EACH FUNCTION WE WANT TO FIND ROOTS OF + H_ij = np.diag(np.sign(L_sign[0:N])*np.cos(x)) + h_ij #Hessian matrix + + return H_ij + + def Hessian_true(x,Q,L_log,L_sign,phases): + N = np.shape(Q)[1] + arg_cos = np.matmul(Q[N:,:],x) + + Ratio_lambda = 10.**(np.subtract.outer(L_log[N:], L_log[0:N].T)/2) + Ratio_lambda = np.where(np.isinf(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = np.where(np.isnan(Ratio_lambda), 0, Ratio_lambda) + Ratio_lambda = Ratio_lambda * Q[N:,:] + + Ratio_lambda_sign = np.matmul(np.diag(L_sign[N:]),Ratio_lambda) + cos_pert = np.cos(arg_cos + phases) + cos_matrix = np.matmul(np.diag(cos_pert),Ratio_lambda_sign) + + #PERTURBATION TO HESSIAN: h_ij + h_ij = np.matmul(Ratio_lambda.T,cos_matrix) + + #HESSIAN IN NEW COORDINATES. WE WILL FIND EIGENVALUES OF H_ij TO DETERMINE WHAT EXTREMA ARE MINIMA + H_ij = np.diag(L_sign[0:N]*np.cos(x)) + h_ij #Hessian matrix + return H_ij + + def multi_axion_solver(samples,Q,L_log,L_sign,det_QTilde,phases,Z,inv_symmetries,det_Sym): + N_axions = np.shape(Q)[1] + if Z == 1: + theta_0 = np.random.uniform(0,2*np.pi,size=(samples,N_axions)) + else: + range_initial = (2*np.pi)/np.amin(np.abs(Q)[np.nonzero(Q)]) + theta_0 = np.random.uniform(0,range_initial,size=(samples,N_axions)) + + theta_min = np.zeros_like(theta_0) + grad_in = np.zeros_like(theta_0) + Grad_min = np.zeros_like(theta_0) + + for s in range(samples): + grad_in[s,:] = Nabla(theta_0[s,:],Q,L_log,L_sign,phases) #test with positive Lambdas + theta_min[s,:] = optimize.root(Nabla, x0 = theta_0[s,:], args=(Q,L_log,L_sign,phases), jac=Hess, method='hybr').x #lm #hybr + Grad_min[s,:] = Nabla(theta_min[s,:] % (2*np.pi) ,Q,L_log,L_sign,phases) + + #### WE DO SOME FILTERING ON THE ARRAYS #### + theta_mask_0 = np.where(np.abs(theta_min) > 1e-05, theta_min, 0) + mask_small_grad = np.all(np.abs(Grad_min) < 1e-5,axis=1) #1e-5 + theta_small_grad_nc = theta_mask_0[mask_small_grad] #Table of minima + Grad_min_small_nc = Grad_min[mask_small_grad] #Table Gradient at minima + n_extrema = np.shape(theta_small_grad_nc)[0] + + min_list = [] + for m in range(n_extrema): + if np.amin(np.linalg.eigh(Hessian_true(theta_small_grad_nc[m,:],Q,L_log,L_sign,phases))[0]) > 0: + min_list = np.append(min_list,m) + + ###### POSITION OF MINIMA (PROBABLY REPEATED) FOUND IN REDUECED SYSTEM ###### + min_list = np.array(min_list) + theta_min_nc = theta_small_grad_nc[min_list.astype(int),:] + number_min = theta_min_nc.shape + + + # FROM OUR LIST OF MINIMA WE TAKE OUT THETA_TILDE_VECTORS WHICH ARE ALL ZEROS + pos_non_zero = np.where(np.asarray(np.count_nonzero(theta_min_nc,axis=1, keepdims=True)) >= 1)[0] #very important + theta_non_zero = theta_min_nc[pos_non_zero] + Norms = [np.linalg.norm(theta_non_zero[y,:], np.inf) for y in range(0,np.shape(theta_non_zero)[0])] #Norm_inf + order_Norm = np.array(Norms).argsort() + Norm_Thetas = np.sort(Norms) + Thetas_total = np.around(theta_non_zero[order_Norm,:],6) + + ###### ALGORITHM TO GET UNIQUE MINIMA ###### + if Z == 1: #ALL alpha-vectors have integer entries so we mod by 2pi + Thetas_total_mod = Thetas_total % (2*np.pi) #position of minima between 0 and 2pi this helps to distinguish them! + theta_mask = np.where(np.abs(Thetas_total_mod) > 1e-04, Thetas_total_mod, 0) + theta_mask_2pi = np.where(np.abs(np.abs(theta_mask)-2*np.pi) > 1e-04, theta_mask, 0) + theta_mask_pi = np.where(np.abs(np.abs(theta_mask_2pi) - np.pi) > 1e-04, theta_mask_2pi, np.pi) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + Theta_unique_mod = np.unique(theta_mask_pi,axis=0) + Theta_round = np.where(Theta_unique_mod==np.pi , Theta_unique_mod, np.around(Theta_unique_mod, decimals=4)) #decimals=6 + Theta_unique_final = np.unique(Theta_round, axis=0) + + #TOTAL MIN FOR INTEGER ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs(det_QTilde * N_unique) + else: #at least one entry has a rational number + c_vector = np.matmul(inv_symmetries,Thetas_total.T / (2*np.pi)).T + c_vector_mod = c_vector.copy() + c_vector_mod = c_vector_mod % 1 + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_mask = np.where(np.abs(c_vector_mod) > 1e-04, c_vector_mod, 0) + c_vector_mask_1 = np.where(np.abs(np.abs(c_vector_mask)- 1) > 1e-04, c_vector_mask, 0) + + ###### WE FIND THE UNIQUE VECTORS IN THE LIST ###### + c_vector_unique_mod = np.unique(c_vector_mask_1,axis=0) + c_vector_round = np.around(c_vector_unique_mod, decimals=4) + c_vector_unique_final = np.unique(c_vector_round, axis=0) + + #WE CONSRTUCT THE VECTOR OF THETA-MIN + symmetries = np.where(np.abs(np.linalg.inv(inv_symmetries)) > 1e-04, np.linalg.inv(inv_symmetries), 0) + Theta_unique_final = np.matmul(symmetries,c_vector_unique_final.T * (2*np.pi)).T + + #TOTAL MIN FOR RATIONAL ALPHA-VECTORS + N_unique = Theta_unique_final.shape[0] + Total_min_theory = np.abs((det_QTilde/det_Sym) * N_unique) + + return Total_min_theory, Theta_unique_final, det_QTilde + """ +end + +function one_dim_axion_solver(T::Solver1D) + search_domain = T.search_domain + Q = T.Q + Llog = T.Llog + Lsign = T.Lsign + det_QTilde = T.det_QTilde + phases = T.phases + Z = T.Z + inv_symmetries = T.inv_symmetries + det_Sym = T.det_Sym + Total_min_theory, Theta_unique_final, det_QTilde = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1, Int(det_QTilde)) +end + +function one_dim_axion_solver(search_domain, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) + Total_min_theory, Theta_unique_final = py"one_dim_axion_solver($search_domain, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_1D(Total_min_theory, Theta_unique_final, 1, Int(det_QTilde)) +end + +function multi_axion_solver(T::SolverND) + samples = T.samples + Q = T.Q + Llog = T.Llog + Lsign = T.Lsign + det_QTilde = T.det_QTilde + phases = T.phases + Z = T.Z + inv_symmetries = T.inv_symmetries + det_Sym = T.det_Sym + Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2), Int(det_QTilde)) +end + +function multi_axion_solver(samples, Q, Llog, Lsign, det_QTilde, phases, Z, inv_symmetries, det_Sym) + Total_min_theory, Theta_unique_final = py"multi_axion_solver($samples, $Q, $Llog, $Lsign, $det_QTilde, $phases, $Z, $inv_symmetries, $det_Sym)" + Min_JLM_ND(Total_min_theory, Theta_unique_final, size(Q, 1) - size(Q, 2), Int(det_QTilde)) +end + +end \ No newline at end of file From badd85e018cecde77a2732ab073e33ee8d6aead9 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 3 Oct 2023 22:29:08 +0200 Subject: [PATCH 220/245] include testing files in main package file --- src/CYAxiverse.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index 0cddf4e..f56f886 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -26,6 +26,8 @@ else println("This installation does not include CYTools!") include("../jlm_python/jlm_python.jl") include("jlm_minimizer.jl") + include("../scripts/testing/jlm_python.jl") + include("../scripts/testing/jlm_minimizer.jl") end include("plotting.jl") From 4e789388a5c0b4b6a5ed6bf0a2cedff52b53f638 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:05:17 +0200 Subject: [PATCH 221/245] added std_dev for h11=491 enforces "reasonable" distro of triangulations vs speed --- add_functions/cytools_wrapper.jl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/add_functions/cytools_wrapper.jl b/add_functions/cytools_wrapper.jl index 10c4640..06f0030 100644 --- a/add_functions/cytools_wrapper.jl +++ b/add_functions/cytools_wrapper.jl @@ -107,18 +107,19 @@ function topologies_generate_fast(h11,n) #otherwise generate 1 triangulation per polytope upto $n spt = size(poly_test,1) m = nothing; + std_dev = ifelse(h11 == 491, 1.2, 0.2) if spt == 0 return [0, 0, 0, 0] elseif spt < n && h11 > 3 left_over = mod(n, spt) m = n ÷ spt if left_over == 0 - tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=1:spt]; + tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false, c = std_dev) for i=1:spt]; # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] tri_test = vcat(tri_test_m...) else - tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false) for i=left_over+1:spt]; - tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false) for i=1:left_over]; + tri_test_m = [poly_test[i].random_triangulations_fast(N=m, as_list=true, progress_bar=false, c = std_dev) for i=left_over+1:spt]; + tri_test_m1 = [poly_test[i].random_triangulations_fast(N=m+1, as_list=true, progress_bar=false, c = std_dev) for i=1:left_over]; tri_test_m = vcat(tri_test_m1, tri_test_m) # cy_num = [size(tri_test_m[i],1) for i=1:size(tri_test_m,1)] # cy_num1 = [size(tri_test_m1[i],1) for i=1:size(tri_test_m1,1)] From 0c1afa283f3d670fee7cc4f4f2e49e76c4182c12 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:05:47 +0200 Subject: [PATCH 222/245] added newARGS = pwd --- scripts/top_geom_missing_h11.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/top_geom_missing_h11.jl b/scripts/top_geom_missing_h11.jl index 60210ea..cb769c9 100644 --- a/scripts/top_geom_missing_h11.jl +++ b/scripts/top_geom_missing_h11.jl @@ -26,7 +26,7 @@ split = nothing if haskey(ENV, "SLURM_ARRAY_TASK_ID") split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) end -# @everywhere newARGS = string("vacua_new") +@everywhere newARGS = string("pwd") @everywhere using CYAxiverse @everywhere using Random @@ -100,7 +100,7 @@ end ############################## #### Initialise functions #### ############################## -if split == nothing +if split === nothing @time temp_top = main_top(Random.rand(4:10),10,lfile) else @time temp_top = main_top(max(Random.rand(4:10),split),10,lfile) From a609422cf9072ce17fc29983732828256c29ca40 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:06:04 +0200 Subject: [PATCH 223/245] running for h11=491 --- scripts/top_geom.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/top_geom.jl b/scripts/top_geom.jl index a604e12..7f0d385 100644 --- a/scripts/top_geom.jl +++ b/scripts/top_geom.jl @@ -26,7 +26,7 @@ split = nothing if haskey(ENV, "SLURM_ARRAY_TASK_ID") split = parse(Int32, ENV["SLURM_ARRAY_TASK_ID"]) end -# @everywhere newARGS = string("vacua_new") +@everywhere newARGS = string("pwd") @everywhere using CYAxiverse @everywhere using Random @@ -122,9 +122,9 @@ GC.gc() ############################## ############ Main ############ ############################## -h11_init = 1 +h11_init = 490 np = nworkers() -h11_end = 3 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! +h11_end = 2 ##This should not be bigger than 450 to run full database as largest h11s are computed on a separate node automatically! h11 = collect(h11_init:h11_init+h11_end) max_split = 0 n_split = 1 @@ -172,7 +172,7 @@ function h11list_generate(h11::Vector, lfile::String; ngeometries::Int = 10, spl (h11 = h11, log_files = log_files_top, ngeometries = n) end -run_vars = h11list_generate(h11, lfile; ngeometries=100, split=split, max_split = max_split, n_split = n_split) +run_vars = h11list_generate(h11, lfile; ngeometries=1_000, split=split, max_split = max_split, n_split = n_split) h11 = run_vars.h11 n = run_vars.ngeometries From eb38b5e97156b2fc57fa20dbe7ee76eb4312c8c5 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:06:54 +0200 Subject: [PATCH 224/245] wip hp_spectrum and pq_spectrum --- src/generate.jl | 68 +++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 9d2212d..320ad7c 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -183,22 +183,22 @@ end function hessian(x, L::Matrix{Float64}, Q::Matrix) Λ = L[:, 1] .* 10. .^ L[:, 2] - hessian = zeros(Interval, size(Q, 1), size(Q, 1)) + hessian = zeros(size(Q, 1), size(Q, 1)) if size(Q, 1) == 1 for i in axes(Q, 1), j in axes(Q, 1) if i>=j - hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(x' * Q))) + hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(x' * Q)[:, i])) end end hessian = hessian + hessian' - Diagonal(hessian) else for i in axes(Q, 1), j in axes(Q, 1) if i>=j - hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(sum(x .* Q, dims=1)))) + hessian[i, j] = sum(Λ' * (@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(sum(x .* Q, dims=1))[:, i])) end end - hessian = hessian + hessian' - Diagonal(hessian) - SMatrix{size(hessian, 1), size(hessian,2)}(hessian) + hessian = Hermitian(hessian + hessian' - Diagonal(hessian)) + # SMatrix{size(hessian, 1), size(hessian,2)}(hessian) end end @@ -396,7 +396,7 @@ function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, @assert size(Q,1) == size(L,1) && size(Q,2) == size(K,1) setprecision(ArbFloat; digits=prec) h11::Int = size(K,1) - Lh::Vector{ArbFloat}, Qtest::Matrix{ArbFloat} = L[:,1] .* ArbFloat(10.) .^L[:,2], ArbFloat.(Q) + Lh::Vector{ArbFloat}, Qtest = L[:,1] .* ArbFloat(10.) .^L[:,2], Q #Compute Hessian (in lattice basis) grad2::Matrix{ArbFloat} = zeros(ArbFloat,(h11,h11)) hind1::Vector{Vector{Int64}} = [[x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>=y] @@ -419,7 +419,7 @@ function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, hessfull = Hermitian(grad2 + transpose(grad2) - Diagonal(grad2)) Lh = zeros(3) #Compute QM using generalised eigendecomposition (but keep fK) - Ktest = Hermitian(ArbFloat.(K)) + Ktest = K fK::Vector{Float64} = Float64.(log10.(sqrt.(eigen(Ktest).values))) Vls::Vector{ArbFloat},Tls::Matrix{ArbFloat} = eigen(hessfull, Ktest) Hsign::Vector{Int64} = @.(sign(Vls)) @@ -492,36 +492,35 @@ end function hp_spectrum(h11::Int,tri::Int,cy::Int=1; prec=5_000) pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data.L,pot_data.Q,pot_data.K + K::Hermitian{Float64, Matrix{Float64}} = pot_data.K LQtilde = LQtildebar(h11,tri,cy) Ltilde = Matrix{Float64}(LQtilde["Lhat"]') Qtilde = Matrix{Int}(LQtilde["Qhat"]') - hp_spectrum(K, Ltilde, Qtilde) + hp_spectrum(K, Ltilde, Qtilde; prec = prec) +end + +function hp_spectrum(geom_idx::GeometryIndex; prec=5_000) + pot_data = potential(geom_idx); + K::Hermitian{Float64, Matrix{Float64}} = pot_data.K + LQtilde = LQtildebar(geom_idx) + Ltilde = Matrix{Float64}(LQtilde["Lhat"]') + Qtilde = Matrix{Int}(LQtilde["Qhat"]') + hp_spectrum(K, Ltilde, Qtilde; prec = prec) end + + """ hp_spectrum_save(h11,tri,cy) """ -function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1) +function hp_spectrum_save(h11::Int,tri::Int,cy::Int=1; prec = 5_000) if h11!=0 pot_data = potential(h11,tri,cy); - L::Matrix{Float64}, Q::Matrix{Int}, K::Hermitian{Float64, Matrix{Float64}} = pot_data.L,pot_data.Q,pot_data.K - LQtest = hcat(L,Q); - Lfull::Vector{Float64} = LQtest[:,2] - LQsorted = LQtest[sortperm(Lfull, rev=true), :] - Lsorted_test,Qsorted_test = LQsorted[:,1:2], Int.(LQsorted[:,3:end]) - Qtilde = Qsorted_test[1,:] - Ltilde = Lsorted_test[1,:] - for i=2:axes(Qsorted_test,1)[end] - S = MatrixSpace(Nemo.ZZ, size(Qtilde,1), (size(Qtilde,2)+1)) - m = S(hcat(Qtilde, @view(Qsorted_test[i,:]))) - (d,bmat) = Nemo.nullspace(m) - if d == 0 - Qtilde = hcat(Qtilde, @view(Qsorted_test[i,:])) - Ltilde = hcat(Ltilde, @view(Lsorted_test[i,:])) - end - end - spectrum_data = hp_spectrum(K,Ltilde,Qtilde) + K::Hermitian{Float64, Matrix{Float64}} = pot_data.K + LQtilde = LQtildebar(h11,tri,cy) + Ltilde = Matrix{Float64}(LQtilde["Lhat"]') + Qtilde = Matrix{Int}(LQtilde["Qhat"]') + spectrum_data = hp_spectrum(K,Ltilde,Qtilde; prec = prec) h5open(cyax_file(h11,tri,cy), "r+") do file f2 = create_group(file, "spectrum") f2a = create_group(f2, "quartdiag") @@ -652,19 +651,22 @@ function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Ltilde = LQtild.Ltilde Qtilde = LQtild.Qtilde QKs::Matrix{Float64} = zeros(Float64,h11,h11) + Qlt::Matrix{Float64} = UpperTriangular(zeros(Float64,h11,h11)) fapprox::Vector{Float64} = zeros(Float64,h11) mapprox::Vector{Float64} = zeros(h11) LinearAlgebra.mul!(QKs, inv(Kls'), Matrix(Qtilde')) for i=1:h11 + println(size(QKs[i, :])) fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) T = orth_basis(QKs[i,:]) - # println(size(QKs), size(T)) QKs1 = zeros(size(QKs,1), size(T,2)) LinearAlgebra.mul!(QKs1,QKs, T) - QKs = copy(QKs1) + println(size(QKs1)) + # Qlt[i, :] .= QKs[i, :] + QKs = deepcopy(QKs1) end - AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])) + AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])), Qlt end function pq_spectrum(h11::Int,tri::Int,cy::Int) @@ -1083,6 +1085,12 @@ function LQtildebar(h11::Int, tri::Int, cy::Int; threshold::Float64=0.5) LQtildebar(L, Q; threshold=threshold) end +function LQtildebar(geom_idx::GeometryIndex; threshold::Float64=0.5) + pot_data = potential(geom_idx) + Q::Matrix{Int}, L::Matrix{Float64} = pot_data.Q, pot_data.L + LQtildebar(L, Q; threshold=threshold) +end + """ vacua_id_basis(L::Matrix{Float64},Q::Matrix{Int}; threshold::Float64=0.5) From 0b49faf613bc68aa3786fa46765f0d0daee4fa0a Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:07:23 +0200 Subject: [PATCH 225/245] random_phases -> true --- scripts/vacua_with_phases.jl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/vacua_with_phases.jl b/scripts/vacua_with_phases.jl index 9080820..9242544 100644 --- a/scripts/vacua_with_phases.jl +++ b/scripts/vacua_with_phases.jl @@ -28,8 +28,8 @@ ENV["newARGS"] = string("vacua_0323") end end -@everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex, random_phase) - CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = random_phase) +@everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex) + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = true) end h11_temp = [4, 5, 6] n10_temp = [10 for _ in 1:size(h11_temp, 1)] @@ -82,7 +82,6 @@ GC.gc() end println(size(large_vac)) println(large_vac) -random_phases = [true for _ in eachcol(large_vac)] @time begin - pmap(optim_with_phases, large_vac, random_phases) + pmap(optim_with_phases, large_vac) end \ No newline at end of file From 0b334b3297f77e7e6496c5de0a806b4a662b2972 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:07:43 +0200 Subject: [PATCH 226/245] added self-interactions notebook for testing --- notebooks/axion_self-interactions.jl | 157 +++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 notebooks/axion_self-interactions.jl diff --git a/notebooks/axion_self-interactions.jl b/notebooks/axion_self-interactions.jl new file mode 100644 index 0000000..09a7916 --- /dev/null +++ b/notebooks/axion_self-interactions.jl @@ -0,0 +1,157 @@ +### A Pluto.jl notebook ### +# v0.19.27 + +using Markdown +using InteractiveUtils + +# ╔═╡ 3788df6d-c756-4b6a-8d75-8cd018ab2991 +using Pkg; + +# ╔═╡ fbb69bcb-64c6-42c2-8ce1-666f397eb40e +# ╠═╡ show_logs = false +Pkg.activate("/scratch/users/mehta2/cyaxiverse/CYAxiverse"); + +# ╔═╡ b1362f7d-55e5-48d6-a695-f3bf59d8bf99 +using PlutoUI, HDF5, ArbNumerics, LineSearches, Optim, CairoMakie, Distributions, LinearAlgebra, ProgressLogging, Revise, Random, SparseArrays, NLsolve, NormalForms, DifferentialEquations, IntervalArithmetic, IntervalRootFinding, StaticArrays, Nemo, ColorSchemes, Dates + +# ╔═╡ e556408b-25f7-4fae-ba0b-243242279ba8 +# ╠═╡ show_logs = false +@time using CYAxiverse + +# ╔═╡ 8778a5d2-5eae-426b-bc86-c62c9326c9fd +begin + using PyCall + PyCall.current_python() +end + +# ╔═╡ fee399f9-2668-41e0-a296-37b348a04769 +md""" +# Vacua search -- Numerics +!!! update + ### September 2023 +""" + +# ╔═╡ 90f44877-6310-49b1-9331-f8601918e4b3 +md""" +### This notebook is for rewriting the ``\lambda_{ijkl}`` computation. +""" + +# ╔═╡ 915e345e-7002-489c-8fec-8395381f0fe5 +md""" +!!! note + It seems that if Log10(|Λ̄|) - Log10(|Λ̃|) ≳ 0.6, local vacua *do not* appear +""" + +# ╔═╡ 2000a078-38f5-4c93-8627-ba6b4970aef6 +html""" + +""" + +# ╔═╡ 7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +begin + ENV["newARGS"] = string("vacua_0323") + md""" + ### The database we are using is: $(ENV["newARGS"]) + """ +end + + +# ╔═╡ 8c7bb44d-edb3-46b3-aeef-ac21d2ee16f5 +begin + h11list = CYAxiverse.filestructure.paths_cy()[2] + md""" + #### There are a total of $(size(h11list,2)) geometries in the database with $(minimum(Set(h11list[1,:]))) ≤ ``h^{1,1}`` ≤ $(maximum(Set(h11list[1,:]))) + """ +end + +# ╔═╡ 1ef56dc0-dce2-4f76-9632-13209fc7a0ba +typeof(CYAxiverse.read.vacua_jlm(CYAxiverse.structs.GeometryIndex(5,10,1))) <: CYAxiverse.structs.Min_JLM_1D + +# ╔═╡ eb3a354d-dedf-4b7d-ab14-d8474f217ad4 +CYAxiverse.generate.LQtildebar(9, 40, 1) + +# ╔═╡ b26c101b-0387-4d32-a5ed-bc0d48871dcf +CYAxiverse.generate.LQtilde(9, 40, 1).Qtilde == CYAxiverse.generate.LQtildebar(9, 40, 1)["Qhat"] + +# ╔═╡ 52e925f4-7c98-45a6-ba17-02c7d58e3ef9 +@time begin + geom_idx = CYAxiverse.structs.GeometryIndex(8, 40, 1) + αtest = CYAxiverse.generate.:αmatrix(geom_idx) + pq_spec_test = CYAxiverse.generate.pq_spectrum(geom_idx) + hp_spec_test = CYAxiverse.generate.hp_spectrum(geom_idx) + hp_spec_test["m"], pq_spec_test[1].m +end + +# ╔═╡ c6b70020-b7bd-438d-bc9f-c7df05249e71 + + +# ╔═╡ bfd0a313-a144-4883-abee-e74ac7f4a8e4 +@time begin + Ltest = [10. ^-i for i in 1:23] + Lsign = ones(23) + Qtest = Int.(I(22)) + Qtest = hcat(Qtest, zeros(22)) + Qtest[1, end] = 1 + size(Qtest), size(Ltest) +end + +# ╔═╡ b07db615-e3c0-4d60-ab3f-13f35b99f1c9 +@time begin + Ktest = rand(22,22) + Ktest = Hermitian(1/2 .* Ktest'*Ktest) +end + +# ╔═╡ 92fdaa86-1c40-4a18-acb4-26756a98b31a +log10.(sqrt.(eigen(CYAxiverse.generate.hessian(zeros(size(Qtest, 1)), hcat(Lsign, Ltest), Matrix(Qtest)), Ktest).values)) .+ Float64(log10(CYAxiverse.generate.constants()["MPlanck"])) .+9 .+ Float64(CYAxiverse.generate.constants()["log2π"]) + +# ╔═╡ ef215872-d011-4432-bee3-8460c82f45e7 +@time CYAxiverse.generate.hp_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest'); prec = 200)["m"], CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest'))[1].m + +# ╔═╡ 860209f4-1ae4-498b-ac75-c5fa94c2608c +Vector(Qtest[1, :]) + +# ╔═╡ 5d0447c8-3f1f-4c7c-ad13-13965251a5fd +CYAxiverse.generate.orth_basis(Vector(Qtest[1, :])) * Qtest + +# ╔═╡ eb35a641-b828-42fe-b01e-ecd6ccc7212f +CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest')) + +# ╔═╡ dac736b9-8bba-4603-af8c-b250112d5db1 +cholesky(Ktest).L + +# ╔═╡ ee17361e-dedd-42bd-b9e9-e84791bad7e5 +LowerTriangular(qr(Ktest).Q) + +# ╔═╡ Cell order: +# ╟─fee399f9-2668-41e0-a296-37b348a04769 +# ╟─90f44877-6310-49b1-9331-f8601918e4b3 +# ╟─915e345e-7002-489c-8fec-8395381f0fe5 +# ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 +# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +# ╠═fbb69bcb-64c6-42c2-8ce1-666f397eb40e +# ╠═e556408b-25f7-4fae-ba0b-243242279ba8 +# ╠═3788df6d-c756-4b6a-8d75-8cd018ab2991 +# ╠═b1362f7d-55e5-48d6-a695-f3bf59d8bf99 +# ╠═8778a5d2-5eae-426b-bc86-c62c9326c9fd +# ╟─8c7bb44d-edb3-46b3-aeef-ac21d2ee16f5 +# ╠═1ef56dc0-dce2-4f76-9632-13209fc7a0ba +# ╠═eb3a354d-dedf-4b7d-ab14-d8474f217ad4 +# ╠═b26c101b-0387-4d32-a5ed-bc0d48871dcf +# ╠═52e925f4-7c98-45a6-ba17-02c7d58e3ef9 +# ╠═c6b70020-b7bd-438d-bc9f-c7df05249e71 +# ╠═bfd0a313-a144-4883-abee-e74ac7f4a8e4 +# ╠═b07db615-e3c0-4d60-ab3f-13f35b99f1c9 +# ╠═92fdaa86-1c40-4a18-acb4-26756a98b31a +# ╠═ef215872-d011-4432-bee3-8460c82f45e7 +# ╠═860209f4-1ae4-498b-ac75-c5fa94c2608c +# ╠═5d0447c8-3f1f-4c7c-ad13-13965251a5fd +# ╠═eb35a641-b828-42fe-b01e-ecd6ccc7212f +# ╠═dac736b9-8bba-4603-af8c-b250112d5db1 +# ╠═ee17361e-dedd-42bd-b9e9-e84791bad7e5 From d71a7fd9f041cf2b67192bb07879a279d099a618 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 10 Oct 2023 21:07:59 +0200 Subject: [PATCH 227/245] optimiser with phases file --- scripts/optim_with_phases.jl | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 scripts/optim_with_phases.jl diff --git a/scripts/optim_with_phases.jl b/scripts/optim_with_phases.jl new file mode 100644 index 0000000..40be925 --- /dev/null +++ b/scripts/optim_with_phases.jl @@ -0,0 +1,46 @@ + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end +ENV["newARGS"] = string("vacua_0323") + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + +@everywhere function main(n, h11) + try + CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) + catch e + println(h11) + end +end + +@everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex) + try + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = true) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end + +end + +h11list = CYAxiverse.filestructure.paths_cy()[2] + From 5be16264f0d292ebf05a2d802af13f78ef5d6293 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 12 Oct 2023 23:58:46 +0200 Subject: [PATCH 228/245] optimise all geometries with random_phase=true --- scripts/optim_with_phases_491.jl | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 scripts/optim_with_phases_491.jl diff --git a/scripts/optim_with_phases_491.jl b/scripts/optim_with_phases_491.jl new file mode 100644 index 0000000..e64ef0d --- /dev/null +++ b/scripts/optim_with_phases_491.jl @@ -0,0 +1,85 @@ +# using Pkg +# Pkg.instantiate() + +using Distributed +import MPI +using MPIClusterManagers +# MPI.initialize() +manager = MPIClusterManagers.start_main_loop(MPI_TRANSPORT_ALL) +# addprocs(manager) +np = workers() +println(np) +if np!=0 +else + error("no workers!") + exit() +end + +@everywhere using CYAxiverse +@everywhere using LinearAlgebra + +@everywhere using HDF5 +@everywhere using Random + + +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) + try + CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = true) + open(l, "a") do outf + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) + end + catch e + open(l, "a") do outf + write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) + end + end +end + +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) +h11list = CYAxiverse.filestructure.paths_cy()[2] +h11list = h11list[:, h11list[1, :] .== 491] +# h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main, geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) +exit() From 0ca3a789182124eab84a77f52db8cb26e004fb05 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Thu, 12 Oct 2023 23:59:27 +0200 Subject: [PATCH 229/245] optimise all geometries with random_phase=true --- scripts/optim_with_phases.jl | 62 +++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/scripts/optim_with_phases.jl b/scripts/optim_with_phases.jl index 40be925..499d7d3 100644 --- a/scripts/optim_with_phases.jl +++ b/scripts/optim_with_phases.jl @@ -1,3 +1,5 @@ +# using Pkg +# Pkg.instantiate() using Distributed import MPI @@ -12,7 +14,6 @@ else error("no workers!") exit() end -ENV["newARGS"] = string("vacua_0323") @everywhere using CYAxiverse @everywhere using LinearAlgebra @@ -20,27 +21,66 @@ ENV["newARGS"] = string("vacua_0323") @everywhere using HDF5 @everywhere using Random -@everywhere function main(n, h11) - try - CYAxiverse.generate.jlm_vacua_db(; n=n, h11=h11) - catch e - println(h11) - end -end -@everywhere function optim_with_phases(geom_idx::CYAxiverse.structs.GeometryIndex) +@everywhere function main(geom_idx::CYAxiverse.structs.GeometryIndex,l::String) try CYAxiverse.jlm_minimizer.minimize_save(geom_idx; random_phase = true) open(l, "a") do outf - write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,",\n")) + write(outf,string("min-(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,"),\n")) end catch e open(l, "a") do outf write(outf,string(stacktrace(catch_backtrace()),"--(",geom_idx.h11,",",geom_idx.polytope,",",geom_idx.frst,")\n")) end end - end +lfile = CYAxiverse.filestructure.logfile() +CYAxiverse.filestructure.logcreate(lfile) + +############################## +#### Initialise functions #### +############################## +geom_idx = CYAxiverse.structs.GeometryIndex(4, 10, 1) +@time temp_vac = main(geom_idx,lfile) +h11list_temp = [4 4 5 7; 10 11 10 10; 1 1 1 1] +h11list_temp = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list_temp)] +log_file_temp = [lfile for _ = 1:size(h11list_temp, 1)] +@time begin + temp_vac = pmap(main, h11list_temp, log_file_temp) +end +# println(temp_geom) +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string((size(h11list_temp,2)+1), "test runs have finished.\n")) +### Clear memory ###### +temp_vac = nothing +GC.gc() + +############################## +############ Main ############ +############################## +Random.seed!(1234567890) h11list = CYAxiverse.filestructure.paths_cy()[2] +h11list = h11list[:, h11list[1, :] .!= 491] +# h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] +geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] +geom_params = shuffle!(geom_params) + +################################## +##### Missing geoms ############## +################################## +# geom_params = geom_params[end-6_000:end, :] +################################## +ntasks = size(geom_params,1) +size_procs = size(np) +logfiles = [lfile for _=1:ntasks] + +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid, "There are $ntasks random seeds to run on $size_procs processors.\n") + +@time begin + res = pmap(main, geom_params, logfiles) +end + +GC.gc() +CYAxiverse.slurm.writeslurm(CYAxiverse.slurm.jobid,string("All workers are done!")) +exit() \ No newline at end of file From b811576071bc335f3a34fa4a9b6406108dd2b379 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 13 Oct 2023 00:00:15 +0200 Subject: [PATCH 230/245] floor -> round was resulting in det(Q) Date: Fri, 13 Oct 2023 00:00:24 +0200 Subject: [PATCH 231/245] updated notebook wip --- notebooks/axion_self-interactions.jl | 106 +++++++++++++-------------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/notebooks/axion_self-interactions.jl b/notebooks/axion_self-interactions.jl index 09a7916..7ab949b 100644 --- a/notebooks/axion_self-interactions.jl +++ b/notebooks/axion_self-interactions.jl @@ -46,11 +46,14 @@ md""" html""" """ @@ -71,27 +74,6 @@ begin """ end -# ╔═╡ 1ef56dc0-dce2-4f76-9632-13209fc7a0ba -typeof(CYAxiverse.read.vacua_jlm(CYAxiverse.structs.GeometryIndex(5,10,1))) <: CYAxiverse.structs.Min_JLM_1D - -# ╔═╡ eb3a354d-dedf-4b7d-ab14-d8474f217ad4 -CYAxiverse.generate.LQtildebar(9, 40, 1) - -# ╔═╡ b26c101b-0387-4d32-a5ed-bc0d48871dcf -CYAxiverse.generate.LQtilde(9, 40, 1).Qtilde == CYAxiverse.generate.LQtildebar(9, 40, 1)["Qhat"] - -# ╔═╡ 52e925f4-7c98-45a6-ba17-02c7d58e3ef9 -@time begin - geom_idx = CYAxiverse.structs.GeometryIndex(8, 40, 1) - αtest = CYAxiverse.generate.:αmatrix(geom_idx) - pq_spec_test = CYAxiverse.generate.pq_spectrum(geom_idx) - hp_spec_test = CYAxiverse.generate.hp_spectrum(geom_idx) - hp_spec_test["m"], pq_spec_test[1].m -end - -# ╔═╡ c6b70020-b7bd-438d-bc9f-c7df05249e71 - - # ╔═╡ bfd0a313-a144-4883-abee-e74ac7f4a8e4 @time begin Ltest = [10. ^-i for i in 1:23] @@ -108,50 +90,66 @@ end Ktest = Hermitian(1/2 .* Ktest'*Ktest) end -# ╔═╡ 92fdaa86-1c40-4a18-acb4-26756a98b31a -log10.(sqrt.(eigen(CYAxiverse.generate.hessian(zeros(size(Qtest, 1)), hcat(Lsign, Ltest), Matrix(Qtest)), Ktest).values)) .+ Float64(log10(CYAxiverse.generate.constants()["MPlanck"])) .+9 .+ Float64(CYAxiverse.generate.constants()["log2π"]) - -# ╔═╡ ef215872-d011-4432-bee3-8460c82f45e7 -@time CYAxiverse.generate.hp_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest'); prec = 200)["m"], CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest'))[1].m - -# ╔═╡ 860209f4-1ae4-498b-ac75-c5fa94c2608c -Vector(Qtest[1, :]) - -# ╔═╡ 5d0447c8-3f1f-4c7c-ad13-13965251a5fd -CYAxiverse.generate.orth_basis(Vector(Qtest[1, :])) * Qtest - # ╔═╡ eb35a641-b828-42fe-b01e-ecd6ccc7212f CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest')) -# ╔═╡ dac736b9-8bba-4603-af8c-b250112d5db1 -cholesky(Ktest).L +# ╔═╡ 2b3a2af1-091b-47df-bc2f-082b00a4342b +function pq_spectrum_square(α::CYAxiverse.structs.CanonicalQBasis) + Ltilde = α.Lhat + Qtilde = α.Qhat + QKs::Matrix{Float64} = zeros(Float64,h11,h11) + fapprox::Vector{Float64} = zeros(Float64,h11) + mapprox::Vector{Float64} = zeros(h11) + LinearAlgebra.mul!(QKs, inv(Kls'), Matrix(Qtilde')) + for i=1:h11 + println(size(QKs[i, :])) + fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) + mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) + T = orth_basis(QKs[i,:]) + QKs1 = zeros(size(QKs,1), size(T,2)) + LinearAlgebra.mul!(QKs1,QKs, T) + println(size(QKs1)) + # Qlt[i, :] .= QKs[i, :] + QKs = deepcopy(QKs1) + end + AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])) +end + +# ╔═╡ 4476d3fe-db5b-4ed5-aaad-5915b2eb1605 +function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, Q::Matrix{Int}; threshold = 0.5) + h11::Int = size(K,1) + fK::Vector{Float64} = log10.(sqrt.(eigen(K).values)) + Kls = cholesky(K).L + LQ = CYAxiverse.generate.LQtilde(Q', L') + α = CYAxiverse.generate.:αmatrix(LQ; threshold = threshold) + if typeof(α)<:Canonicalα + else + pq_spectrum_square(α) + end +end + +# ╔═╡ 8ff2f070-1ae8-4c0f-b540-34e76fe0d685 +αtest = CYAxiverse.generate.:αmatrix(CYAxiverse.structs.GeometryIndex(10, 40, 1)) -# ╔═╡ ee17361e-dedd-42bd-b9e9-e84791bad7e5 -LowerTriangular(qr(Ktest).Q) +# ╔═╡ 4e965d07-15dd-4840-b034-2a997a935567 +qr(Qtest[1,:]).Q, CYAxiverse.generate.orth_basis(Vector(Qtest[1, :])) # ╔═╡ Cell order: # ╟─fee399f9-2668-41e0-a296-37b348a04769 # ╟─90f44877-6310-49b1-9331-f8601918e4b3 # ╟─915e345e-7002-489c-8fec-8395381f0fe5 # ╟─2000a078-38f5-4c93-8627-ba6b4970aef6 -# ╠═7c8e7502-94d8-4da6-a5e2-b950b33a62c2 +# ╟─7c8e7502-94d8-4da6-a5e2-b950b33a62c2 # ╠═fbb69bcb-64c6-42c2-8ce1-666f397eb40e # ╠═e556408b-25f7-4fae-ba0b-243242279ba8 # ╠═3788df6d-c756-4b6a-8d75-8cd018ab2991 # ╠═b1362f7d-55e5-48d6-a695-f3bf59d8bf99 # ╠═8778a5d2-5eae-426b-bc86-c62c9326c9fd # ╟─8c7bb44d-edb3-46b3-aeef-ac21d2ee16f5 -# ╠═1ef56dc0-dce2-4f76-9632-13209fc7a0ba -# ╠═eb3a354d-dedf-4b7d-ab14-d8474f217ad4 -# ╠═b26c101b-0387-4d32-a5ed-bc0d48871dcf -# ╠═52e925f4-7c98-45a6-ba17-02c7d58e3ef9 -# ╠═c6b70020-b7bd-438d-bc9f-c7df05249e71 # ╠═bfd0a313-a144-4883-abee-e74ac7f4a8e4 # ╠═b07db615-e3c0-4d60-ab3f-13f35b99f1c9 -# ╠═92fdaa86-1c40-4a18-acb4-26756a98b31a -# ╠═ef215872-d011-4432-bee3-8460c82f45e7 -# ╠═860209f4-1ae4-498b-ac75-c5fa94c2608c -# ╠═5d0447c8-3f1f-4c7c-ad13-13965251a5fd # ╠═eb35a641-b828-42fe-b01e-ecd6ccc7212f -# ╠═dac736b9-8bba-4603-af8c-b250112d5db1 -# ╠═ee17361e-dedd-42bd-b9e9-e84791bad7e5 +# ╠═2b3a2af1-091b-47df-bc2f-082b00a4342b +# ╠═4476d3fe-db5b-4ed5-aaad-5915b2eb1605 +# ╠═8ff2f070-1ae8-4c0f-b540-34e76fe0d685 +# ╠═4e965d07-15dd-4840-b034-2a997a935567 From 812323bf4fabff847a700386a391b12a17d33d21 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 30 Jan 2024 20:48:07 +0100 Subject: [PATCH 232/245] Generate QRCodes --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index 7b2416e..87b29f2 100644 --- a/Project.toml +++ b/Project.toml @@ -41,6 +41,7 @@ PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" ProfileSVG = "132c30aa-f267-4189-9183-c8a63c7e05e6" ProgressLogging = "33c8b6b6-d38a-422a-b730-caa89a2f386c" PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +QRCoders = "f42e9828-16f3-11ed-2883-9126170b272d" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" From 3bc78c5208b1a37194c7ca76408ec911416f99ee Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 30 Jan 2024 20:48:51 +0100 Subject: [PATCH 233/245] testing Cholesky method for quartics --- notebooks/axion_self-interactions.jl | 154 +++++++++++++++++++++++++-- 1 file changed, 147 insertions(+), 7 deletions(-) diff --git a/notebooks/axion_self-interactions.jl b/notebooks/axion_self-interactions.jl index 7ab949b..9d4ca36 100644 --- a/notebooks/axion_self-interactions.jl +++ b/notebooks/axion_self-interactions.jl @@ -76,22 +76,26 @@ end # ╔═╡ bfd0a313-a144-4883-abee-e74ac7f4a8e4 @time begin - Ltest = [10. ^-i for i in 1:23] - Lsign = ones(23) - Qtest = Int.(I(22)) - Qtest = hcat(Qtest, zeros(22)) + h11 = 15 + Ltest = [10. ^-i for i in 0:h11] + Lsign = ones(h11+1) + Qtest = Int.(I(h11)) + Qtest = hcat(Qtest, zeros(h11)) Qtest[1, end] = 1 size(Qtest), size(Ltest) end +# ╔═╡ 1e3c5202-df60-47c5-84df-31fee243fe80 +Ltest + # ╔═╡ b07db615-e3c0-4d60-ab3f-13f35b99f1c9 @time begin - Ktest = rand(22,22) - Ktest = Hermitian(1/2 .* Ktest'*Ktest) + Ktest = rand(h11, h11) + Ktest = Hermitian(1/2 .* Ktest'*Ktest + 2I(h11)) end # ╔═╡ eb35a641-b828-42fe-b01e-ecd6ccc7212f -CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest')) +CYAxiverse.generate.pq_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest')), CYAxiverse.generate.hp_spectrum(Ktest, hcat(Lsign, Ltest), Matrix{Int}(Qtest')) # ╔═╡ 2b3a2af1-091b-47df-bc2f-082b00a4342b function pq_spectrum_square(α::CYAxiverse.structs.CanonicalQBasis) @@ -134,6 +138,120 @@ end # ╔═╡ 4e965d07-15dd-4840-b034-2a997a935567 qr(Qtest[1,:]).Q, CYAxiverse.generate.orth_basis(Vector(Qtest[1, :])) +# ╔═╡ d98e8576-8bf0-4a59-ad29-80b4ddba366e +@time begin + Random.seed!(1234567890) + Qtemp = rand(1:10, 10,10) + # Qtemp = Qtemp + transpose(Qtemp) - Diagonal(Qtemp) + eigen(CYAxiverse.generate.hessian(zeros(10), hcat(ones(10), [-i for i in 2:11]), Qtemp)).values +end + +# ╔═╡ f915ce5a-56b9-4634-967c-b955c2246419 +eigen(Ltest[2:11] .* CYAxiverse.generate.hessian_norm(zeros(10), Qtemp)).values + +# ╔═╡ 8dd2c1c6-620d-431f-9ece-be204bbab7eb +begin + Random.seed!(1234567890) + Qtemp1 = Matrix(hcat(I(h11), rand(-5:5, h11))) + Qtemp1 +end + +# ╔═╡ f35bfd5e-015f-49e8-a87d-e00320785fee +@time begin + canK = cholesky(Ktest).L + test_hess = zeros(size(Qtemp1, 1), size(Qtemp1, 1)) + for (i,q) in enumerate(eachcol(inv(canK)' * Qtemp1)) + test_hess .+= Ltest[i] * (q*q') + # * cos.(zeros(size(Qtemp1,1))' * (inv(canK)' * Qtemp1))[i] + end + # test_hess = Hermitian(test_hess + test_hess' - Diagonal(test_hess)) +end + +# ╔═╡ a6c24db6-367a-4a2a-9eed-47c00101a099 +inv(canK)' * Qtemp1 + +# ╔═╡ 5daa448d-d9e7-4d43-b68e-b78996f32ac0 +Ltest + +# ╔═╡ 1841a90c-521a-43b3-8bb3-470a836ec142 +Qtemp1[:, 1]' + +# ╔═╡ d913add1-a56d-4896-a8b4-390552de90d6 +function testhess() + EVs = zeros(h11) + fs = zeros(h11) + NewQ = inv(canK)' * Qtemp1 + for i in 1:h11 + fs[i] = NewQ[:, i]' * NewQ[:, i] + EVs[i] = Ltest[i] * fs[i] + T = CYAxiverse.generate.orth_basis(NewQ[:, i])' + NewQ = T * NewQ + end + fs, EVs +end + +# ╔═╡ 729c4d18-b776-4f59-bea6-ceb3b146bb89 +ones(h11)' * Qtemp1 + +# ╔═╡ ad031cdc-9270-4ac8-a4e4-265be15b0033 +function hess_test(x::Vector, Q::Matrix) + hessian = zeros(size(Q,1), size(Q,1), size(Q, 2)) + for i in axes(Q, 2), j in axes(Q, 2) + hessian[:, :, i] = (@view(Q[:, i]) * @view(Q[:, j])') * cos.(x' * Q)[i] + end + hessian + # Hermitian(hessian + hessian' - Diagonal(hessian)) +end + +# ╔═╡ 819972ff-5978-408a-a6a2-635abee2bd9d +md""" +- add sum and \Lambda to `hess_test` +""" + +# ╔═╡ 37997fdb-9bee-455f-98f4-cda269136c9f +@time begin + hessian_fill = zeros(size(Qtemp1, 1), size(Qtemp1, 1)) + hess = hess_test(zeros(h11), inv(canK)' * Qtemp1) + for i in axes(hess, 1), j in axes(hess, 2) + if i>=j + hessian_fill[i, j] = sum(Ltest .* hess[i, j, :]) + end + end + # hessian_fill = Hermitian(hessian_fill + hessian_fill' - Diagonal(hessian_fill)) +end + + +# ╔═╡ 9f1a0942-405a-4e3d-8b3a-3848a7897b50 +sort(eigen(hessian_fill).values, by=x->abs(x)), sort(testhess()[2], by=x->abs(x)), sort(eigen(test_hess).values, by=x->abs(x)) + +# ╔═╡ 2baf651e-37aa-40fc-b1e0-1808490aed33 +Ktest + +# ╔═╡ 1064a293-e54f-48de-b999-993d33d67990 +eigen(hessian_fill, Ktest[1:h11, 1:h11]).values + +# ╔═╡ 06ef508c-3ee1-488a-aff7-38bfef9d7dc6 +hess_test(zeros(h11), Qtemp1) + +# ╔═╡ 83f24e49-72b4-459c-9ee4-6d16bb57d834 +@time CYAxiverse.generate.hessian_norm(zeros(h11), Qtemp1) == hess_test(zeros(h11), Qtemp1) + +# ╔═╡ 33f63609-dbfe-42a7-b9cc-4054ea69bd85 +cholesky(Ktest[1:10, 1:10]).L + +# ╔═╡ f763a26a-87ba-4695-be58-5a3ad8710da5 +10^(1e-2) + +# ╔═╡ e9f9f4fe-b003-4ba6-92bb-ee050deeca15 +CYAxiverse.generate.hp_spectrum(10, 10, 1)["m"] .- CYAxiverse.generate.pq_spectrum(10, 10, 1)[1].m + +# ╔═╡ b8bd3634-e977-4e73-8005-4d73333fdcc4 +md""" +- optimise `hessian_norm` function as above +- check to see if multiplying by Λ as last step leaves eigenvalues unchanged +- use `gauss_log` function to incorporate Λ +""" + # ╔═╡ Cell order: # ╟─fee399f9-2668-41e0-a296-37b348a04769 # ╟─90f44877-6310-49b1-9331-f8601918e4b3 @@ -147,9 +265,31 @@ qr(Qtest[1,:]).Q, CYAxiverse.generate.orth_basis(Vector(Qtest[1, :])) # ╠═8778a5d2-5eae-426b-bc86-c62c9326c9fd # ╟─8c7bb44d-edb3-46b3-aeef-ac21d2ee16f5 # ╠═bfd0a313-a144-4883-abee-e74ac7f4a8e4 +# ╠═1e3c5202-df60-47c5-84df-31fee243fe80 # ╠═b07db615-e3c0-4d60-ab3f-13f35b99f1c9 # ╠═eb35a641-b828-42fe-b01e-ecd6ccc7212f # ╠═2b3a2af1-091b-47df-bc2f-082b00a4342b # ╠═4476d3fe-db5b-4ed5-aaad-5915b2eb1605 # ╠═8ff2f070-1ae8-4c0f-b540-34e76fe0d685 # ╠═4e965d07-15dd-4840-b034-2a997a935567 +# ╠═d98e8576-8bf0-4a59-ad29-80b4ddba366e +# ╠═f915ce5a-56b9-4634-967c-b955c2246419 +# ╠═8dd2c1c6-620d-431f-9ece-be204bbab7eb +# ╠═a6c24db6-367a-4a2a-9eed-47c00101a099 +# ╠═f35bfd5e-015f-49e8-a87d-e00320785fee +# ╠═5daa448d-d9e7-4d43-b68e-b78996f32ac0 +# ╠═1841a90c-521a-43b3-8bb3-470a836ec142 +# ╠═d913add1-a56d-4896-a8b4-390552de90d6 +# ╠═729c4d18-b776-4f59-bea6-ceb3b146bb89 +# ╠═ad031cdc-9270-4ac8-a4e4-265be15b0033 +# ╟─819972ff-5978-408a-a6a2-635abee2bd9d +# ╠═37997fdb-9bee-455f-98f4-cda269136c9f +# ╠═9f1a0942-405a-4e3d-8b3a-3848a7897b50 +# ╠═2baf651e-37aa-40fc-b1e0-1808490aed33 +# ╠═1064a293-e54f-48de-b999-993d33d67990 +# ╠═06ef508c-3ee1-488a-aff7-38bfef9d7dc6 +# ╠═83f24e49-72b4-459c-9ee4-6d16bb57d834 +# ╠═33f63609-dbfe-42a7-b9cc-4054ea69bd85 +# ╠═f763a26a-87ba-4695-be58-5a3ad8710da5 +# ╠═e9f9f4fe-b003-4ba6-92bb-ee050deeca15 +# ╟─b8bd3634-e977-4e73-8005-4d73333fdcc4 From 16162f2b2d83f722c91ca217f56cb66b8c084771 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 30 Jan 2024 20:49:28 +0100 Subject: [PATCH 234/245] continue from end point --- scripts/optim_with_phases_491.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/optim_with_phases_491.jl b/scripts/optim_with_phases_491.jl index e64ef0d..5b60905 100644 --- a/scripts/optim_with_phases_491.jl +++ b/scripts/optim_with_phases_491.jl @@ -64,6 +64,9 @@ h11list = h11list[:, h11list[1, :] .== 491] # h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) +up_to = CYAxiverse.structs.GeometryIndex(491,1,363) +up_to_idx = findall(x->x==up_to, geom_params)[1]+1 +geom_params = geom_params[up_to_idx:end] ################################## ##### Missing geoms ############## From 4754e7836fbd878150bdb0e71b5a8a2498600d90 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 30 Jan 2024 20:49:42 +0100 Subject: [PATCH 235/245] added continue from endpoint command --- scripts/optim_with_phases.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/optim_with_phases.jl b/scripts/optim_with_phases.jl index 499d7d3..7dfaaba 100644 --- a/scripts/optim_with_phases.jl +++ b/scripts/optim_with_phases.jl @@ -64,6 +64,9 @@ h11list = h11list[:, h11list[1, :] .!= 491] # h11list = h11list[:, h11list[1, :] .== 1 .|| h11list[1, :] .== 2 .|| h11list[1, :] .== 3] geom_params = [CYAxiverse.structs.GeometryIndex(col...) for col in eachcol(h11list)] geom_params = shuffle!(geom_params) +up_to = CYAxiverse.structs.GeometryIndex(215,232,3) +up_to_idx = findall(x->x==up_to, geom_params)[1]+1 +geom_params = geom_params[up_to_idx:end] ################################## ##### Missing geoms ############## From e47016c967c3668ccd13f43b70aef0b19dd3ce1c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Tue, 30 Jan 2024 20:50:07 +0100 Subject: [PATCH 236/245] testing cholesky method for quartics / hessian --- src/generate.jl | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 320ad7c..687853e 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -203,22 +203,30 @@ function hessian(x, L::Matrix{Float64}, Q::Matrix) end function hessian_norm(x, Q::Matrix) - hessian = zeros(Interval, size(Q, 1), size(Q, 1)) + hessian = zeros(size(Q, 1), size(Q, 1)) if size(Q, 1) == 1 for i in axes(Q, 1), j in axes(Q, 1) if i>=j - hessian[i, j] = sum(@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(x' * Q)) + hessian[i, j] = (transpose(@view(Q[i, :])) * @view(Q[j, :])) * cos.(x' * Q)[i] end end hessian = hessian + hessian' - Diagonal(hessian) - else + elseif size(Q, 1) == size(Q, 2) for i in axes(Q, 1), j in axes(Q, 1) if i>=j - hessian[i, j] = sum(@view(Q[i, :]) .* @view(Q[j, :]) .* cos.(sum(x .* Q, dims=1))) + hessian[i, j] = (transpose(@view(Q[i, :])) * @view(Q[j, :])) * cos.(x' * Q)[i] end end - hessian = hessian + hessian' - Diagonal(hessian) - SMatrix{size(hessian, 1), size(hessian,2)}(hessian) + hessian = Hermitian(hessian + hessian' - Diagonal(hessian)) + # SMatrix{size(hessian, 1), size(hessian,2)}(hessian) + else + hessian = zeros(size(Q, 1), size(Q, 1), zeros(Q, 2)) + for i in axes(Q, 1), j in axes(Q, 1), k in axes(Q, 2) + if i>=j + hessian[i, j, k] = (transpose(@view(Q[i, :])) * @view(Q[j, :])) * cos.(x' * Q)[k] + end + end + hessian = Hermitian(hessian + hessian' - Diagonal(hessian)) end end ############################## @@ -443,7 +451,7 @@ function hp_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, # GC.gc() #Generate quartics in logspace - signL::Vector{Int}, logL::Vector{Float64} = L[:,1], L[:,2] + signL::Vector{Int}, logL::Vector{Float64} = L[:,1], log(10) .* L[:,2] #Compute quartics qindq31::Vector{Vector{Int64}} = [[x,x,x,y]::Vector{Int64} for x=1:h11,y=1:h11 if x!=y] qindq22::Vector{Vector{Int64}} = [[x,x,y,y]::Vector{Int64} for x=1:h11,y=1:h11 if x>y] @@ -657,8 +665,8 @@ function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, LinearAlgebra.mul!(QKs, inv(Kls'), Matrix(Qtilde')) for i=1:h11 println(size(QKs[i, :])) - fapprox[i] = log10(1/(2π*dot(QKs[i,:],QKs[i,:]))) - mapprox[i] = 0.5*(Ltilde[2,i]-fapprox[i]) + fapprox[i] = log10(1 /(2π *dot(QKs[i,:],QKs[i,:]))) + mapprox[i] = 0.5(Ltilde[2,i]-fapprox[i]) T = orth_basis(QKs[i,:]) QKs1 = zeros(size(QKs,1), size(T,2)) LinearAlgebra.mul!(QKs1,QKs, T) From 798c77fb753b25648fa3eba39d01f108fec79e6f Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Feb 2024 16:16:40 +0100 Subject: [PATCH 237/245] removed Qlt output from pq_spectrum --- src/generate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generate.jl b/src/generate.jl index 687853e..7b92ac0 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -674,7 +674,7 @@ function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, # Qlt[i, :] .= QKs[i, :] QKs = deepcopy(QKs1) end - AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])), Qlt + AxionSpectrum(mapprox[sortperm(mapprox)] .+ 9. .+ Float64(log10(constants()["MPlanck"])), 0.5 .* fapprox[sortperm(mapprox)] .+ Float64(log10(constants()["MPlanck"])), fK .+ Float64(log10(constants()["MPlanck"])) .- Float64(constants()["log2π"])) end function pq_spectrum(h11::Int,tri::Int,cy::Int) From 6430d762fdd4b031d7470964db8e03ecec9a0591 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Wed, 7 Feb 2024 16:17:41 +0100 Subject: [PATCH 238/245] removed print from pq_spectrum --- src/generate.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index 7b92ac0..e760c99 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -664,13 +664,13 @@ function pq_spectrum(K::Hermitian{Float64, Matrix{Float64}}, L::Matrix{Float64}, mapprox::Vector{Float64} = zeros(h11) LinearAlgebra.mul!(QKs, inv(Kls'), Matrix(Qtilde')) for i=1:h11 - println(size(QKs[i, :])) + # println(size(QKs[i, :])) fapprox[i] = log10(1 /(2π *dot(QKs[i,:],QKs[i,:]))) mapprox[i] = 0.5(Ltilde[2,i]-fapprox[i]) T = orth_basis(QKs[i,:]) QKs1 = zeros(size(QKs,1), size(T,2)) LinearAlgebra.mul!(QKs1,QKs, T) - println(size(QKs1)) + # println(size(QKs1)) # Qlt[i, :] .= QKs[i, :] QKs = deepcopy(QKs1) end From 3e81952290d912ae5eda8a54153ec5bfa4ccab6a Mon Sep 17 00:00:00 2001 From: "Viraf M. Mehta" <102535039+vmmhep@users.noreply.github.com> Date: Wed, 28 Feb 2024 11:25:31 -0500 Subject: [PATCH 239/245] Update Dockerfile updated julia to 1.8.5 and CYTools to 1.0.4 --- Dockerfile | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index cc3e17b..22eb031 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,19 +40,25 @@ ENV PATH="$VIRTUAL_ENV/bin:$PATH" # Install julia WORKDIR /opt/cytools/ -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz -RUN tar xf julia-1.7.1-linux-x86_64.tar.gz -ENV PATH="$PWD/julia-1.7.1/bin:$PATH" -RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia -RUN rm julia-1.7.1-linux-x86_64.tar.gz +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.5-linux-x86_64.tar.gz +RUN tar xf julia-1.8.5-linux-x86_64.tar.gz +ENV PATH="$PWD/julia-1.8.5/bin:$PATH" +RUN ln -s $PWD/julia-1.8.5/bin/julia $VIRTUAL_ENV/bin/julia +RUN rm julia-1.8.5-linux-x86_64.tar.gz +# RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz +# RUN tar xf julia-1.7.1-linux-x86_64.tar.gz +# ENV PATH="$PWD/julia-1.7.1/bin:$PATH" +# RUN ln -s $PWD/julia-1.7.1/bin/julia $VIRTUAL_ENV/bin/julia +# RUN rm julia-1.7.1-linux-x86_64.tar.gz +# Install pip packages # Install pip packages ENV CVXOPT_SUITESPARSE_INC_DIR=/usr/include/suitesparse -WORKDIR /opt/cytools/ -COPY ./requirements.txt /opt/cytools/requirements.txt -RUN pip3 install -r requirements.txt -RUN pip3 install python-flint==0.3.0 -RUN pip3 install julia +RUN pip3 install pip==21.0.1 +RUN pip3 install numpy scipy jupyterlab cvxopt gekko pymongo ortools tqdm cython qpsolvers osqp +RUN pip3 install python-flint matplotlib h5py +RUN pip3 install scikit-sparse cysignals gmpy2 +RUN pip3 install pplpy RUN pip3 install -f https://download.mosek.com/stable/wheel/index.html Mosek ENV MOSEKLM_LICENSE_FILE=/home/$USERNAME/mounted_volume/mosek/mosek.lic From 529e7a626ef3fd85e17f004288d87291cf1a1681 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:53:43 -0400 Subject: [PATCH 240/245] add apple files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b41aea2..cd18426 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ src/clipboard.jl jlm_python/multi_solver_phase_fraction.py jlm_python/one_dim_phase_fraction.py +.DS_Store From 3224d499fefff07a1563f25ae367874bf5a07733 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:54:55 -0400 Subject: [PATCH 241/245] fixed to work --- Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 22eb031..cf6d93d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,11 +40,11 @@ ENV PATH="$VIRTUAL_ENV/bin:$PATH" # Install julia WORKDIR /opt/cytools/ -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.5-linux-x86_64.tar.gz -RUN tar xf julia-1.8.5-linux-x86_64.tar.gz -ENV PATH="$PWD/julia-1.8.5/bin:$PATH" -RUN ln -s $PWD/julia-1.8.5/bin/julia $VIRTUAL_ENV/bin/julia -RUN rm julia-1.8.5-linux-x86_64.tar.gz +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.4-linux-x86_64.tar.gz +RUN tar xf julia-1.8.4-linux-x86_64.tar.gz +ENV PATH="$PWD/julia-1.8.4/bin:$PATH" +RUN ln -s $PWD/julia-1.8.4/bin/julia $VIRTUAL_ENV/bin/julia +RUN rm julia-1.8.4-linux-x86_64.tar.gz # RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.1-linux-x86_64.tar.gz # RUN tar xf julia-1.7.1-linux-x86_64.tar.gz # ENV PATH="$PWD/julia-1.7.1/bin:$PATH" From f1efba9f771ff57c6643b28dedfd8d6cded43456 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:55:10 -0400 Subject: [PATCH 242/245] fixed versions in [compat] --- Project.toml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Project.toml b/Project.toml index 87b29f2..3d69d92 100644 --- a/Project.toml +++ b/Project.toml @@ -53,6 +53,28 @@ Tullio = "bc48ee85-29a4-5162-ae0b-a64e1601d4bc" [compat] julia = "1.7" +AbstractTrees = "=0.4.3" +ArbNumerics = "=1.3.3" +BenchmarkTools = "=1.3.2" +CairoMakie = "=0.10.0" +ClusterManagers = "=0.4.3" +ColorSchemes = "=3.20.0" +Conda = "=1.7.0" +DifferentialEquations = "=7.7.0" +Distributions = "=0.25.60" +Documenter = "=0.27.20" +DrWatson = "=2.12.0" +ForwardDiff = "=0.10.32" +GenericLinearAlgebra = "=0.3.3" +HDF5 = "=0.16.11" +IntervalArithmetic = "=0.20.7" +LoopVectorization = "=0.12.140" +MPI = "=0.20.0" +Nemo = "=0.32.0" +NormalForms = "=0.1.0" +Optim = "=1.7.0" +Roots = "=2.0.0" +Tullio = "=0.3.4" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From d02f9540ce3ef096864f8b4943ede34393c97803 Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:55:30 -0400 Subject: [PATCH 243/245] SINGULARITY CONTAINER -> PYTHON --- src/CYAxiverse.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/CYAxiverse.jl b/src/CYAxiverse.jl index f56f886..fb0ab3b 100644 --- a/src/CYAxiverse.jl +++ b/src/CYAxiverse.jl @@ -18,10 +18,8 @@ include("minimizer.jl") include("generate.jl") include("../add_functions/profiling.jl") -if haskey(ENV, "SINGULARITY_CONTAINER") - if occursin("CYTools",ENV["SINGULARITY_CONTAINER"]) +if occursin("cytools", ENV["PYTHON"]) include("../add_functions/cytools_wrapper.jl") - end else println("This installation does not include CYTools!") include("../jlm_python/jlm_python.jl") From 3523a939178025ff35baf969d1b09b3a067be9da Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:55:47 -0400 Subject: [PATCH 244/245] fixed base.convert for Nemo -> Julia --- src/generate.jl | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/generate.jl b/src/generate.jl index e760c99..efb9512 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -731,18 +731,18 @@ function pq_spectrum_save(h11::Int,tri::Int,cy::Int=1) end end -function Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) +function Base.convert(::Type{Matrix{Int}}, x::Nemo.ZZMatrix) m,n = size(x) mat = Int[x[i,j] for i = 1:m, j = 1:n] return mat end -function Base.convert(::Type{Matrix{BigInt}}, x::Nemo.fmpz_mat) +function Base.convert(::Type{Matrix{BigInt}}, x::Nemo.ZZMatrix) m,n = size(x) mat = BigInt[x[i,j] for i = 1:m, j = 1:n] return mat end -# Base.convert(::Type{Matrix{Int}}, x::Nemo.fmpz_mat) = convert(Matrix{Int}, x) -# Base.convert(::Type{Matrix{BigInt}}, x::Nemo.fmpz_mat) = convert(Matrix{BigInt}, x) +# Base.convert(::Type{Matrix{Int}}, x::Nemo.ZZMatrix) = convert(Matrix{Int}, x) +# Base.convert(::Type{Matrix{BigInt}}, x::Nemo.ZZMatrix) = convert(Matrix{BigInt}, x) """ @@ -1028,7 +1028,7 @@ function LQtildebar(L::Matrix{Float64},Q::Matrix{Int}; threshold = 0.5) Ltilde::Matrix{Float64} = hcat(zeros(Float64,size(Lsorted_test[1,:],1)),Lsorted_test[1,:]) S::Nemo.FmpzMatSpace = MatrixSpace(Nemo.ZZ,1,1) - m::Nemo.fmpz_mat = matrix(Nemo.ZZ,zeros(1,1)) + m::Nemo.ZZMatrix = matrix(Nemo.ZZ,zeros(1,1)) d::Int = 1 Qbar::Matrix{Int} = zeros(Int,size(Qsorted_test[1,:],1),1) Lbar::Matrix{Float64} = zeros(Float64,size(Lsorted_test[1,:],1),1) @@ -1238,17 +1238,17 @@ This function is useful for checking if the identity matrix is contained within function basis_snf(rays::Matrix{Int}) h11::Int = size(rays,2) ###### Nemo SNF ##### - Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,rays) - T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] - Tparallel1::Nemo.fmpz_mat = inv(T)[:, 1:h11] + Qtemp::Nemo.ZZMatrix = matrix(Nemo.ZZ,rays) + T::Nemo.ZZMatrix = snf_with_transform(Qtemp)[2] + Tparallel1::Nemo.ZZMatrix = inv(T)[:, 1:h11] Tparallel::Matrix{Rational} = zeros(1,1) if maximum(abs.(Tparallel1)) < 2^60 - Tparallel = convert(Matrix{Int},Tparallel1) + Tparallel = Matrix{Int}(Tparallel1) θparalleltest = Matrix{Rational}(inv(transpose(Rational.(rays)) * Rational.(rays)) * transpose(Rational.(rays)) * Tparallel) θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) θparalleltestinv = @.(ifelse(abs(inv(θparalleltest)) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) else - Tparallel = convert(Matrix{BigInt},Tparallel1) + Tparallel = Matrix{BigInt}(Tparallel1) θparalleltest = Matrix{Rational{BigInt}}(inv(transpose(Rational.(rays)) * Rational.(rays)) * transpose(Rational.(rays)) * Tparallel) θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) θparalleltestinv = @.(ifelse(abs(inv(θparalleltest)) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) @@ -1260,16 +1260,16 @@ end function vacua_SNF(Q::Matrix{Integer}) h11::Int = size(Q,2) ###### Nemo SNF ##### - Qtemp::Nemo.fmpz_mat = matrix(Nemo.ZZ,Q) - T::Nemo.fmpz_mat = snf_with_transform(Qtemp)[2] - Tparallel1::Nemo.fmpz_mat = inv(T)[:, 1:h11] + Qtemp::Nemo.ZZMatrix = matrix(Nemo.ZZ,Q) + T::Nemo.ZZMatrix = snf_with_transform(Qtemp)[2] + Tparallel1::Nemo.ZZMatrix = inv(T)[:, 1:h11] Tparallel::Matrix{Rational} = zeros(1,1) if maximum(abs.(Tparallel1)) < 2^60 - Tparallel = convert(Matrix{Int},Tparallel1) + Tparallel = Matrix{Int}(Tparallel1) θparalleltest = Matrix{Rational}(inv(transpose(Rational.(Q)) * Rational.(Q)) * transpose(Rational.(Q)) * Tparallel) θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational(θparalleltest))) else - Tparallel = convert(Matrix{BigInt},Tparallel1) + Tparallel = Matrix{BigInt}(Tparallel1) θparalleltest = Matrix{Rational{BigInt}}(inv(transpose(Rational.(Q)) * Rational.(Q)) * transpose(Rational.(Q)) * Tparallel) θparalleltest = @.(ifelse(abs(θparalleltest) < 1e-4, zero(θparalleltest), Rational{BigInt}(θparalleltest))) end From 9e7609a9b0a769b15f9a6b6e78bf89534740577c Mon Sep 17 00:00:00 2001 From: vmmhep Date: Fri, 28 Jun 2024 18:56:13 -0400 Subject: [PATCH 245/245] PyCall.current_python() -> PyCall.python() --- src/init_python.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/init_python.jl b/src/init_python.jl index 9594fb8..dd3e0f2 100644 --- a/src/init_python.jl +++ b/src/init_python.jl @@ -5,7 +5,7 @@ if haskey(ENV, "PYTHON") if occursin("cytools", ENV["PYTHON"]) try using PyCall - if PyCall.current_python() != ENV["PYTHON"] + if PyCall.python != ENV["PYTHON"] Pkg.build("PyCall") println("PyCall.jl has been built using $(ENV["PYTHON"])") end @@ -16,7 +16,7 @@ if haskey(ENV, "PYTHON") else try using PyCall - if PyCall.current_python() != ENV["PYTHON"] + if PyCall.python != ENV["PYTHON"] Pkg.build("PyCall") println("PyCall.jl has been built using $(ENV["PYTHON"])") end

    z=X5%p9P=J=T^!Vs{19Lqxl+Gmmd9k2@2s%ehw)^l_vNhevm5->y`iK}VLY<+T?Ys} z8Gqmy?@M30vM?BwJ|zP-&!MDkY=?#0giCjGOlS?m3j**HPN2`VmRnpYtUEbp(C>@k zKHM5|ikm?0q36`)_AVfztIRe(C0z*;wwNIC`q4z@(NLL{{@w`2n>C7YW4}@!S1a5i zLKc%}^NSJM*kVM~QyoW!;fO+y1x!2Ql(R05TpC1fl*(fs`3R6QiJhxgzyAl%){%I@ zzD1~_xC)V)KF18wbY2vq#$4=d1N^?&Yj0x1O;c6}Yu8^7W=Ko(i9us-rLXYhvJNQHWeSw9=9V;5xIJGmoA<_>4@N zMuwYer`fMJ>JtLHG8v5Oqu#JG+}KHno5g&HNhiY>MO6gR58cT@0SCV=Qb>aMx~K+w z+`O{900vg_alfAr?yZ-b1aHGz(e{v{abd_-zik;k<=xfyeL=!`D_jfno1r3!Y8Pr5 zT7kfX0hdfuF&4DdK}{md4lazl1oldg-&wo7`eC3rQi2hQzwYp7} z$hZh_W`iG6!4aEGi5&CB$~;Mgbt1g#P3{feVbY)A9GDGrISc}ZiGM!6zmYahGU8EI zcAsm%gU7xU4YVZ?Optn&`Hq#G)n2?)sUfl&nG*F@M}Y{6wktNzKpg~&atK%1K)c#I zELf<(YNrk*qw8x@a7R0+c~g=mNePO^EYnuC1={QH)>-T6%ZU#A;Ezv}vp-*-+?-Eq zpVOE{92L!57U*Lv8^o-F$TLF!f=g+^N{hvpEKO;kzAUcFIX!e%C$Ctyg0qPDc1NS{ ze6FN}{8Xu4KwW4Z6IH}g$aPK{{xC0S-T-n107fRg%KGsSD&OGAH>cIoW!-y{+s17T z7Qv9CN8$)DG89PS^0e9d7=V4m^SGfGXUFE_HM}X(uJi|u;s~@4!6bLY21689!eZ~5 zl31-(E^=+;f-7GkFA*UAUiIkV6WqI};|E)L{n&A5SQc!u##~u0m8-E)dXQx-)VPQw z{X474!bd!UYI;;|<+b}a(&V+@v6?cE-&r%bJ+|HLvwp2HTacb=$l^#PvuQmQFQc+J zHyZCTo!{M^X8m0xAq{`TXbPg`5T*Helx8<>BSZl zy=$0EldKn}g!Uyoq7CM1CEOZiPM9_#(v7ic#}{iZn%V|2GROKX^e1H-P!+8v(M>*W zn*)7{fZbiqQS3=|xjk9v;;qKsqdeK#Ry$;BmYE=7VV7Pv309-ysVbK2bxs0tCyBsf zGgtK1>_@m|hwO~GG~2Lh3{Md|qw+*~GK$PFQSX@VL@3yjS#j)s#CvPE2oh68PF^0FHZ zY^UmtQg>-!W6;hI9nD9#ZemSsYN+{F=J2oH!h05zupnp|za(QByu-YiX`{Kr4Ade~ zDR;+QFrvrHjRsN4CE9)~`a2s=1Fy9%XCqfc)!q&*x(^(V|2v#If5_Sw|+MUEkuH;=3KWPACFt$ z{b_-nout3q9{&n(Ku!en4v%kV}rqQVlncej3t$EAbv?3@yR&QL{+32UcTeJB}0hJs&-jV5*=J34} zHHvZocR+~0S&$ROC!euVd1n#kLtc$`$FjHz87oNz+?Gm`wf>juLCW8ay&K6Y^s$)Fm{1QYL?Gc9M(DDt zMoo}Es$-)bWar{?BUyhiXu73nKGs&qRUR5Hp^qQYBR6f(BcTDilz+cvXWaCiIX=w+ z@@H?Bt8<@I%|9MZ?ft{zZj1yds-TU+{q=%1LYSY3hwK`m;aD1dnRVqkZFE-SuULOI zO3HFB6fhbAE(eKEg?f<04`PSens`}xDHOAT^ImXO3`{W2>O9R}rOYod9+@xpS?RJu zPU@7~%A~}NmW`i*wsWx{^2=z5kNNwEGlk`V-_loP*D%Ao&`y*UcmmkU?^rG^kU5LJ zk{EhLygJr?$+KX7tbZ7{={=chPauJ(yOIqAi59BIzN7>T3w8OtYy%$fS&ZRhZG5o0 zo1B04uo2`x76;-ZrZ;cdUucNl9z3OCB$4Sef2-LB>>NJllFLo6hq=!d*c;I1w&PAHHWXXE_!GrG-1*98VFgJ*Ti~^#5R$oR+-Vr&ifHv z=^C#nMxeNBE+^lDSQ){(*ZsY!?ASvsVU*yz6q%+GJlbss2SbO18;QlAnz;Bfiq`gC z{0V)?womLx4^v&k#FHzfJN9X}j3dLP*b6K;am>5WG|LG79*pPjiU#^XG2U0ca<@Gg z41cD-H~o{Wk)v-2Lr!MHX=^G+Pxv<@K$A$Eqc0onW(_8rw&y7#?%xdoR3aSGY5TC` z!&*;Un1tR;bA}}R>uWuX^)s0qDn1ovig3BNJ7Wym9kQF**} zw^v}igU;|fSoz4Fo3tCX!Md;j(dNam|I25js&J|c&FT03(Anhlxy76C_-)tmLrYGR ziq^bjQGaYiIEZ3;X4z4D`(>+xE>(I7#*+k*diN!-j%dwS$lhb*W`s71{{zhPF)r;H z{SUFf&qpmLhl*`I$!n_;0Sz8wyjc%@+dm%@dEY{l{R6f(pPmkXhfC4lH88~s2w7Qh zT*Q5h)qohY>|`OktoysvOtV$;o0g9c%1Z)dB`eZP@3h+NajWG9j8h%;1{s%$>Uc0} zj&`}d^@h+FnK*lHEX4jKM;-QC1%N63c<&EVqP{SPIP0XXGbfYr7DWzsxaotfnY33< zRD5VPw#$4JkNGyFZ5U<*5(0imotWOC{Y9d^TRc0YI=x62Xk;UZx*DmIx^=+7n+wIYnWPDE&L;`ZOyBDdpld4#G)3uGf zGA~5bI^xcE6&ZV}#$2cLXajB-*&df*vGhpPvY_z=Ff6s2BGN`SP84KUGSF~&ETph1 z1=?diSUV)n-+fs{y(9ffy>j&ESdfgWKrSump<n~ho}tZd?tzBHc)r(P*F#XAeMQIbp}Vy4mJmK)`WpAf@lHi*a5Wl>SqIaOYv zTs?1mJ#UtQh@;y zd({(1s%#DSP+`Dh7_w;{2?h{7tgP5eQGmw^8spyr%yu7%C)OS(MFu@qS62W4KmbWZ zK~(b*yVw(pCUts5aaV6<)4s%1w7C4C%vIet;3R9O0>TvwaN#QKa@|(9Sf4~0?I`BM zDi-}1;$j5MT{kZtcx;yrT=2`1#6V65GR`MA)#dE|V++~CF%+vVzD*kOLT6_RBuXyY zO>YryPsO+Ty%<5d`WBZ8@&AGQ1bi_Ab; zJWD#ccCJ)w{b{?~O*bf*!~MQBAL{vSmcfnb^(&$9k9VWBAJ+Ez!@UOawzoH8Xj+~$ zy3K(m;aNT4y+4Tz#4cAx{N$31w-wS@!VH7JldhbWZKl?kCTK;zp-EM54%srwlG+H5% z3UL){T?}n{jC|KP>u(-pDoc3Ry=6?sCa=hZ=Plnr*r)lq-k+}o1c zaI$A376ZO`7V+=t@h^^t^I-Ppqd!9^wq=B^Bc=|YoRhtFm<$nEtc9E*atPwMT_#dK zUS?zQ?IR_`+Q7Ub3}4ODU>Ro5_V$#-AyGtS@S47l2C+s5_$&4eE)PqTgWXwCXp|q% z4L93J1aS0lhaplWdHapE% zCWB%-dF`be`OfyxvTlcYxC2_*AG#j-8Bu(b`Q=u+voXxu-CDX^?3?*>af9WKRy;7) zD&npbvCUe|+JrrOIV||%ISt0kV`gAn5WqdjD=2KE@sJrI%))S=Rbe&Vk+szN7wu7B zTx#PPN7Y`B_Z(GH>~0ZEvbttV|Ho&(`od3s^1~lE#@m(jVtzXLMU~#ic#+^}`XsT- z;x1i@SA-Ml)4j>dm3Fm_Fbc~zZgLV$6c+M`uzid-9*%BuS1vG~;R@1Z^YS;n!fY-q z$Mi*sW!-d%66;NgWW!3Q7!OcL#a5k*OtS8}D+bqjPCGE3@WRvS?En<};~^ZIU&myu zm~q@=<0weHm>n=)>9RVDs|@3n%LT^sgtrj7N3BhV^iwE?j~O6er4~gD$fizhsra{Q zwfeI$*4d#?y7Ts1wTfsuBikAtI?amMj$xr`7;zJq?K$htH-g+lez6E`HXglf`}~UMrhlXo%<&j*{W-!kSfz+1+iy zM$GTn@7USoi_6XA?j5>0yvrJwOEK+w%ZFN#MsSbkYs>J9=^172dMv7kL22K(1*>9g z0#~IlP%!^s$!ZulxPB%}qFpK8h0U$X%4-Map0@cJ#v)?5!5#vC7bHtD%wzgRU$7)g zPqGKz@%M*A!E8Z}**#*5c^$BRfPVp2v#_{|a2WoN1wOs$`m^!OqLkuyAtzb)Ap-Z0 zXgbqnMF1lhFL^44U~IqQ73silN!oE0fi9k+9-%Pwj-jwO!;A1c2gQ6xf4}wCTlMwz z(U10e%)@N_Dl)dfcxZ;Mc^7g2;wDGDn)e7p!}zS~ z{zuf8&VLTZ`}kvwH*2PEY>{GW{!1E(?9zEa!bV|IR5B0CLr}qE{;lA zk_h6j5E{;T!B|h2y$w-R>%DD8HAZ#Jg%Hdkv}tH*VfShba0V>#4j8dVi*^l{tRSU` z*yh6gw6@R*dCRMl*7Ct-GI4HOl8cC$-XQ+nqetj+kOHPJKqeDs zD3c-;Pch{Pbs7jpC9&?zju0cPLyV`{KFd2>Yr|bkRxkibjfyO2vF-%XR%*BM2`iw< z)tkxIFa6UbLx?a)P7aCNaBxJKk$#irng^ncjp{iOtq;DWmf~?H>L5jtNDJ*`_xk#D zaBbDQlL+(Od~zR&r~Sf(FaQ|0GjRg-;?n$7apef&P@=B$-ZRof#VV1tb~`K^eLWPy z&;pOV)ft2;QjZIm3V8wQ5J6Iiw}FqsS9w=~VWfy?X=ll4JM)kL;%Bgn;M%u5;@%7$ z!2e8UCbYJ-h4*=(=r4;bUg`{8o?eL3e zQ*mV^va@Sg2hN^%ZETn*X*E`sKTYC`qm}H*#WB+FPa_B-1F#6w*&C?2aOb_u!cM@E za1~)OG!c)hmfv9;a0fb&^~|6#>>S&O)ay8c(4y4=hu$=;T%q-SI+!$|>S}WQ$hh2Y zJjsqwwJ_BSixn|Hk}0ii{piuOcm0+Ox4pD=PLifj!`@v>x*y`fYphI{jwRQ(aSmU; zHahd+)41c9T`}IPVNhz`O*#;v+!YnE5@{zHYYC`0O92pPs`P{!MT7- z>(DxH#FbP5fs-B`N4HcOc!yFXlOY$#c(cU z3&X<-UvoB)a_Fc>nMyI+>jMYIH?qis3|8|&J-mG}mr}k>m8YMXWb2z-+5Ov!=T4@; zkT=H5Z9fkBKZZ_KwCXclkYr#D*X)3?*#lGN2LIVTz>&@%$X}-R`v;lGJTTvkN*)|h zevB{Y5Lx>qV)30HX}SzR%^6lN1}q?O><3($EhJQFZQR~3WROyX{l z_4Uz&6=y66arhk|ie>Y3vb|T&MiH#~Ve1uL6MErnZZ4ay?@TE=O8O)$B8GM_qAKep znc>FeN`KrNHY$tKTjrv$RH`cYupIG2>;1VO|B*}WKlG7%#_wrQ4l*~umwr}4XbnI4%F2M;rh z3GDQE7}y>hGmKYSrQTih9rsJ4xL%!?MB#)@Sc7|LeRrd<7E`RH#W0WQ5Rj_3wO4B| zGUnPFe?yEHIBI*{I$`d%Sx?A*$xx0bC~L4?8B~M36XPvHl9*p1AIvJxVAzbi0aB)$0QXMXM_vi3D2??cfpP(j)IUlYRt#w%Td$+tAYf_0tsl*YGW zX%rYQdkZNsTjLE2af{Eu^DOXkYf=QlPcMdJO1YLkrIobqrPP>1od z+lJ4&(eb?Y1d4REzP8RiZJ^yn3+`E)uv4X{U0X4RBe=#JMzieorOOBd%E1y`p>9cX z!S6ddtzas?Tt%z&cRtII1gqt>cVT311`T-?Tn z;CA*ZJbDnb>An7@xRm4c$jPqxnI-Ei^G-b>ii~mH(Z^fYwv)HsS{pt2y~k_XE#SX- z6#NCmGRZoedLu!7#KYzaYjI=0i^C8EuT-IsOPbVM-T8L1!@?G^lWefw(%`ld6tQ5a zB)=^&AiFz=A!K-OX}P(xu+)SNinxGbl^5^nf4&wmT2&$5J^rbLSH;a!=Srv%TSz*> z5$k%+7-A#GRQKMgd}h%pv8@XW)Y6Ihxyep%w6(pl7o8Xi{9@WG8!pdZ&{0Jv0*KnV zbOssP!_A0=?9C*h^Xwbe{X zImW#&#+Uj%#z~2&yoovfKrmhqOslKO_keVNjZ)x@<{U+qYJEXCBNW`!W5RsuYRJL8YhPBIru=?ZvxDnZs5q&{sKU`np5#(9_4}AZr zOHV&{^qw*E5aShfP#GiStj{Zk%SGV}%%}9S;REBrrZApS$VxBbHzr5**M1*b6X-mM z&~vy*!>_0?Zn7i|aq@O}a9Ak91k+w6J!!|8`AOh0U8d4GyskBg+ z^_w+DxG}__f7fBM#X^XfDk1XrPvHz0J=Yhz+zp!MmTSU{x8BHy8(Zb+POMwLi`tlB zqymEnS&Dp;&a)5#`vuK@#d+$QaRfvrI0((iA#YtKDky5Q9)JkI%+Q<)#q&bW1mzg= z_2BSbka3YKjKBcQgo8uY)LQ`rL)Q{uYyWzJCgUoRv3Oejh0i8d5N(2iX^6u$)Akni zoZtmp3t{X*Fh#687u6RV$%yH4XsaV$OlesHM8&Ut;cK`;z_f!O;g%SrW0)t`=i8Cc zpg<;-dOeGbwMe|AG~W$v7;C(3fA~Kv2O}N^TwE#jZtK?oX|@gJ8{Gb$G>Ld4rFW;yCZM7K^+LSzF*tEN;#elbyX#r=iSsmrO2u%u zPM=}!G)el`ZseV3p98&cVgBBE^HP58m;Y(DbL~d$#v3>D7e4+%x^#HX8p=&U6InTB zFdq3kV~FdU!$&6wv`V(UNjJ*SVSWyq&kA&NEf(UW^vnzL!1hYh%UAMhr`8d$C(`Ei zV5f`=W|P}*C+`Wza_w$bUY;M+j;~B*SZGXhE;Aghm33yquzUGr>nb*u8Q{0Ct(e&*|*jfAz5%YzlMUnYd|0cxz7MCj~?DC zLJ7gJLBN?OrF7A(?{KgfFjKhbo0e|8;eu7A+DpdYNfC?f(Q@Lm`yNp_%tjs2X|Kqo zpwJ-4Rocl<&pC`73XuODJ&FvqTZ4}@2g%>dc6Lv*)E!DJG$)~jc?9gP-VL{Kk%(K# zG&0rhG1IFyTFJKLUia_ia{S~AtU~HGoDapbUhW; z&f3lI%F;qI|5Kl6wV!+90-0^oRAhR79Yh-eVqs-*l3Y+w&VVqi<+zuK69&kih;eO} zguK0N7~Qtp;0lGPPmB3)b#MyMb3W=62VD*Ks!RsyG(V*goQNsx!cr+nkvryVpEhTU zd-_>_U-R$r@wf$k&s*T$?x?r2Sot*te^ZQST*^w5-ZN|wAEmdDKrmh&u}W-8@^AqZ zHp2*y0gj00El_GM*q8TUJnP59QU6Ho-II1$|3skrgM+;`ePF$a`DPApuM&SHj#1z#9%H|q7g(Vk(vsHZq9#VsN8Y;4oW%J`eV_NJ_%tlKSw%~lh} z6W66^Aksjg;bvRhJF~5qEw_Rk1gJcI#1$}tum>i4?TfdIH8|n{hHD@qfrt<@T3kE{ zK`d%awu&r!s=AmJk0EKprMuPIhuSmQ;c(1uvf;cENv&{re) zHxf#Lm)1dxk#=Onh5aa}vf_r$A#bOI^TD}bqz(1SX<-i zZ^@M0VIOqCHLT`}b>|L&eWrLtUC(pp=(sw4gWJGylKd?;YiB(7dE@mGRqG>zEe1kq z*Y4*cr2WyLr#z>?cuqtV-@X`pU-PxKy&#cefJJ4+BZ2YK?OH?q6ew`x~kSIy|*g) z)qHKBJP~CgYi}TBm?0P>hnXkvZeAIWCc30pKXdZLi{^~`Q@P-3yf*a;wso&J>ISZj zBYtutujZ^)``aTJkHu}4U1Je>7dnevIR<)hX$%QR7}a}Mj$-gd-IIKuE#huFu);tL z_lww@NaBOoOIAIf%5E9~00(~03VP(HHsX{qtINUH{;I&Q9KXg7$BD9nbqwO@JCE_~ zhd=-M>mLzp@bB&J?wuA-aEP##EI#S&YcO25R*NqjU?gzqie5 zZ=pqvYK9bQ2ybe#AxU>-M-jy+oeHj~|0Zxzd4~vP!6rR0nNATgW-@AAQpdvD#t^9| ztFg3lVmu-eXI9}M-_(osDcPnj5?fRs+}r7D^5QG)H;dQe(eZ@@EXl`y_;Kz!7$H>q`tpq4HqVNl zEHK_|%!DM*PddkfGdTtCX*MIK_&*iUp3#N-N!G3LVE3%MuN5Uc{_!ohz+)osTWqRN z)3SbQ-1}U$-o9!hOSNiKWvTN!I4|0VJhT{Mrf?_BQ_gqk#dbNgUjad8#&Gd@Um6xq zH4(B>yB_hg-Z4Xaq&~3_RGW>g(yrGQPm2p`_dK?Ni;T3x2fL!fN7w;^SV5t63~5pT zyGP0>KDr9w6hDhUEf&Q+F(D3Bm=jtF)jq!;mpSPMI&ASfD4-81Xf{oi`iVkE#Z%clt9Jl$e}uNw8^E9o>W^Avyx z^wJaqLGU?O7G^A5YRk*Y*xJs4IpIOs4n-Y<)Y}%{E^w^uRjKT2Da*usla)DeN>UeP z=7Q7H!^Z0x2QH34(2U`$%WdS3;ZbjhYbCg}jF2|umFeD~s$5Y}n?k@&&MN)8;&?k* z-+gxX$Y-QW_)#RxyaqmR+c0lMzl7<*S{XS)$;gK~sL&?HK@dyhTRLyizp2BHT8}To zC)>csl3*E6S?@KN5tfP6H6Gt*j(MiI&krS7)Uz90WDhC#c@|Z!)pndy33Wlm(iwkkT&irzF@2NlhOdGyK{_*Ll zNI($rWFnT{2#IHnE*+uVnhf)7Q{YP(A@X_LfB0fNxM}5Y#-JTp9_=a$GlQvEkPT#B zTJAP?q~SxA3NU?jwKlrGTCXh3jmoEwR7;Cp+lfY&_V*%7GmIQ9VjYcON4@?u-&mW? zOu}l~>j7lQziw+xAuwi1wmTgR_+64OOz3jvu%4kU;fEwS;o74l*$6Ryd72F009&_^ zXdP{N&g>EYHlIb*)%dQD0aIujfs)2RmMbM5chO4BHYR&x&cLs*EPKm1<9`}H^x{&< z-K(Y*ERfqDJp$^dfb4s}Pr|}7z{hv&c=gjiRZAY6`IrDXKMQm|k?ih9`bE65WtB68 zU1eKR3vT#GH-j;`c{3PJu>idtx!xP(J6rc}Z~`m!`st`yuT;j(*fiO`=oW!QXW1ra z+fZFWi_{#0=r(D4J>3R>9D7Q|}FKtTI_< zB>m2zat=Ss3-hCu|LRX{H=lpTTbEdG0 z%aM8CN_$9=E{nbqj=h?GN@o^|@BNb=4{_-d4I}b8MKCjgqn$j#&ZW^Dyy}swWH@2ihBl>w!N(p zFMYqa#Wam#6^7JEt1bBEJ<5~)xe{0{o?jd+bAs$LWijrd0w~9-7~&~tsi>n%i>qUi zepD136o9z0dCZuY#MaTI56c~zQo;P&GiE15T4cK@))pV*>G3ZnYy9SGnEdAd{dU?z zklEnVRe?`)<#NO|h8Ib%@C=0UV(X`sD>lKwG*(^9h&~h($)S^=wO!tu+;W4YKti&d zWJ=!~78X(qhudky#S8hz!;vmQk9loBlN#$OnIa>}hNWywJ6)Ay3ZhUqIZV0ZjtU%1 zA(&K=ei0=`d@Hbm|Da@PvGhb%UU<|y1_c5Hh2 zYQHCVnaq^d-LsnFyW;r%x7T-HePQ`CVE&I%?9GGf=dBp?h=fZ><1=14I&Q?xa!{5; zJr43&PSgCnp?6ac9o25!S}WW37)$i+PdTq)BD{s*4x{Y8@U6-zZZyJJ(`Tg{+UJn< zi3@E&dQZ)=r));n-3R0416FRYS{KfE*jb$pV`%hQ5#w@}UNH=oSa>c5Ia-`Rse0sP zW2SCcc6i$awy+yXulpQ<$4!EEl6jQEF;Rkt8gCg@=MSRYj0#Zrd)Q=pI*U$t#Q>-!eDX%`5xN zRPe$4kc=EMVaya0QP((>9})@1d*_J$2%N7czoQuMGoN|2_UpfX?PGF-{VaL<1d^8G z5(!7X=%cayX**;=BntuVlC{lYtQasJXRumX_=L&M=H2bCj_QrdNwZ4%8nNTG6=^7@ zBD@4vtu*;_y3b)hfLQ z_jbF+P0|1RrwVx%*L3G=qaXSsPj8<*FF<{%#L+N2MYj_3=$YUK9Kp3A_~E=vR@zb# zZ_l>{k*@M_jTfZ2LdGq7O3)ADCh#^ar`O=co~D5D65&`_cY0Z440TxAHpXJV7SAYT zw4X3uL0uRc(~U~4e!;2VEG~Hb<6CZl7$lF6Z>xx2-b|E34QpVc{05F*q?9* zUsC6UT^1f4-GP{}0Y5kuWrcY!P#A?qoqP@!@EaY2LB9R+tLcbaZNbvHyb-~eEkI$A zM}Vbl^pg4RL5;iv5Y-YZj}}Nw0vcO^VoPGdj0RJnYdUG1JZinfhagy@GP2KRS&(=% zw_!0=UFr&-x={dIE-zWSu?5G-r6gux^{6l*v3K4H!x2?xl5X=&Qu$vx_)H=U-=}F; z=quTB3(Gz4#mb1iIwO^t2~xDO4ZQEwuXg&7;XpQy$^A{SLYc*lLT`tR*^AYw2l3m*tAQ(@N{D;2yHpQ z88ObZY&gm;w%R~jS~+KQgw9P*MY{3A0w-jCRR?i(txHwsY+8BUAUUo4@AHr8WB{}n zEyXylApKq`)#~#|tCpqldDu%}x4dJVTrwQbD`1C3*(Ip`Sqn{A<-N(OFG%zu;PEQL znl@Ryw1UWs%~<&o9qeh>B0pky3f7D$hQ==#`kZOfHL5Z&DUFzY6Z*?LrAGZD+JO;N zeyw);%y|Ga89!Lh!fLb9YL{e(&dZC-X}LX%-Iw)y$;K~#HpyQ5iY(Cma=7DEYPDKK zF23=~jn>BP&E)JKd}4Uwg|o1}1~Pa{?anCaNq!>AbUw8wtT(2mPP;6UNmAbHS?^4r zlV`H&rMLIWou=4~^l{_qd|qZy+LAnFvnM^@Fvv>uPHR+~?_{H!_tNp|dW}21bOL7j zk;8f8$oyE0LX@}*2f?Kv3b~jY+M$h)JQ%D4ZA6V$!6s`WB-0j*Ba;lvtmU5gZq3r> zrf|->DejwT#jP7;TP1x$afDy_YzQD?A$Ye-bhT@c&07Zj8TFfOU`GJ5g_v3T^=|9t$t{nbj)a`#Y9cL%(80lxnF|bCgEW=e;FOk( zzamrKq*TjfFF%m!`_~k|!U{8MwFWXX1LNl5dk>vgJ#;8p`Lmy_HJ*N=%aY|yjz^K* z#CR-u_W288yDH6C-RUrF|mo$ zfngOG!zL}=@$PrL8grc}TL$YQ25mg4ILwyF*jF6hJ2|ue`SGvEE%1J{KrXWFed7L$ z%q2cy{D#k)VHs;v>}^Oq1Ja=Me<&`p)25<;;>9K3us$*VS#Lz(@x&%>)S7FIn{zd( z$0Zr;k8SjZRql1wRar5cg71fyL4ony7-ZbLkEqGlA0ewlTttEhY*OfID46^!_JA?3 zqSnqM5X7B(cL7cvYy#ti__f4~hm!{sb3&L9V=*}$+5%|<6g>L6LEnFagVHa5^R@fw zJ#LA`K~~gR+F{?sH#Ykt_b*Gp?ux*D`$r^|;1(N@jenrVM?i!tBElr~Zj(btI|atu z*a-2CwCL0_F2}+5MX^Dqr8{EZMfF%lWxbt|C>vy@G8PUsi|Zs1h+F0DNOKM$#hU~< zi13RObYIbaRc_0%))8Vtt8mvvIAR<_Zbmz5Z|qF6wAfTncvYKmlLQmeTAP(rD7T~F z(R6zFpa1iV$NtD4dG@;i<9#~&FKU06)m-Bm{^%#Y2#n`lv@Igfn>qwn6Gr4|I-)i8 zpCx3|Rl>|%q%^ds<>y=#OHn}myT-#z9=m~W;03<2EXjOZF1>DDIPJRcQz&isOwk&{ z)KM`XUJ*BOUW2vZujhRi>q|$;a9w)dy*rAz1hqWtw{Uy;o7#4U@zV5FK;uK|Vlbs0 zEsZ=#E*Yz*J*%y(STi0(_E<{Y3#uB!cuoHy0Ame91SX|B48A@RD_JDQSUJ)<9~PWD zTYFi|4*okBn4P;DAdEgR>_tL+GO|QhM$L9R+gRI8W!SC7crzK21!Hi2u`xz&BUL?@?S9~eh{Xpx zZ+YjKvk_yjSc~^q`O5{*yEa4SYV>Zsr=HDzZ!nE;MUi3J;SB;qBXUbYgra1V=$Ac6!ZxS!T2BPiPB>=;0hYn2tpgnS&^-{78Mi+aGNA zVsUwRRIAmI_#RmK1~9-^f@K8%q@BU$UU#^)TOIB6VC0YQD8sIyqgZb^g9!!*0QAj@*@w6S19 zcu2gtspJ-9i28aC$t!Y3FO~&_B%%)C7g#(EH{GavxZB2|vaFO+WffhW?{Kf}iiyxh ztZ=QBvQ3~G>q(dsYKxqNrgt6oegCTz*$U#6m(5Jh{)a85pc5^9~vZsANTFg z`}ct#Ydbr;hn8Bur1qaIUS2E1xlc05xu@Mj(ED2KylHl&0g-66ON8`s>&c7W5gV~T zA82P~-n(CI*3Rs|l-Fftm5pAK9pZV5Anj~q#5D3pqqmV}0nl`Fp%}aed{`Fix=P3Mo;CPz>aj4QZ<5Lb8<;zMTPzYRv-G7Q8}6$wQ}=(LqGVdt zL#2F;>E$je=)>5PaPfH{3B^!OKA8$5D_G@K<^ZRnz5vN>{k0r}WZD<{!#FleV~c~X zV(or3Zc%TRcsu{{U*x6V{SDb?IhIc*)%N0C+JCTB3vGU9u_M0YVD#Frf3cw`T0hc)vC1#tWs66RCeQ(bzUSw5W*Ov=CxN2=h^zksN7+Kn%9_dk~-6D1KHda zbfuMc8rrGZlZ-{6jD9_=R7=MX4>A@3d2g?hL`=xR&C1rDdx%3pHkP{m?u8?rN{0n$ zu<-l>#QW&jtxZ`KZnIPkOH=V(+WqOqgTkV2y1Ucjvt*`&9p_Im1oqitoEVK^NXRW5*E zu^!FFU&_xV5rd^P7r{}?X#QB~YF5r}SA}>%OYPXA(as9MyMF+%)z!w4qsd_P%E5Q< z$M5_9{h#Yjs@=c9j_ywzMv=^+%c4?f6al|?x$!qz{k$_L2q-Xp_b$*pVecF5g%ECa zt0j|Yx_Mtr1;&p|8f{Yfy-g>TVaBZ@ts|tdai)YIDSi^3q>3!WA&AT3jT*QOjm?yj zrKXO^8ui+6m+RgLL99Q`ub8T{wLJocic3ej3$1={d+#B}i$QLC598Ix zk?;YFAfAvJyWHOCZ|!x(!>jIX%UVsS&M;O0htQG8rFCb!unc?8a~}R_-o>yvQin_xPmjl?I?u7r3l);&7{x0_n>M^R(nP(17qBkmAwowCISM&# z$yLt!qbAA{pS<4q@B?JrcQ^;3zVWS+2c@(02sJ2dR)-!&NT&V$|E6HCos z@}i%NcGBuq%0Y?E@_Swr#?v!mPEYp6SIX`1$gEs~I*xnw7iouL;jrg1Ucv%z7#Od5 zrYJ>|`MRvnU*cZ)yqBkd<@*PrYnQjVJMUvW)JBrr^ZYTI=z?~Rfi)Wxp3O6S6*8a5 zdW^g(TqwoDiDr*sn>^sua>r`-oKZIO&X@?xQAu7_&iAQTV2>DDYq~ku;}82xmntbk zDa@UUxaG!M`BlT?lzWVo@@=qgS>3@eS~RAXvJNBI3i3UlUuhS(oqKrlm6vbkm#?f# z5?W+euFgqpw{@?F*qJ7CE3KrzJ0AV+|Mhn5%2)5^-~XRIUGE<12nvqmkKykvBU>!| z#$iaF5en@v@0??^!9{x{Ryrax-wvQPZ6+IHuyt8VwwUOTtKCYkZ*3oh+ax@(wA>!- z4JOry@5q`ixp#l3vT=VGB$YL)Q}0W7(`nj=n6t<;V=~J-tR9&KmbYUF560t8vt91X z^eoLY-R@x8LQ-nuw0UHu0|HL_Yxj0m?#u$_GLZwbkPlB;KCD6!87N`88P4U zA%*R0-ZCcNAqo%}kF~PhP;^>xgu=X@9L;+no(}rkRj?f=s%J&2oGWCB_t!A1=Jf5n zBAf=qZLFMB&jRDQH^yFd(7txmxhu26-=ClVLXYdVLffIx}KUZA-EdO>OQoqKd^_jq3{eGbpU1-oMf0jEA~g88!~PPM9RZA zWor=0SIA+V=OXP~xSLNG4z((O=ntQ%A3KG^MXnN}T)kw!cP?CZ zT@(0Iqw6!#xv;1gVrfurWR5O~J)dE`?6}p)`RJk8sqe3r?j<9S_YcOuqsT<;{qbG8_zQd)xhLx=l{SOtE+@A6=G%Q3$?3EkT4i^WKtY@aUay zV}2D-PRTTi(ol<$VsF)p{PNs87*Q_Gi{IBr_@S$|#h;CO zY1h)6wXfeROZ-m!h}DS`EUHXGvHIhh8%YH0MX8kOZ{wb{)Fqqa9@ms7`9QiTh!VbF zCSDqsf5`nmUzG6y|M;`U_AmE`FR?OvLtUR%9dD2eY>{6V;Nq~q;WAmyY|z8C#K?U? zV+S`pVV3`z_zy*3THjS=F*{$)v%c=-Hc-CE+U*e4_;F3RtPf{{(}f1?A(7M!;}pAD zdK;ui2xW^#$94VjMA0PCaHUcJ1FGZ7$;c_@^9=JlWub#ND?0}6Q?4&838Op%@N1G? z#MZ|390DS)5#v7BozkD-fpe);50<$CC}3U7mA8<5PwKUpnA@dVLp8Xdl=40CI<`xl z?vc^PjeKSCpLk56(2KDzp|8KI|=YKWH4lh*7+}&$+Ywgxqx+8bVjeZfS4Wu5d@{5BTj4 zhV8BUTY0tHm^4qXj4Frbn&mND0(24IjBdTHLWUJ*?t?5aj#Ir7N-4L3BK$&?F4ep)|1W9sW|``&WCRT|{4!mw>6%NCNI z(pQF57NGBee={opAKU_imzJ=NeT#fICK^~OlWj@T6?t_^Q)aRymS6cb!{A;_b9C>x zUIiov?;ps!^Rqv-vRH2Z?QAsoC>gfIy*|iLL{!==jR&}U-Z5g`hgYmjwNol@LGKw| zBlpEM+@h+T-|KCRWn-pv$L)zoz%6N11<(W^wh)9Hjn)Y))CcdvR+5`n#v%Z~4HIRJ z9qnnYU?0r#vNu}a6_ZE~Ve&s_i>A_mAzxir6H_!V*C+S4%nd#FNJkY90T^q?R>liI z`D0h>=g+X3je(s!=~f!oc#ZvNFHk4h+zeO2ST4A_Se_$es{q$Q)CAd9WVH?J$FSTIE3J6rxHm`;)>vAbZ&wG`pgYorps}}Lc0znJ#%<@JHz^N~ILxdazGR|J(9$jEOFCIk2`AQ?Kv7v)X z`Jx6qWDW?K5g3o9PBFxT?2PXbYS6XzecO8Qw0jnH+I1`Z4C94_7X&2y1Ei8YsUCsZ zioI!!MePbkN~}@hmdlbb%0?>e>YJ~*)rz%`@p6QuLg0o|u@o97m(-ckD?RBRb0~RB zpFHVleJ{FApKs4FWf@r6G!%h%U-ljElr6l0HLU-jmztJ!OBt|bdA?aI#j zo^VIi2^ZONGvaqog<0I(i}2%>`9rPrzLK}b2IrH4%$@l!&1@09w0e~z7o|ufh zFQ%pbUY^g(F%@wZ)wkO0mUgW9HH2!dGGU!AYMNvmy?$?69gc=Ab84?Pkwgw??F}Yq znyl2rDoLOt7IfYQhEjXWAwsT=pv#+c)rt8s>dw`gEbl1d@)|<5SaXH%kT9+^Za1sp zMqbE^=qha)?L64r?8O%H3~9EdA+Ln2^7p7%or_r#JHvw9i|8)v=D}(3@R@yRp^MWk z^wO)^yNwh+qRdm~y`jYVvXo1T!7}gQh-6qu9vcl9Z-xnsjTPc#feaI`okgLnz^3gr zwYz892M8RO1`}lA`-ky9^O-NM*v|cJ7Iz=zp1OoorBFl$3-M{&io2ikPKw<`DG1!D z_?p6_2ke1jxF8!d^IZSOtX=Ce)PjduRr`yvR2DVaZxxJl7WjKITUJGdaSNvcA0|MAtz_L>m_+`y~XZ*ox!t{n)vy zM~-)TE{}4abVY1ZLY@Zft0UILy9`m6Z`gKURfVv~Jm=a5D+tz|d9-^>$S}!yA|PH= zfhLJdQ7$23_S*noWZpgPA~BDPl_=_3gg$b=okCdOPES}L4y%Q(kL_QKkMx$;j+lFo zF<#Ng-`s1$5^sOrv}I3UUX=-p$#kn5%1Ilw>RxYHpA1Ho^?O@Q zQYf?{!EBR_hN+PpfNC~RW8X7P?%udpE2QkduP$(qoI?;#>~72kKLU2yK$SvMLlKJ7 z_eBA9zP_M%9@af1c5$*08D?Zz(9)P`eg?h(S3s!03x+1<^8PXVk^BZr za~|liY@kyy`JxVCk-|D@lJD%!=79QDy6n%kd!=waMDU0}-9^?2+qHj0*4x;g2018F zZYd4YF5WfXQ|@_*!qGseuZXc16~=UU|Fm+9rBvTKytCP?EXz+atpM=mi%8UeiD&>DLN$1{^sGSAiIn)o-*7kvsKA#_6@KYNpq-IKgw z!TYUxtNfJl85-1R;}K+k1L<~l|CL$gg_YLi3j%=vXn9;mw;$Jy#ls4|4%L^I0{kuL z-S5%%H?R!P6!(XgsZ_pbJ8?nhUUlDD*Nab559_t9iKJ8hPG*U5va<@Dv#V!dL2Vr1ka-k@zL4)~5BRo{m+U{*ede z7hldx|Kb-*EbfxV3F}fgfec3FMz^&!*x57alIGmug?x8?HyPa9Oxm4Ju;at4zx!7G z-sL;V6F>ZivXf6P3j`-9@jwP->Pb_`HRe&RW!D1n(fFq{v*}z%CK;P0%3I&EQ&Et!E zwS{(@m1?oj(iqlr=|k|2<0P`4wxvhh-5g3rQ%`mtz>lN`kZt+|S=RynMtQULW@&Hq zRey)!?itdF_TBEFOao`|X!`)=hKkPNNu}@xo7xYXoz4}>3~pegM$E0MX3IMuFYZwg zDRR%0BOdobL6k=gU_5T4s>0nC@K2A1;VYVc1HcapuHW+`7Y}b(Uid-S<5Q*K@EqXM zg*4H`s`Fs2&BrQCQ}*)qoULirD(!BKrlSF~M__q?t!^_gynSnq&||8RA>bl}K%Q@I zQonOZ;p!c`Yg5fz#}Vs=MoRk3DP=$`Auci8O?$5{1g zPby{4EiRY|>)A(T)K4EvmjBB?mRC=o;4fZ&Hn5fA39@LV$siGy!6kT3#@t4)mEoEZOzvO z8BJ@`;j}8bLS06{%Erwd@fJuO%1(7LxJgKdG5!$aA+3_zm)C0*)?DB0C~gW6XOdV& z0*HkSB_fNBnh&wr3izZ}#l^*suPe@GFR2vUv%qGq4Uvs-D>mw~8^)&38d->$16dQ| z1YY|F7|$866S!-3kims^*XkH60Cm4fQN8n{J-W-=&?_PvwSzKw#3ni`{E4dq7j(Hu9H#dh76Do~>@d(rukwQEv zt5OoHpGU{MXkIWLrFL2N&7wXbikj{EL{hl|-+!TWfvbZMzQ7z&voc2%>}Y0#lfE1hB*duI<-mnIRyW%sF9Ly)<$~E?6;r6OCjpos07DO=q zwkoqxq@gbV7MIVbbUW1#YEzoDIH7%!~FOZi0v$pwX7)y`-Avr|C`!FZOhXZ6$DiEi`#EyPj_ zmRmFygNS9pmu{=;6EVzOb5*&g4b4bGv2NknG_s$tUX7LahD0bYL<~nH)b!ZN`5+FF zwOMlc?Fac6zkIti=APX+f}bMfe0zVo1$Y_0b>Rn)`fb@=*k z->lzydp-FBKXM^)jKKN;06+jqL_t(L@$4ac6M8(PpgO3Fk!T&{md&5l;2q~(%-tCO zJRDHf2DvO&S*6wSUegX{a#|k_^4*>Ocy7{z@wWGx9Cb&HZnYB#%LG8IbGr;<5x{%& zU{a+>s5BbY!NPKLui34&WgsioZ~Lvf9QE9P)3FS^nfavbY#1^0Sf!d{TFNvrnF5Q8 zE1izGA-@TmebxNtlsi46Pa{@nkbg{K3uzSb_lg@$!LIMc$;&_N8RTKQhAq9}>Vo@n z{_8LvfpAX`9c+P-Ot1#%svMpu`7!hSq@Lkw<-bzCVUoWu7%$@CwOZ*9s{5zN>~lIn zoeBeIuJeO-#A_!&_r%wXZEI`Tho;5M3xk%bz7>7>vs; zHj#nxqIKhl28_=pMMPUM?g7c-yF!K*Ctb<9FAbtt-;#FkKD3kVXCoIp?cVhJ`T8r#*6xML@-Ny?|2T-nk32s<0vyEhh*27& zGWJ{n=zxN8wSIVE)W5$OgZUdDW&{_huuB$Hsl@jZ{bdaakzrx<%Tp*(3zUSEfFEX{ zWM3Z4W^NQ6i7SH63U%1K9~E^8`5cQ=M0v3aBkn>h`akx+akp6%X|oS3?;b6|bq|FI zLZFz6A-Ef1PQvi*;99R8q-6m<4dq{l8d|M9EHdQ+t3^XVvCwVNs-U+XV<{7^a9lBLkL8V%5SWoMOCv8kIllMb{ke}d zKlSsUKWM`b^7rogdav3#^h*+Z{3Vi@wRZYOLC0z%eB_5nZ-j!^6PXTkcX03($ifu+ zI)HRcPrW7pc+2|{%%!7RcV_;rcWi*xfS0pwjCdv249GnZOX_K($n;l?L)TZe-&u~c zs{+K{h9RHzNFycn)QPN}6vW&o5OZtVHGp9-yck<$a{q&9EKHR%Mw+j)6^z#v-$gvH zx#$`IYQt_|4O}V)jR|&(!^0tUEwpZVrEvq<_WgR8>b@kHdDZjvSG{q)_T;lC#QIZv zMr&`sJ}Lc^e`MC~=8bbFO`n)}xZTBWd2e&K+h_}eREFIi?1beNbA!&_;K9Zmx6^v} z_>p9HZ7sR@D_5TCx6PQ+_3(m=2ZQ9`TGft~4@|fI5Y>c#38?gq( zQ<}Zya=)~*dnemn@9U5iu0L1A6?$>8i!`c3lH9i-dt&@u-TifCoi(CwC+MyNARohFe()``IS&;pjJuIne z+DOoA8yw=NhytGHZ{mF(pr!;jGK&i_A9%hOk({@ZZC zZS#n>a!Qk1qM1#$rAG$S@1T2|Ar z&nciRVyuwhTw`ZJ$!!XY-Z-reC(N`V$2&pg6!W7X>;gKNW7VZo zbEA#b-a9MeH>eg@P*+P9RYQ)?vPVjy9)3+RGow&bDI}ykOp;2>aCtoJ;ZdB8Id1Bj z$?rNBbs~jeuORA_QcOF`k9w4>+sJ6XENQ@R{8|NUEYNGC4dJ!XGf^@azcT zi{L2geDGB~=iqZlk9ewi9^f@3iXANRKr+*h%0L>{BWXuGz<6n7NkFWyRPjuUh6G|# zd$Mqwl&`+JDlA2)pg78gl=q5WEjw_b<&ub3k-*(18oiRvEi`$Gj_)Vf z&l=1{@rwQisdEuW)Gp`>%Wl*b{$O!fKK`q}`sI&(;u9}^S75x+OaG=<{R1E8UYq|V zy#%f$Z|G;fFQMTqN9;Lkv-l>0eAV|8d1($9FF$8|UDq(jG}LP(ycl0atkiIGG+v7> zdP!`yHRQutEj2M#uW5@t@*FXfh^x$MF&dXL2tq#V_o_K|8GcyQ7fytWEu~~~_twtj<(IFQjnVwbsmOKXf5b|A zv0mC%Orlko?1!9ftFPbGufk9;eI6O@>4n2u4}lBg9o&BKJLWlw(epcwz;^|v(g%QbxbObn z9-sZ}#beSa{&hL%KB_&AvZm`u-V#OtNdGB}m)2>jbE1m->Lg;=74@mJR^~1}t0C9c zg>F5&@#X`0?8f3JR(1x1aYrJZp*YHVRnuurH;T<2+Y_jMI<*lclEv7I-^MwPmh+q) zM~HH9`G7?MvRFVzBU9i9VH<#vRJOr@@gfl<>*R1lj%$cpZnH6G6eh&===(o*>P=w@ zxWWa-D`ZnN9@p9;KBfLoW!cL&b?|GXn%Lo4khlf0C^fM{OJ|kUQ~ps4-#s;L0^{uupRnQ$FObFi z_wRRCR#qNkyy&HG@t6UIZ}H;CmnF&H`k($vYwOJi7e4pdU$1YjZrXpv^fFk<(Dxo_ z_Vmu`W^Mil z9cSOEPqa$VE@~ zPwcQrIN%+Tdm~Pb(b&MMKJ;)V*904?AzqI8>d!}Oe9*@y z;rw4>Febs>|K_FtQ}q!GL)WL-Wy^fAFl%1TJb4Q2qiLJDLVC?q%#OF(-8v`emO8B4g*nb~{Mv`n(IPTa(y-G|$rjRtgRu$(JO1UhviLJl&x8Ccl>e!yB7)ei_kbVf6-;^b(K6&G2nzOrQM0=aX^|ripRYY>&iWg#1Qx$U{tYO*A!X;c|LaMp>^p zJ(o60ZwPO@o$d73lSbvm!8Yrw(YVi!u3VmPCWD<3)$4SZB?r%rY8}usGPQKI*7uC5 z7(ks;jS<1sd!62`^`s_tXY+|u8bG)UjEZ-Sy^6W9LCaR{q)Ya+BJO4P?!0bnpVOkE z_{tuKlqCnARO@KubC&p1Hh+8E32p-bXaiGTOGk){ z<&dOisV(dDHfNOEu{V-Q`4n9rt={bLyxETH;0wQ_*RpBp_#7VfANB z-#=ySo@TVtB&H2PF3GI$kf|c0)asdp7J*z{lObY7PKAa&#^6$` zByFp19gZ7^I)x&;yWbXZI{F^vXFoHX1ds~RZ6b)jqEV2lq0!Jaf+(+TNv@IAAWcm{ zK1R=wlE9eiwg-c|TMhHi6xHUk`^}!Au(+HIZ+z&9WZ@@&v{qf1XHmiOA<17-{>wx- z3%MdLU66UIlg_Ke3B{jRmtDWFI3Hx*c_p<;KPWRMOt?JdD>@kY8f%8|0_D;rj4W3z zB!R4l?wif=*`_Vr@(BvJX4$fNdJ?U1A;yIIOq~cz3zku#D9R7Jlop<4Z)INGO0jbu zACFt$eQJTf^)LTQ>%rCg7k=%3e7U}UJ1q8N_QcNe>mL|I)Y`SJT3Hs#_a5+FOkg%? zToCbZ6ddHLIZEZB%pf&PF|#Em`RoxyE(Kb+p?%*q^j6-hbvuL+DADgwuTaq-MH>p5<(``0+-TqtNl zpAZ5gk|&6Br^VFDk|ZojLEyks;SMN&5_ep>(~xOFM1&R7!1Y0(bQXj@p{C-^BDzFx zD(WbHW>y7v|3B=#d5~S%ecyNYw=cb+(TxVs-2fWf0JCu!(xORfqa{;SN|h;57HL{6 z(Xvyf%PPB)vXWFyRpR&`r(%~aCrY^-(NPqIv?<3n6)CclN+@Z_aE2UU2K&|k8jaq& zU%&m{ckj*Td+zHVU}iYcSSk%|;?Cgpdv`haEWh(R-}75>Ndv&?)l|ES6k@MEiYwJ^ zhZx0k18=La{=ug)>?aHy3ri7~*>1OoP>)`szU-WhWuEE)_(nShXvk4l+~lyhGbkHF z83Xa?1CpwRz&ni6@|1@Ki~t7fn~lajv(D2^bOjlTEnIaO5P8ODc|(Zona5NDE6h@+zfOP08w(5+xR zgcjy`$c6EnVWC90=1x+Vu#&E5^&c>l>PJ%&SQXphLa@`m&`B>NpKYE>sZ!~&WnHzKTVHM*+lz-`6=-`Cz zMS42NUhgo-n3TKLGUv!(pMo(mj7LFWJkSIOjnL!;mxyApO|fIeOjD*)FdnlcNtO}Q zFH0~9K^=y#?PELyL$dHR@81J9{(+j0q&HF67h|eHfJpxV1m6sv6qQ-8o zgitJz+bR47oC0X(vy7=gKZ=au3qm$)3rkGeFP3DK28B`fflY|JhYppj+R&EqD52}j z0n0%gn80>oS-`1(=&qq98rxoG8&k**cUvST!7bXT$pYV42cAx;Hga5%G|Eeu0vkz%+r2i zN!fP@6iI|;Z{A=wJaC33Yrh4?GuE>dp%7BeE&5Ayov#=+C5bZj>VGXFtV?`X-=qk1 zU3Z3c@EGT)GZ+s`T$Zyf-Y0?l0k*}5*eQGE^7s>sN9VkoV{gTNH_v=u-n;XU{>})Y z**=Z#?eqDC+@bkrPNd)doo~H!UucG5snurnyi#J}o16D(d$nIaa zN{EVy@$h}HE2>Nfs4KG1F2Xm{Vs4jvi(=$qRfWADp88|batt_!{FDd9C4G9ZlL;d= z91dtqF1Tv1UBSYJ8rq?}5IA%L;1~2}$|DhmT5alrT2E-xN(xd)BKl%sj{$=4yj}D$ zMJgH+8{_$`pzn>(Mzh(ToT&V+6DNOx{y+jN!JXnEBx@`Hq>R_dko2M-FCv4jvkWaN zt~9Lq97BR@gW2RWCb0Bqu;zNfQMHUQ4;kH?62xNNcwW86cPO@TaQ_T4NOQ_|~U?6mv@>gs>FHLiSHn*5un-H6Pf6{bg zy_^2VujH)F721Ki@`&)JUa3+dzc^Crw>MjXvWz9gg5BHPE$0i+?nF80BEUoKYZVSo z#J$xGx4*P%RVELzIf>K7uV1j&t}I$-KKbErd@Sd%`@ojY?*e#slYZ}@NSW8)g8~l{ zu(C|rgX_E)i#>k|0&Z?LdLV{0sg#I`3_<`WVCwI|d5F0IJKF>p*%HH$wgXfv|e`IZK`o%BiI@yQQZ?iXW7t9R z0C2aIZ4FI_t$@tf(;#qXfHd!zZ?CdfCcmF}uIeDTuJWKXv0vP9I6H$gl=RFo5cMjT zh_49fx6#m!3F|A8o+#4V+^RBr7X=={_sYEL&Ga>Q;tC1qE0?Jp7g*UXAgY+ z>vu=k%zv7x`uX74#G!=`9!|gUn^)fX6%aA(QHr|(rZ1YbeK;5r^n`F!MBZZkrR48Ld2=^pd z!|I0n;0CHFVUqVDBxnz-dU_?pc&anlkq}=F7>`Mhkb(8i={5THol9%%^TD+Wa>q-R z`v#$g=@;rrS5h6MGO9EDBI)%*5>!dN#(z{x$pz%{#yf11OKD>}Ksdq;2K6DxOC6jw zvP0EG_=xqAHt;xLNSGmrsBYxox(7d3s27z-TtIWqT!UdMatzk&rgPLb45Yy1xCJI; zBL^u$6yH-AZ@U+^i(~2UqIUlaRN7!X)}rIUkTpi@K-S{Kje7B-U-G2nT*S;r8Qad$ z^=cCxz&DmFVlJ*Bcs{DWU@UM9MFE3Cop2!MIb~e+7#_vhzKn&!Gc3_t$i3X&%#v&2vms&NQ#kw@w~LT+w1=R*YD&S ztk*n~l3ax<@JbH$JAQSn)Zg9g1Sn%eugb%ly)ubyqC&w7Hdk5__7P97LO!dOyS>r2 z#wH0D$CSAE|J!U5X}ftKKV}Fo=h3&8yp0{uFT4O(Iu;|BWpvO zwDwjrjDvQwkHFqd4;`w-KCRdC3|wTGVh1N9EM9v^2@%$!Fa*}TiaA5X`19sOctE`` z%Q0X->$dCcFj-7&HAbMzJ`}-D+NC&Lms8PBc5nhiU}DT^b}~EoplytqJwfcrF&ch~ zf?=TcElzLXks<#CT&CZ0XzTY!#(2N=TQ{&+?0f>L;9o}heUhm@4iE=&yXcMClprjY z5RWn7b(Yr#A9GMYcsayEe-d94O995$SnAU4dal7D92hBwSY`z<4Q2UdJfz zftlhvv+#={#xue^FrIxoNjpz49-Z@U4zp~(n+Lw%?)`6{nXMn6d+N_#y?F5l*VcEA z-n+9r`fzD$ENXWh(iI|CGmOb}3zL*J#o!}iI4R2uWQ))al27uUr#MuP!lb=P$X!xG zl9h(?h~EBP4`vcCzzBp*By&g!9GEjat{JZHdXn!<68I~>3?Fz?armYW*o_LYfX7(R z5FZ)JYSl>}cXEAm(SXCSZjgrgLon+nC@#kW`kjIZMEt zyU1Y-cr#@|T*P0&Js|fwtbU3SByg^RsanSvGy>&ITWjNH>$cI^o%Q1M3U+0TG}N8o zcIkQd8SpbKG&isso8@eu2r0P4=4A1wO+_OibOpNr5SD@-OOS{b$oI9fkyQeB4ad0= zdpX=n7#VVkVkW>y+9SLIVCvl>>Fqpp9Frz*C;7_%u$!#hKPq~NNje=6V$QTzj~0S( z(Ch>V^Q^E-cC+1%TbdfTI_sORwb8JOhofv8}>njgS1euSc7UQj5ZqtHz(Ex zJJaU9Wq%W^h+w3gmX96oGc^LYM||ng(I{D8mk?HQOwOQ+=o60kM$%1QfuR%_lM_r6 zq}A#|+?XwEUj2h67RkQ-6d(iZLVJgVYRe?2fLYj64CEA+kYlJgGt%Lc?iBlCt7yxb z3?8bPV`A{lp!5jYS6!#-*NFzO1G*}KAm->N_6703GssgMJnW8tV36+q6+cPNVwErf z4S>I>agTf=%~p*hDgy*{3|KWz`X~r+?I$6LlBM+7?G{qdYP!C`gkX0kQKn!ZJU~I_ zw|0BhBtfPbLs`2S@~5fN;&OY`Mqo-Hsm$$IH_?8rABu0qTYLvs+>m`OP_isWM>;g- zhv!rfENaV1W}c)K_gNn5)jUGwK0GnU?vuP{re9fMg0%AC=em_Y^QTAraf{iMX+rwC(PUh=^_GPQv?^J|8FonSAncecs&`) z(m7Lgi3KwIWOn$L0RKGy)GTctc+|NLZ`lUnDx?GwaUFZzl4*3ab9w|}qV3G%io8%&DeGhP-W2xDvah3YU!D;3n*a+VyTw0kU z65TO_n3+1nGpK_O3AT(It@-u%2lZ11QFC3JL3o8MWX)f>wrcU*OJHHvJiS-*&b%di z)n19rQY`!ia^1t&Skn|>i_}fA_!KKnt?=uQdX{BL1d93aB%Hq8#i8>N2 zyIdDONKy+NEwJgK4BXgQ0_YzA<=yYVV);c|!FwuMy?_{qV#TZUKff`< zQw79oWk@cgJq;VhAjDwFC68I?$(<0vhU%G+wU!4mC|D*O1=f6mvlM`N8hxee=ZV!U z;Rl_qDjHUh?PPtRcM^Yq%E?w+LQ&Y7Qz9EV$k#2Pz?}OR|Kie_pZv+Q z-xCS$gApDE|z`Q&%I!5H7n!uYmC+j$=^>lPd`Bh8PcS z9K~}9o~E?@0j_?Ci|n%~+U`RAW}Q$UYsgS7BKQbiXE<1ET!Zl_?igdFgc*#c3&u;^ ztT|`d23?VAj|Vj(yDX#kAzlP<_6>GDvz%jbwJt+1ijl`inRt0v=8-hbc4pKT{%#=$ zhBlOh$++a+V0cbbB8EYZ_Ga2TjqnmI3`uj(OA)$M*yv5Rs zj$2#Z^_!br+%JRlz~O4YP|gRGx^w;nKgmYpvqop1E- zO)rXtAqzMNrc=E$w_30$<+G2%(Kxkk0Oqdpo1`-&D6!Hxa3aHR7CH&(6z+#HmtdW@ zQ5P_x2J|{KNnm;e%P9%&II>PLpXwL=6YcOX!+5R}JVqzF{^WS)9x$Ew&bNGjUj4j9 zV0NqWQ&(Tz{KAb(zdsEx-+)=R*pNLO45B97he$`x)5NS(GFUm4gLRaior4V})GG0n z2vjQuW?67fIFPyiHXp+o&D_W|sXzy0A_j<!YvXRCYTrVs=TmhCDnzj{{p#mz;xlg%vx@vJqUAh%tY$8wQb60 z@gY7P{9}i#mpb4ODg4BsBq1fPa}uz_Dhqc2 zVWf>b{7@Kxp{FIRs&F`#T7Zi0y1>pxIh+)W20^e8ilr$5ChRv$?n{_59}eB#msctTidXD4@lVL2Rr>v=K(A4 zskJM2d(%%Hxpn+w=L%llJIdm?<0kPpaWR3e@jyx9*BF>OT;_S7?0xxaX;7~fD`d$f z=}ITfbqVf+m4eGP>YD|?6m8<>>g52k9s!0VhwpR?xRqmOP{6Q}8XP{D4tAQ|!B(SS zlVQ2DvRUYFHi9isb9r{AU7V}ta}N1L2zEgqDR8yV26iFs0+xAO;wBC3>2F8Tpy(ze_s1rSB(YOfA34x^ zCS(olz?86jgEw(JdWT*?$F`&G4ly3%Y;#0c((l540>JbJ!D{k(J6zwvB9-5&m~n?N z?+3fV6wAe^`oVK|iy!}pzSGCVBXJxg)@hCR^{~3x26`%+;Q}R?In9!TOH6teMz3h4 zE#CSXj9^!PEMCZ1%w~>yaK@VDJ_3#=5WkC?JHNQdD#D+X zfYSC+)fkIQm?T+X&UpAz|f0A`EIjIl^77|{VjEuk@1wExo z6z^k|7V%q*M#3+fI43-1uB$*(fcOyWoymfx=fGP5X8aMBZ935ZQWSzhDg^d(*yvi# zEpjV0Se_K%m4gx-ujsLeQMT$ND;>HGO#mh$1l2>{gmQ?NXRp^Lm=O@)Q5|GWNa}cm zbX;dmBGC}hCs4VRE6V?qAk;uBr0kuPtTOZ|V@G0Jp=Lr+OAX6a5@Mi4Hiru0pR(*4 zu*n7hOvyP4Ht%%Ntw?Z{;6y^wf;_0&9!C>U;waa2C*z*x8S;zdiNkAv?5AKr?gy?&X+$ZuwZiyH(RxCiE;_;84-L3= z1;Rw&$NEHA2(XYWfjTU7Gd!d1!7gjb8ph{ZqgZJyTxM|v#W#l0YCMq@?<_ArY|ew!fp|_jHmN0+5{8Fd-wTyoC+vhd>g-lV^4;c6zfheh zq8&xJ4V_5I&9=o}y}v6#k4+irHVMz-RZPBocZXz%4_F#c-MzNnn>#ms>)9VVS|Gv2 zQR=fp+rP;_UXAVQz*n@8t)T1I0>{xQ=0u^tL!q5WmL76&_qn&J0}F zMXx}Qa!?5Ren3*K7*g&<1^gHVBgFSD72`V>!6w672`rl@!Rz%)9P+TY-^pZMC(n~ZT=??8V&g4-4 zYa4by@&^wQxhvDIGM?@+AcoYh<6x1Mpj-LJUO_AhcPT=pK%C-)>>ju+#S_JP*BDP0 zc)ecuaro;Oz@(=k+iCc%i9gI((`oV~|Zh*lV0y;F_7!KvniCN=OLFBA=uf_7%1=6CG##-@teX6S?OovkM5Q{VW*IO7HSs zV0$u)>Z5{ufI!~}`M5f)m!{4feRb4S7a)zz4Y8KNc;IP=`xdt(bXspJX9 zqqE=5u{W9C%`^W&-}@KG-4}ZH2U`7prS+nXm z;}A3S_XxYssM37u1Dr#YdaDh0WL0?U0YT%Q=0q@aHc0>}5P`9f7UTnLsEn*I-oiKI ze)_ms?PGJ}>w zb90DR!H6;tG0$l8s)Ogq+?l;dzg4KpqEb@1va%_lT3RWQwUKHe7{vn;Jf?tmlt;`I z!p|jkVX~^YW4My>GD%Ab57xSNPp>mw0q;!mtiV)8oK)J-gdnSio~g2&Zc!)lAM2_( z9Qn`WK;W81h(kbPLs#@y@LWl8AQkG6i>kogpzPrT!sxCtW&NCB zEM7^1{0Yz?nn`2PB#>Ce=kXTebS+A%v$hwT1nglz$f;P0$WZE3ii*8r z4lP~;vSovTOO@~867JejtCKIxj3?n57M@6|a|g!K_PtfgduWx8%%q*=6}!K9pBxgE zG^p2m?WOx8m>rN^#k$(t?M>Z%<<{wq+bi8uKm5#p;JUWE|@|`X*vmLEHWI1iwUuF^6Fal;>a#mU z-z(N!d?l2I*0K&_RLXx&9JP|o^*f-!2HM;6C?b$rr!91+Ws;Y5*p=YU;B*NW-GwQY z06_S4DZ`4ky}(SC0r9k$i7?phl%+Z0P>%_6@rB>Kh@C-7I327ccXG0%G}p6_{qJt2 zXw^RP1Aghu!Zh2;Ys{OM;h$*9Ed?XiQllkehW8!j+!8fi1w0;sPvK@|1a`b$`(yi@ z88a6xah$%+bJE<-A&eD+Q!E8li7AsJkhd$D98YVB4fwW~8Eo8$>?7tm9^fAIVSF)A zANP|~F3k4)u=;RsdzD4v0XML?D0U8-dkJ=*98Y@SkI(}jvVM_Z7qw5I_xo|+!8~+L z0vrAfq6ui1;QP)!tP?g6U(}e0P4;!;@D`?s=GXqT(zoFc5wSMSPMbONwiu6jqQGjT zL1pDLxPwQS2r9vB3Wx2{IwA(loETmmUU=k>E(pT0Cc`$sc-*ha3HuQgHFc8SmvYRS z`N*T@D|KX!>gMdScnfph)CD&)^jxX3nDW4t2$FtF zb9GoL@_Fn=h(D*DC=3qf<`cJ0dB>`wdE>SV-{K9#)kE#};Pw_`7JhOd5FvRxou#s= zBFzEgfdyzH{0nCb;uhu3P+P2 z#O#WXao+>_ew@C(gdTSW+&2>7wqWR)`?S&_*jT~>auix1VHz0EN>4)P*Ac=QjHf}t z4ywx_H|$*QX|SfSJ4-$NPLeXpcm)h~f@y~UK|&uX>g4{H-jWcHdozrOODsY;0D%X_ zQw(4{7OZ5I^QU-AjTobPQsY@qp9IPc`@V5c{A?(;u(;>y(AC>|H7!FbeL_gm z;~Bhmk12(9CXtoFcu>Uv1D9*vIQbU5K`z-xhg}5)pcEgNqzUE}jB18G^>`XYD@?2g z-|s+6qM12Z*d)D;{h*X2*#Y}uCL6&nxQ?krg;6@93AN-U6#VS*7pwpC%@_ZFF`i=J z6@uh*xY7Ou%xH$bmkTp^MFOeV>EXeG=wH@$F>wls$StePFvJ>IzBW=U6XwKLb~2Z~ zm4MM2@pxQ32t!}ouBmpmyx=4fN4b%xZ-B)C`3*P33G%Uqg>%o z0>M&Y!6<+6hDP_^iXOvw8Qc@=5NjuXd_Rsly+{^vbOr|n@W1)4k6hWao_*nnKQlWz z9R&V0`s`)y7-BpmxKsk#!XwE&%wJ-VC#%eHgy)vVjk$z4&O~}~alNH?JgWokz0P+m z_>wv7jS2h*4NwsMPtjmJTl+8i0T4$uuTxhgGC|Pp9-(|$n(C01E`Q8ZuotbRSa4>| z(1v^!%>IBrfrqmv#C0AW)f0?oy6zAEA?Eqypa;GPF-KPAMe zYRh&M{>j?qJPp+@@srfp)*T2l$H`&9a_)TlLqS}NOj`IKF*C4A;Wl`i99!i$0klH_ zgjEVE2kgv+ir#X(ajJ)FLs1raj~udWGaDz&Heh(nI|?@cGyUFl&_*#Kn8X`p?%%?> z2pmNnlyrbnH39W0t|5WhBM)&>+8Ae|hLhH=DNN;pc2Zd#Nwc9i4p_0FHzUD?Tv1u? z)jZ6Iv-_z9=IoZ-5%mVZ7$1D24w9X@S!i0#%Gi^ci=a)A8u?< zjw67W1{QrXAfeb@teTKeSQTS6ZIWIXUWE`3^%?6F)ycyz)q#r72X>Vp z520tC)bz*Of9L0)Fa525{7P2%d;9rQVCdh$+75;MzoAcl2q1Qu+D}qzjPR{8?J@*J zkg^39En2TE+=k3h(#ROWHAH0vm)T%)bi=b%5`-f*WfRU^YP3D}V}~9hk_;4O1#3 zXAL0-rmHrZH-vbug==nb4=b_byn~1j%)bETqAhcO=A-LfLbCf5@9cpgNXQW!Vc_#v zS9aom`!z3p>Hl1S5YZy>(tvzoQyzY&IdMCujARIE#B#P|fp>eDAU>zN19xXq? zl2-I$Ej?cU;DdIflz+81c-F&4T77{e|??#qqU#`#x&^Bbqe zW+&Fq{@8PE60|J1esF+w?=};p98?NN#!<8NH(KTV7;+9cN!;vrfW0Lw>WFrc?sE-BPcORZ?kb5iuVL+b0SM)B89;~#B1!Bh06`I<7DmD(Ly7p-TICq&% zB^c5zEY-HTVO)V{*vMraCz22kWQ;M-L~U)&Q${)C4p?g1$rZ-B$)@ZCbSKck!RR_k z9xXJc{EDrX9So@=6_rp@>%O-IdFiJ<<%VailQ>y@fuJwXIlbfv5T;J|Gy4V8c%#4) z9SB1KYa&W3l;gC~M8U9~2N4BKU2Ql@XdPsOlMdGIh=ps8am#{K+%e1`@ zShv|&=B#!Xqi6&D9<7EM47XP9kNo(@mI@0;k0G#S2~!-D^cb{?@EdwdlOlaMN0p1T z3AY*C&DGDej4HimgauY|g6}dr9yI`#&^)k!rznH@!}%1~CyPWfDo4Oq&B*2Rnk zy9~lu=G754LBu<9h?Qs7zzL}3hyX3Wc?4HpZ7Ox>cY@Gf^W1<}m6>coDo-$r>7XYc z@3seyTVF&|H1;E~v%khNbCT^pQlk`+j{SgjsjUqYi8>)`=V{1q2_htua(V|MSFm;j z3Xe~($KMaL7!0sbk)bp3yFdV}T|AoLaR?X0$`sxrt0$~y*b!ny^IeOh1U7EAUwnkr zc{SyUGqAd8wgVp}s3KGyW%D23xwcnFEMmljfIXUuk00j6unRQM1WEDT}Ew4W-#uQ866KF8F@ z2=CB&P!4zU01B%CqlT1juU$xaWYRJ`0q>WEmyLN)Rwv3EDF?tlV+EsP1@WvR?zQbM zY>E3!5(_Xb#)E1dn` zDMM+5{{Z7<-Hmtx5voUs6Pxf0Mi9qx7AN&AuA(;W_A;a?l>L70*~fT%?<2swVAf!l zZ0ArT@6`$^7u$$2G#HO_Oj~;m3Xpq}5#m7;ZJxgek~+>K41+|oh-s{JjB1ByaxYQZ zQ%nu;slCM9IKr&W$C1^!aN&V>#I#iG~gqpBuRulGFh=Y&3?MM-ond>c*8~CUR!2=B$9W)uW@>eg?NEI!7gQ7 z-d<~+|NSptIyE_0U;n^QoN5ybashHY06e(O>&v-{b!5UHNfEe}am5v3reQlGhHYBP zl|VA7-@)p%3glGemK0Y@S$>i3-f749vkba1KB95Jo~Ji*pd4jyYc;8I8TW+b24Z8*JWhp4@ua0^{W_jZ78WLD?6sR#)(0LPmk{oYP>HE{eSp zv*H$Gyv@jrD}D`t#dMqbU|UA_DP&Fy+>9V6DG&J$G+-$UauY?w3GT@-9t}W~NpMTW z;3Jd$8{;5hQYp+;zbnT3@|Urmur8luqxA)_-E;7SBkGcjO$ z5dmJOGXUfD5m?!9CtUBzMo0n}cGPLQvkS%&VeB2SSLnLg#h3w7d|#8Sn|ech`?A`A7u{H<23tGhd9`TZlFw(r{wy? z7Nw%9K~~PN9+X6s7r+0$56v!3AFUsQ?{S}8Vv}Rc2Le=)@Fh$3GDrQCX}UoFPceiC zs04FJR-cAvo*=;#TvpsW5dv*il{m1vqt}T;=^kOC z6L!M8O3g!<;RFR7;RZ0X=^(6NGmNK4QKU_v;;9*)L>c>0002M$Nkl%%w!1sNJ{Us#EC9Ci(5gdM+xTsG-o%76;X$WPS)#ognOSGH(KJt@F7I~Lm^(q7z7wilXX$9n$oTq zXsYWlGnvTqUf#trMDJpp1hWIk(I&aV;G{-VO{2u-X$BlfM%N%=)ldioy&s{R^dpZ) zT3&l$7*i(1+v^Nmis6$xq$^S@D=6l%Vp4+yEGYzg6y6!Y`vTTc+;35rN%%*N;zRyU z^Ow{A{Lg>Z{;z)hhFLidYdDIWgVN5@S(tQLBP@TLEPhHku683I8Y~h+ zWR&X-p!H48onXBgW3ZIrgM*li{cy=E<^XwSGk=Y(Lml$l#d^^Q=;$43sb)aFSk$>K zqF~HHC1^r%R*1qI2-O6>6yxqDVwIt|R`_?_%>GhKQ)YNuwX{pHkJ4wH7(a$^3=^5H4H^!S}04zPc`ruIG z;ZAqs&}2-fb#j$N;pEpNI`HU$#hZg=hCSh<*1@=m-|8BwvYPeI~037ZxreoO8 z9_GeP?%5aQnbFW5&Lu-C{bqg-KhhU}Vtg>De~$gtM{y{gWve{S+{A4+@nK5OvOn-6I78gQAd+yX@DBXC%oS}~ zWgTD^fV7y;^|w*}!pER#jTDX$;A+KqM0w24I&lw-mdhW0E|;5}n8s3*?04AyYT}R` z9ZrN5MtYhG3@Gy^91B65#U{zPwGy|_ux`;KT+>CMkzA$RgD}VA^uHM+u{GU~xbYNk zFF~^^3oUL6W!Q)KF7rgy7-**H%Bq4GoNK34Y5G~cy+!}uM*|EbP8EMf&xwQT6V`+F zT#KQemSEi(JaM~F&pbK)&^_?H^_TpbKm9Ct;HOc5fbr~kNN<|;WDf< z;fll@z$yT(3Uk*%$d|6Lxy6FqeOrvjWJD;SOh8}`T-90QBriglBw;rs&eUWM@Kqno z5MICrJljO>^M$uIMF=JnbTLzzq|}${WcY+xVYZ}MaoI$9O9{N07)mi4!VKdHdvT~- z5DsE>W*?#!bMlc7c!OXOb=~7xdPt3-KoVT&EIia?Y!%!io6AhT3jRxDD?vhszP?OO=18njLb_V)FT-GP>3fGOZk}}u3;PWwY)FH z5Bbe?`catJ)I(x4e#gozD>PA#m>Ojjv2eh6;O#@WME>$W z`)A+z?4SE{&)(pP_xz|W=Xc}j_OB7XNF)wo zpW-6xS~pSWpTLv|w?`>W1>J@gcsWn&EON z<~UnK5)3&EZh&W=;(aa1LF+c(S@S8JXB5Y44RVqdz%1i+4`Bs((~@U}#^n&C-Q%7v z<=sI#vcO+i0TI4~WE6x+;hh6^9M>uBB(#Dz1GB(O3Fx0zBrLgeXY0bXD{Id&mImWd z-!Le6SMWA@=CMKIWg;deh$ZKgJu*?Uwl_NV$au-xS|wa9Eyc>s-Xh_J60_7s3+dYZ z2FkW5LAbZQwcIFzflh*dw}_RwL+73$W@Q1~d$Zf_mF`{LIJCL^a`*Iy4_`X@{zHdo z=llS{c;jK)E*~gb2;p#M8d#m(F4nB2VlECG;&?`6b}p96L4r$q)M|rM5zV6kCB9o+ z#6vyuDnYB;=~jp_Ucf?QP_5-d6uI6eR)lZ@zW^qDc&}mS%YIa^<(FR4@le{;2s zl9vG>gE1Z=eS+xR#x?$1^_lWiPz=Zl%zxTmSlTjvJ!fJ7hqN|VF<+vKjtF&<2nIL~jvc>n5O zT^kR3-Or`T#gBs7X5o_K%*{HA1Y$Omhy|AvjOOy}a6vHQS?q2C8&8#(+!ExFV4s=~ zTv=61so8=jlrUCk1L;czM5B5PXis;<+ql{<(!a-O(JA;2Dh3#Wngg$ZeWhIz_7J67 z^aS5AY)x0qP24A@)CW6*@njsp9KnK<)9^r&*@oE&XadIE&hrxKvMT7CUj{~VR0jIc0eaHG_T*09J4z>=-+y;>w6g1|M-WDozV| zgL#=gn8gH?M%aUV4Upu}cA-02>A4j@ZMAxS=gul2qSfElLqIHfHw3x)xJS;YXeEJLQ-0AVWEbOHJ1OqnVM?nXIMn`F=R z@dgML1e@6KwHoG6>|I-JSRTN%O^5+iOeN`@veil%uYT;ax8)LQGHh6Ixy9vz$}^ta zj3qbd;5^v+pM?L#&wMHPFaMW+Od;>-@o^=+81%ovSWsDMQ0P_Yn~-OVdC$TH&h!nQ zfoT=d^lOZTw6W*Vfuf;LZeg`1_XqW;P%N1o(k(0J-KDn$7zcmp2K$AUPI5xnAg#LbgX1e13L{SHKiIUY#Sb?#wVHOtKMv6x-4-MnIw%!1IP_|DA> z$(Mf>VM;{%OpFp0~YSiD@_3awrEQlSMpP96~%Ntg_ zvBCGLw0nOUZV_3fh2vIlanX)f*Q=Q2E+f`O8kEezBWiK#kYpg8qZ8&>>ALJmF7~$C zXRiNW7Z+A8-EE%vGtXbH9H>2Aov1s+ShJ$tj+Mu%HJ_K2CyG2Ui#JjtX9K&DUf6NQ zMvHNkya+3s&|Qz54XCpFk&oaKLq@uZxGzzwSM*EOc7J0#=Z{nexQlzyCb|sCTiR{E zfA=0TPx8pp&iv%Wptrh?P&D;nMT!Z!&{}VA?`-wz`Mh`ez<41FOadQTZ-6Avu;Dm}az$9$3M#k-MyFm&=l9VI~8C(@QPH&STpS6{=yDMm? zpW>wat8m1PePnmkni%O}ly?VM>R~w;hJ;ga(D=G`8+wyPHd|p?58G|hD=M%vuQo?k z{_wlFbLt1({`&4PYnghLLz`B{J?c?kW?cU8%+|;ce>lQwc!d7J^fR4jo+wM%x42(x z69Ci-G}l-~W>H#|dFLj@FYyjsZl$%&EMeJ%N)`#Iwx(dgE6mjg0IpF;{TK}gi6sc} z=>HhuplhGV`h%x!`!)!4!vNy}@C;tdJ9#~^i+HJ7$8e|MofV!%sBABC!z%AtQh)Ln zur7C)>?wE%^dSNNljBJb{9$_FQ|^yiXHP`F^@~WOe}oylOIRx`LJW?>`T*J!#c$%k4-r6R8ft-96)> zp=oKR=HoSmm<=moCFG&KLyvMn|5JSSD4`Bg*=f98DSA#jJT{gH${v3WMe!15Bxs0D zCF}+4^(bcr&S*+0mX~yxj~=XtR<%+dfL0`HGxm6;`SgX_XSMN12=9g<7z?9@> zyh*Ll`n-?v)Gp8-3g}D#nf*qjL}BVUy%0xZTtOwS%>EO^&3?g2*bP%ZO2I^5QPPIp zX39Z9EKDqenS>-B2;o2o1f9qH4qXX(%R-|tZg&VXp@UBn9hhvlX5$QlB-9AqPVo@a z0D+!CntBO>TQ>bZ!jtn+-~K0G`Hk1V^r=rj^`2wAUtRpU-d{ZUKYjz35yUl8?9g_a zj@$Gi){q9{F&^%qmsGuy^%`SN)>!Kt?Lih3-y(M2S<@L{JeD6Rfwq_#cj@7?C}@Zx zk>H7u(UfiPZjmqc}cinBO(2rh$Eu!zg$Em_wQNZ*mbT=BE!=}JN|SZjK}huCJFDk{BY0@*QRtvPH(YstX7h|p?|HqWsW=prGy z*xYWP`Ofd&URb=i+I;^f7cP%XmY=R4EE6MqfctlZRcis)bW9Tg;@aXBYdJ8UtnlJa zbtEVj%18;f*l&@vLT)G#*o+05NGAlxD|($S7!UXH_Rdx(N5X_bvEX{R(&7nAoR3cA zYv09uB6^6Q*2anhT!!U^!aHJcx3$pSX>PaH+V!C5UalUhg{85=JUnqnJ735L=&HYP z#=tp8;1GsMerQFzN}49prFCos9Jhsl z&*`*cViSXzATaR?c&QRw*v(eoCswNHvqZfNbAeu2M$#?fAg(}HPw_5s)&8J2AcKz# zHt;*^6Wg1FB+LggKD zW+|mi^Ea8jOWZ%ic$x4TRxG>m!}J+RNr*p=CnAj|o~3n+XJxjCIdz(2m~&XMpTLJr z<4gnW+sx?=)bB+QUJRb4sfG=L*9|o=4i@VyN!c*V@PlBHa#nd(b)YM(gK*4!j0aAI zV<60Ya=fb^&|rVR9riC_zT0=|pFwK;5$5j#v*ZwjCSt-rl1+q_Y$CG8?ZU3H+sk8n zh2~b0XDoKoltm=H1;;{k##~)eDh&$ z7IBl=NX$xj&fpSb{Y0I&Kncylt(Nh7U%18_UBFmX<)G3hFR&i9KTg#vX%=Zzd5pRSh&=e3Xj0~o#wzEL+VT6v4 z2=Ne5C=-zGHwVlt1I2oRe>@peAH+N=ga(R>Bd%kCMJtH~9&Z`qLm{#u3}%^;Q#8tD z!o#!lfL`fWtAqg;zH_YT=<;*}hX#-K;E!VZ-X^&P>7?MqXm~{e`pdI;AP8unA&&}h z%jYq|nHc=ir$5^4{)VZ6G_PrTkTe|(p~lEs2Us^~ zB>__%#T}7KCS=jX5^UIIw3dF@#@~AblunjQS)-H9gmY?)3UzJu0R=cF$EPR$ty+x0)J&(eRYoCAyTK;305w^ zr-g-3m1KN%{S&Mp7uhAOgIH?RN#^i95t=$ z&~_r>U#C~prjad&k66jV0v6MQ9y#}laq-kKw|DtEus3p0AUN^uTe$4jh$9l*iIG&n ztWF67u?bkg(sC+{;uE+d#r}h4qg?QJM(f^v;#nRxou!$TxHy^)9x@iPszXbT&?a#R z&g`|qIC`CVc*2a=uy+~UJ?v-3AN(K|Mw;xjh6MZ=e|zi|<;IiN#%qVpeDL_shjU|} zFNDc7kCx%5Sl=O}(*|4uV@1wn8wwc%2t6fzkQTylDOg5C8_`&h*RfnAs<9X-D9j_g zjO~@|mgDF$>vz5{Jft$#RQgkw|Nd;1Jt_c5l0h&@HQgDzSg?9*uSJ z?6IW$vG=VxqjloJq~E3pZH|-?mw&iaU>ykuy+L)*E|B>TpocP5^KO*6pnjEkjV$W~ zRZnV#lOjdQOmKxeNE^p^o>t&eo8UI@m`&fDfu#c5YE@P}#@uLaeryNWfOQl*nP>4j zuz~`{>}@vEhUfD>y#k)w16AmytY3Z~K4A)P(8TwaE&)IwIg zXg_wI_AFMijq-7WP823XK?GeT);wb%Ge_WzwdCZ;Rd3m|yhHfS99m)+A)KU%cj(wh zI4NPSmL9D~-$vYe2IPV(9}pkVK-ZH+77HeOSQqdn%Ei}_{R)3-55`&p#vb|J#U0KPW! z-~!^Uv#5?2aMazx6Om98cwb-*h9%TX5uQ5h4+gpa``2Fe#}3y!Cq6J!#LGcsiU$U` z%@5dU5fa0-n+TQISl~9x)`$rKoN<~54wOob?XKHtWB&l1bIBzpGWG-V!jPv5<^%}S zyPdw*$F2&u&iLR+-o>>YzLcO`wVc(JW{UM`*vWffJaxN$iZQ|bGFd_3K1EQz6TRko zj8L|bujF6eSjarYerQAjPk8Y$ZUL*KTtgM)W>Ik{-+l%e7@W25ITpDB`9JTU!+R| z&RST|}( z!TirGPp%=VPm)%+OL40@&1TPR_L}{?cQF@JVS!}l*kt;UuNb;lk?9XT7zFp*$J+a)0cvu%`82}#CM<`=M!R@`TH zW8i=>lV#0`=Rtl6k_<5(Jk`WoP9}K2dO(i}@3Q3}a*~shxX`JK zcdFm%M#3{$_l&R?Phs^f_dhw_MGt&m3GzOR$Ysi{eVWze7jSr&FFaBf#llm(9(xSI zPZ>_t0ZW{Myw;dAOtRz}!J9}$lN^9cuqJ>UlH`5T3NfL#A-W4pA~GFdw*7WOu{R9{ zZgYKvfU?vx2hWR`Mfl7Rb4s!|*`Yx7`mGCZe+W`NM)5QR;Ujx@^9;WfDo$*IfBJk= zVF+Bj{R~w5ui!D*9Z5h5fI=OJ?WIU1X{%>pg2SE)?o`I(uie&!9vzGBa&jOOu|VpSNAXCDXLIm#~Hf?%>QrtWGPV%>2RM#5Es^TgKLU$f#A$J#)w>} zb;HFGp${7#0>i$J%MvDD?i}TlGnn{zg8|YlZ># z*S&~81nvP0%li6K_aFW@(^6>CNET&EEanosf>Nql)~-nl)8hvfAf6+-xSph)w#S$z zN(|d<*va@9;g>gX%|y|ZD_H$?)~#~c@+)rGSzfInPbOaq$u}JO69-M`?vZMdIDd0=G%?T8JM`$fiecNM1MO`}s>gwcJn#H!GpS?Qab>ca z>yK3Y(|{I`y|Y0>1^f_LF#?Va7`4yCUbf2gLd6qDR_Z+n%Zd=nWCCu6ff5t#&!^4$rei>sJV%f1}cUZv6VyR z-H|2`0iVHjGzo~}2T@w85eILjVEC9Ua0vxqfm-2X1XT&|rE6OcWrxapB(-PLf?Gox z*XaYS2ta_?Iua&FaYcBkYB6kq{=igtcMraZ$YbssQdxcbIB-n4_{fB4D-pQ`Q@*ysY*Jat+s} zgBM|7nx_cS?fI;g#!^#kTD}`3y=L>m4Z_=8zs1_RNmmnW8tV%hNl&Qbb;}#VK#U`3 zST%c$;OK+F9>C_*ljBJbJl+H6t-o2C$QM5i>HY$grW9IOye5iwOw2lC!BggM2TS== z&@~v(X;K0K`Aw3F1CSrQLFy&0wE%G}3SNS^&TkR*d@`;R~NMKB5_1hYX?V*ijnkf|*8#Rvbvzx8PfH)r;5 zWnqlsy#%n2oYjt&86OfT07f7S9~5aOR`K?h4Bc%DH#>MGGtyvCdVwlr;=-&L>Th+) zoLMGL9>#5^JT0sGkNjm==SdgBT83aCD4-UncCzHA;jl`vVIxrUwl-QAH_OKsp`8@5 zYJlWuvJ@N&AZ79^X#~}h#j;j3xIeyUrm?b?mZkw~Nwhjy4^u}Nuu&1h-uD_#ixnr2 z#%fs9e;nd)FjDQ@xj!2$cJq7{+fq3U0wy$r5UV=aBb6f~q_MWsm40Wy8Qp?(01F;+ zB57PKGF)P%m~|e-n{fn#s_sfCA;H8r#(rP@%5QwS?VvVKDdm!Ug^e>{ZY8s9-O2TP`x< z=5Dz3+h4mn%{#OPDqIqlqJB~&316AaVbJkD-B7MML~l8g({?&Y!jRJ9Re*(_gAO#b zYY4fwx4XbQ-zu;ZX%apohwHWL4F*Y1t<}Fl`-wW`_5{+2W)~zA+nXKxG_d%m}aECu}$y z9|W3ZVUE#px9^dUt+CVdWyPh<5m_?Wh72r1qL2WC`AO$vg-3gc`^%gyl=C=k1PJjk z)S!}uYEVqpTXQrbBFn=alnU!i49#8jhtD%Un9(Ea^ZA{nM%^#uu2c_K`uXwVX&|lm z$Oa>rVLUpSDHV7*=lr0LLX;gM67$!X4`qN17%#I7%X)hF$;82m)h>@u1iM<22yMx|JLcAHyGgRPUZsG+~bn^kWy=vwnkF9ZT3<{W6OSuJc z250$!Rzz}*v&=`nYy63eZN;1HU1*~dB3Kl}qX+F-$}zreKl9F%tsLOKPOD8lL`rGEg`5%0 zJoA8FWoFj!aq*-#>%w8|Jq;r`M8{LUAEjC{4v|+(&W0g?%Bw z(xYfBTtos!+=d-}xY@A!TWyPYUYg!g>ESe$hno>$45=NlAFS4mhe`!0zM^Ju8v;2x z8C*my#S_pd^IeB|2M`h2oEnf}PB;-=LN-!HjQR_(iL)cbLusy)S+B!eSdt`8QENEF z&5iVer7kNyB?GnC&L>JiF zXD`%?)ai2DCTJ09Y1$F=Mr(m&>`|ESCKvv}>B*kf77_>Lz-3 z$+VL=aCRwp*{>EpLN@|W%xcyr7S08-{GMlVzd~C2GyG-8<6XdK^n(=LXXq~BgngWI zx6?xL8D1ufgL{b=)S=A+fj%(aX9N}4*vp+2VW+wLMbu_QGUvCnwrDcbLiK`^E55*> z$>Q=dYRP$<2;}MZrqla}f7g!hE(XD5UD0oSuUtgrj2LXB)-wJ^5>USBND)wXFWpX? zYj|a~7*Ezx1^;GuU?&}7#n$RcxV#GN&8N=fnm4LORcv8V&-fyYFi9F3-%EUjRp#%6@urI}3HA(YSZiw}fWcr3(}G0R50mqu;y zwfI809Ch1$zq>}2=xL3C#)j4|ccY}iEI}J?l97lOFt&|1sOLEH?-*CLW~JcWsO6j} zaQ%<&b)#s4=^Epj(qPP`F;rwYich!6>TrdS&&Tq$^3f6rJ&Ls=aR$9KS1w`l7?;>| zGlWp4-bVfKT?pAYgqrYdo&zUFk4nTl%ERs#`%FfJT_Y|P@vgD+!qyVDqvjXbtpTDF zfGthR72CKJS8b)7H6Ag0wWVTs|1-vmNuxc5k%!z<#SRP$;jMseoNilP!mFwiDI5(j zf3f^ah+*QA!OS+MyKMRk1frG^$RoVwjrXX;gb)T{qk~zZ(O72}&6{YjI0rA6V7T&; zXRZ9~bl1rRx2-~P0OEaGUBY-Ek2Y>f57R<<6(RPADTMAY*Muf}>~HU;rD}&cew0gS zQilgkp=LcRUs;9k5i^jiY_>H=xon6yG;pjPJgYq}6*OlhIJr+*oV3`qg6zEDB7^jP zb2a0|M4LfOATCS-4EQ0Nz#MM49u|Pf5tVB0ee{Fyf^f($+4YJ4_|el(zCY=Kv(}5j z(Y*CS=sTZ7%ykYLC8iIX841bBiU<29o+eq7JrpypHO5>#0&igIq?oOM@nl_&t3Ak} zz}k-MojuEx21g*^Pq08@Qwn5|Ro-{ScuYyOB6vAqVaz%vMJNk=M#pBlYOd@ZqHee{ zmOp!E-sW!>sR&DI_%8g7U6}!UkKRc+LV#~o$a0gJo4kg17>wt5=tg3rpcNz(RzqON zW>`#w-WirFURo#q*KR|~$?Tv8;5*D=5md0j+)AmG9wnf`$RlO5Jtz1u|E#RDE(h6ni%z9qzGHhU^|!2RNI6l`k9 z;ss*EM_P}m+Vl*HIDRqcY-BZN!e?}sS~)!6;H(MzJeHCqR73%hoy*!TjK??Xfs|FI zJG=<)i8mn2Ipm=i(nkLJ0mw+|SnwFVIA` zHk@^xW}(JDUDj(Hoa^~{|C_l=0Iz0FXhZK9C;9kxZ+>g*BQpV8( zBzXeQ5$o$bAmj?#xHDShnFkmAz{xNk*p2&+bI)zgJ;QUt7xzHuB&8ytPXUP(OBZB# zi8`O9UzNw{BH}{2+CIxQ)^pr+J@*3i_5yX2pcnz4H4morI>ci9t*>3NH`d!ht)2rZ z#eT7nL(CGpm2#;CZdG01g7K8GcHAx9!LR|HN3(+r*M%c~?>| zrWblcYjnDjKKG+1L$c)N2YGNyHAj}8_7Lo8Mih#-0yT{)U9)Xpdj7yj~cOG3e9q0NK4<v>15S`*CGN-oYqc{S4o!un!&$Y^8!vGzvdErl;@EY$AbcWEGeAfS#P`{`=;U) zZlD9dq!5iOjpPmL9PL;2GKjob%2{WgK4^^}taRb8w+jWAc|r0`4u+F47sj(6GUrx# z_ddoGuBHew7c;N%*g^1qlv3ZocEXA8l*toKaW68a9b&E+}DVtY&& z8R`hev#NYQM$fUOb|t9JFdp|%CoK#Z&Cm{ZAMm{Es8JMZ1&oJ`Md61@5%kfITmI{v4%s$|5sI#im|LuQaxqQY zeJdElh^WP0%QTZZVcBB>jHpoR=;*huu`x{$ZuM7NF~Rmp`AsE}8U!O{xmtjPJ!|Lc za^!__aT6P$dI$t)i^4uIL?A4FQn;Miar#XzvN*yQ?h=G;#|ZJv^Ta_b z7XKg#ia)^nli~%yD^st>1_6O}+Pb=A4;GhGMVp04tr!8AF%2cV>7a=sZ*tP=-&zD3!w$wL zwz{`(V-aF^kr|0;$l60G?g{=6gu@b%8Q%gs-UTBZr7sXX0rpb+2K{-4f6zG%rWV|9 z=r50p$IO`-`{;*Ghs1DHDnLY9gFaFv^yCmJGz;mG@Bo$|b|O^Q?8JkmWjDpTBJMMV zT7)Cfqlo2txQJ*Cwu%KT24h@zS>Mg1ft$iJn5SuXojeG`I3CP~XyD5mDb9NZzZrH1 zIYRXnNM*GY^`lusD}2CmWJ#vDHRY)T)xpGA<&c{vym=m7z2_(fX`SHYMri;TS5V(R zP!c_gmeCvg|V4lcuHZf*4eT;d3{fh%gp zDGWitq^VQCfkvJf(nhnWt75GhEBKZ;hw}9e7#qx%ttyxMC_2QqnrxUfMis^;1bq7> z{Ba_Lcydd7+k-Cg$7`M1$3L*;O^wfFJ9Y$yrOE?nsKMpqfUl}v4)ONvLK(|d&Jq{_ z8q%gm8e)Xu-hI1VMMwe3TIo&t3v*H|1ULb4#Rvd5VfI+~X$N7lD&3?EamEF0hSNgj z|6}h?fGo?>yRhGT-=2F_*52J!)!kLSO!bU<770m6@(5!Y35hL?790oyI}`*&KsbyH z0YrE}U>G?t4k6jd*g^zh0x=N=0Y*qdh%FSF(V*5y(`$8i?R!;L?wK$1<-7j<@5`$0 z=^l;7paq7$-C6IwyPSKL?|kQfzV)FN)g3{!jL+R!B{5|EI)Ygv3HVBn%L4TFBNb~{ z`bOF5zYZ~)-?fcGc_ky`?-B3FI_-1>dBxu@7mohn=J$L5yw?N8$Ex32Y@cq;P5pNa z9KIHv6Q+%6ELf_RJ-q8S8XD!IH;&kb?*Ex4}1 zcv;c#zZDvjX&cK39&9Ajhgkl^;(IxUt=A21TDHVU-sb<5bb|JA>IV|?MwrB=V!-RbaE@ZNRn>ns<^ zdhyWo1miu3$ChR}lu6*dS6{w#zr1^E!ww=8h(016W1(j38|$`M=H0xu8W-1^b=%Ud zYpb_G`z;<8o*6%lD7bZt7adLEUUdquT4!m0Nl~X1$cn1w*Ev3q7KEW`tkjSaZe-UQ z!kn5P)Q>-ZtUUKMr?inJK89po317(+fkkR6>i_H=lHLUt0Wi0Qdv|ZHw^%w+E)zOZ z&XQ*qyXNQCR_q4Knk8vDB8*&PRp@u7KDHQqqeEPuX;G^@8pp72EEcsfw%I$R_3fSOCa3n79 z*}rws0iOX=#lsE8Yr%L4t>o>|K%^Vp8>SZvJ8ogcENH5|V>7A|IA&m2;K7XJ@laBV z7!GJr1Mgf)JCaAS+7z=`>_2+&c1M4BArUnCisVvxFMq@4>TChdsxk+TZ-*|zjZZ>hVL=~*AaBH&`Wmb z@(MaVfi7aS^SXL)18Wkp`C9UHEAC;w2b@bh2Q~u*+!hTt7jWF2fUv=MlPbCg-VaA~ zUzEGAqen3=TZI4b#CYi&6kQb?>fpVt_gOS4{Kr=^%!+u#<$a8&zl!>A_XpkgFy1=} z;S2npP~aE1;Xl?(|AWoYbmzeDqlfrC*wS-I>6pfn;8*vlE^b;Fk_I)V6o*U<8EUx% zVSxBnf*RjI{4rG>ngQZdm4Y=EClPx9M7FT?pBV!7Rnm1|hy#Ud@Z`9_Fh)33Oa8Qy_+k1<9#Mms=_Kw8{HZ zTo!`t?_!GWd$r*C2LGsUcDpR{BEOP#iH%b?LcM5>Mr(Jr>fLL%Jks=cKv*;i;**9M z)5M8w18yxkA3hST$!or!F^-9K6JW&ZB$~z6BPx?F;#Svs2}plGZsKv;*>QQFO7^z% z&v;ARYc8{%A^0m7)aWEoN+X9!StObzQB#`Eb0eXT3jt#gUc=TW+MJl9WI-n^oQ#Ev zMBqngwXenYFrQQ^FTBo>P=%*KO&|J*do2kbk(Yf&+GeB7x&{m++z=y;faS+JowI+k z{Mg5SJvF!GPc1B*Y`3R>L{BDDYg{3B1Y!Fu?@XXB6(?jZ%Zu|S9O6zwn2g1^Kh?Wt zK|j;nW9~u3FSQTwvuRb2Ah!gO9kUpFN&kE><7y$lUH3c7tkz_WXg|6CT>5&goSl1F z=RWTox4wXSLW$|=Um$cLKrbT{!BI z9ImZIRBLk>oHV`;ql)uF=t8^(=3OGVd>$3hNRDN)Z7fU9xEFB%2x7kYYZwio6`HHa zkjISN+QrU`%8++?^{fUD+Ki z3v9f*Q;)c95QymplCl+8DRbQX9e2BX+xOPv9)P9VsItP{TG<-M&2#JiM&l<|E)4e8 z?ykoA%qGBKEeKI3Ci>EiW%FtONO9fva7|`b;7M$zUi;+Pqq`^0920s^3}B%2K^JR4 zddKV8*?B97W&UKaUD10=%>0h38HdAM!fHlQ)VhJ?VZIo>Y)Uis>#@Jo9+T7-dQYf! z4%5|eN6rieg1x>FeR_LiP1@|Hhz8LjEN{TS+U-q+ERR=~k0jWK@v=QDS6sd0_5A3q zFB~xlK#!XCXN9$CUcTSz<|B>U+veOdNuHApkjEy6FB#HE3DmI6o-oRSJ|Sfch&M4b zOHtKlX-N^nUk20bJ$iI?_P2h;d~0@U&6vF5x%US$l{2$s$l6@h>&D`$w>+l<+04$} z$C2hi;vLHPdxkOYFK78AU$;x(60ZW$c4w{#G_LCjKI$jSxkc+<+-6fjP^+wRk0NEL zwJ|Gt)3dthNzXqN=smdA=4wsa$XCrbLb~!zkKxAzEOj0JJUOEHYW2=T;H+l7)!dyB zcf$woICtHUI=A<;<^1vg{=sAKeg3E01HZZW`0VU~o!`g$_4k zc!`IV%&qN1#6?H(fkn(4V@9*$;F)jBxW!NylZ3B?@v4)!O880miqwkLEt`!cw7SMK z&Sp|-QHyj4{5 z4TDMSr7T15D#n?--^QFJThai9Wi=;re{*|EwTT96-toN4*%VLB_r-OkFY{baX4(j( za!{^-b0i3PEc-ScJS_o6-1C~l>FgEa^u;ylTcLJ&VsbBNsuEmb?w)sXJO= zc)gF#yf~R{tR}=MuHG$)6CYG zH4fim!VT(h{qbY7^N;<>Z~CUiUssIx-~5*EKUuV2+QrtoUH~x?YyNqFQFT zM?P9U#CSS$ZEAM#vi_c6yr#H%dob1i1>KeSUn~JbSj852__M~~tI>DXnn8t`Gu*i z-k{A*u|egN@%4gcP4uq>1?8J>3irbTbK9PVJEd`FN(U8W&Ph-2`;H{`y<+9w){X=M zFK(`rCSj_c`E{;2(9 z4Y|h{d1H7~J?a>Hp+iSe}*p5^- z&vG_0?btzMd~9K`x;%1he)YKzAD`z+8zJBuJbUptTf<%~^0GHJ?u8hXRY}ev>PoMT z@742!W-|4PF&qP>qB^U8ud@-EU_5g*EX~ILwmqur^^*g8aDCNay!5emshn;v_hf}` zzls#N4p&b?e-AO|chln7U5CUtE9UiCZz zJYvxb6Sk=nsM|9>Gr1r9J?!J0K*8p080Un094OLiH%vMbdQ`j$xK*9?JwyR2^Pe5N@5b=3@`%Hr7rho ze-|u3GghI)y3sA=Iw1cVh$aYc6|0vp`x|z~+;m%y>5vE@9MwJ6K#%Cm6NGr_(aY|A zfyVciVez^uLFv<*iGLHSnh5sx2P4gjYjK7?DvS|R^|Xgz1#r{x`+bCe#qWf^82(6R z-vl6xG!wfl#UqscH)YWAcU6q?dUuzsS&I#a_)xOv-TlTt`*k1O`V0U1mwrk8eqD~= zKNye#cb?S8U*m;ZtUFllNNvB63Lvmp;9TcIu|eQ)Rs+K5qiMN}c1|?+z(Ih>rPfsU zNXEuF&BM&)ZYa9#MQyxDEW&lYB{4;L#SF~?pv&uZCRj40b;QYTol041z;X|;=Y|}C zp9%$eHCoujRwNia?KhBL-QcrvjCq8B<}Is+Sb>WFm7GMsn19M{3nZ@ zfA!PM1qfF;Uv?H}8;h*8&U?0s18n_6CTV*<_78P6;}`4U=mFwhR>P5iVo$hl*u`z5|z*vZ#OoMSdZbwUZ*IL&u+^yEP zh62{nK#F(QFfKR8x&=^-@ZaphA5*|&2uwu%p9sPRJ4iWGnfXUVRxH6#Q>J69vrF(s zWiAGac!6RDb_9fK`QBw}Nbilyx4IjCcgEV=o?FWxx-9x zTOx*Nf3sAi5=~qo!dI>vTf0lD@Iich(O+Y>EhdZbckCUd&@jihcei$W6b7N;@S=xw zv`y@^QzNH2DO;Z*K+*N93~?+PCWwgNR1J^*hXXJRSiGZM`@#fI-Ps&J?UBfC&QuG z`O3TI`fJ{`>N&9yTdU|&vWxU9_Sf)c?=l=5d{<>SOc>jCHe;_^Z z;o`eGA35+XU)}DPe+e7>T63JHj5UCe2}mbU$7b0I-G@9_|F^$mt ztZPen-*L2xd$byihvx1n!{RK9GYcMUa}ED`o~_3bPeuU9TC`X|q2W9Yq3V`*&g1k{ zV-kU`n;DQzF`Hw{y_fm!5wh?+9{m887q-?E^X{Tj0wI$)u4{mEPo=^PFgv508 zftx3PsYH&v#l!Ih%!?l$xmWhhV!@wa@S+L`@<36NO{6TVsi6haKi=hk&Bkh7XF`IN zH9V}54a%B0$wZq4HfSK1JQ9RtvzumOOZ?rY1Qd(Vi}m2`8*2eek@_W}#TG@>bk-qF zx`KDV#KLMtcU;2{t}5=bu{>&!BrOnesi-dC_cQ(udmSNYv2KZoGWUI61zcGXB&9Eq!d)0g)hO7BuI_i^0M{f1=YOeybcu$Tk-fJHwo?@6CCIj?#^ZZH&Il) z$RgfY-etq9+oKz51}EJT6dKIOYDZA8jJM~TZZzb6%L=Pmm}f9B*X_~BI;3cWCnf6M zGsEHPH-6i<|KY7qeBuXx-7wylKlwYgv3yd+_A#FECQK4-q``Pit6)49c^m3|*6)3c zS6?Jy=J=Xo!4V$TBo`e6bDTc+orX-f+3*G^G;!@ou zyD2{V*;~cSFW%~fv?Exao)xswTAtxW(_6FifUW`YJIBNEB$Sk0xm&ZYt2ft%C7)=> zJi=*?47@Jp=K96v<_>1Ti;0CTVMc(+J#q39bCZDwnjVYi%wruHtfP*fn+Xy zSr>`F-b#GuSZuw7)*jI*aGk3W&hbWQ+8;PGut#KxO1#y+cV#&O!?l@%M4N=i`XEVU zqGuJxDGBJ}RYX3Ny^bUv1V4SkX!F}Xjd)57$A*hB76BPiK0uj`akR@lI_%unU_5h} zcR(evMLjhq-xWdIc7yTaovwr9&YQ`ioc?U5-XYjbeeLTq{-O8wXnVK3cYU>W^R;`` z#`1P6F@0wbB{zc`%!Po7W-FP9mCbxpMCMYsp6d{G@VttK8=0wukXSkVt3S**v=pnn z3T_%0Yr9rGA6)^pf{dDDR4eC%DRZL0`al zI1}3N8MoYcHS`3aS%Pst=zWXwCdV9Ed-c9Nrt9&!R&7%rwLg#<(UeY z%=S)ukNOgC41Y{)Kd~prZJ+s_@vKiixp?WRbH}d9ApVH@hYn!P@nvh-J(D2HDOfJ? zSnCB{dCTW@o>9lu+xg%>F5P4ruH9GM1^cl>&c`EB1)FRXd?7blgmpsm55FkX4h{jYidD%whH#9+O{ zP5BLmZg>O^S(^*?Lv`am|MH*zoTf{hX>A% zIdW`zc;=m7JQlMMuC6ISYa2G_$Aj{6)?YJg(~{3~l=k?vDn&IbGcC7QoW33{FN;XW z*U(xQH-d2!>+V546d$I2KrHrTu6=N1vwrM=cM(sBk%u!yJ=w6s0HKCqdrxCCXQ8M! zhvjH<8;>v$hi0W47dw^3&(5WrVzHG1ifK=kO`m}rm#n)gEUtbOY%-4Z5-}aKz2beT zjpEsa*FSI7N>KJhAhwaFMfWfUMTjRG50Qj1JZ}I_Kz}n{n+^F;_q}KddmolUU)q3O zqJ`oY_1V+v9Cu73R*N51`~n6FeAbC+77%hsTZZbn2ednymg-PEnl{V&Qi4ak^jZk1OB=@xW4x2m2PWOe=UiN_S2iAz3-j< z-XD4SLHGY!ef~6tyLaIDSMiYeDgB~P(UW)#)1B5;WAZ3@%*#%kk&W(U8qLHxQGf0$ zt!jmapFwCPTUB+9@bqLg=)6YL`;q1zH(5{CssmH6!W_?NFCeC?TIGdeFnt#IyAOrk z)w{=8&=K7AKCEEIX)KRAokc3CH^;pucAhwhd5m`&Vg89wpd+s zMIM&!tRdWNP1^c(R(5qU4EKKiQ=7xT_qPY!!!4Dq5o!3{^7&L&h?u(#ED|(^3|es=4>&# zd3!YUM?iZ8DTuEoOPEYxfYdyCn74CUfvIk|_8dYGC$GMxn+7_Hn?EWb97Zr2LNy3& z5T{EsTMRAwKt@DT1e(20Z%g6|fObrSUOx5J=e8HmJvNANUW+K$AX%|nw1)|;zJM+P zqYVL9ruHsfZ|&V>&=L^m1-Up%LJTn;ch@$Pf{svM9pYMKVlm)jjkh*oEa7WZe*84Y z8%vDeJewDxnV8K6jM>a~$Ao_4_0^5`nBaTu{^o=f{2NZ&KR7kIyRsz=-=Kc-$;0L8 zGskGSCyL(mf50B3sx)7m&?2Xd(!)|xP-YiRWxKt@!Z2fH$Px@4eCIl`CkaMN1n3}q zbT`^tSqb1td08)-f15JG3TEIYW)*v@tM{ST%hUk08H9LTL%f+g0D;(O^rmPn+_`ES z%eO4jQe>*hVgnB#U>(YxB5sSi=N%?HYdPr0&QvnY=^8vpI}wt%pDV(V7_) z(;t4O7(9A(tyq}(BqsfwyJe^ieR4nTcFvCnvvG@h#``m;bO5Us;IEpWmw~V;Jud3a zq5s4N>->^{S5Il!dE=&C^`p6%ezBPnS$j??xGDu0)zS^~ePU6Eqq%;Q%KZ_0^fW6& zouLuyq<8~8$J*(nLBBv)!p&*_aDxKlzCl8p9?|uDGrw7V!n*QFS>=pjF^n%|^9(Fb}30-cOOE>JD5_>7^#yqQz19HdF z9(^m#|F~E&og0i7nF?BD1jWmuDjSR!Iz)qTMS0uw$R=eIdoYK_)7Z-~_rZ8dY`iTg zPrfk7%kJ4CSy#OoxeYjsW==GJ`;+70kU5_W@5+C8>YZQ0lL)#jS>bY%8=Y!+>!eU~ zH2j2+C>!d}ci4Esc(P4#X=J?wpI|=X5NFdKWg}5Qu|-Mn;Msg3JS(Q>2A^YrM^s2} zW#8!7A&`pFGVgT1D&-#*JFN0-j2rjd;nqk}fW(eq4vvpUIlH>LRdG+G`RlJgecEtEvmKGl|S`FTtx>)*(8*uT&U9#-)CT+2d1Q^XCr zB&?IX&hKbShd9%VL=^8c?l!|-#Y;mE{vzP^H1Va4dKUUZAkyL&;1=eKdy-sL1S&SU zQQqQ$wzGP~;dS9&u^fu0LsX)@NV1QEhTBhf8x?u`Xut93gfR#4O16EaqNu z?ASEn+HfR`?TFRo6~e6J?v<_u#v6_2^+x_ye7~U^oA-h<*vF#%s%rvO>yc zjfMu0(WW5H8&WKK?CQFwr4hQhDxU0w=iCW+OrG&k!Rb}5?4I-+>!F+ zb4QBl!y*=hQqr;h2f3Q>`#-ba^X7-IYQCjvFz$}|WCk(AYqdd7?(*D|`AbL+Hu2cd zSEJ3f9T+b~nu6w{H%(@ye+R6cBL&n4_jk5;FC%L4nPm{6IMll1%Ik2ycvDwR>#)NZ z6S=|UNI~h`P=uJFLy8YQQi>O(6>c)W*S*g7BtRQ86o`_DI(TzuHqZTX2SH=;_|u1q z!^daWSjv5p^5Z$v?O4-4l4%psp6?Svdc!ly;3?EJi1xj_$0~Zo?-0O4jAwMj&#QjP z+>u-b#?vn4y@l~u-%&cGo|F=$BxK_o%^J#ULOo>wu5OxLj4QI>CN^O-Pxi!R`G!7W zVh@-EsWh&`2Z<|Ku0-q?ElD*N2d^bSR#?FJ5=?~ah@n?hONiXAcbr5PF3Z+9 zE)TL7eGGv&h|0Sy^qJ5Pk7mw=LH4s51_pllWAYS#(PoxDxGz7Oa=D9P8~NJ!5}2S5 zZu#6#59Er~_Tl-kkhbI!-J^@X5!lh_jBmiXxu@AJPZ(*yVQ-PLD?*C5A7*U#;JiJf zX&C|4?oK)0*amDUKZ$OLC^P4q#MvXniFNNKN->s^YFFN<$&zK)GNnXRP*jNZ2q#Og1&9IZ)anc)MW$+P?wnIxH=nK7$at~VERPl#LZdwEAMFirizgsWb38Yjoh!{< zqMS-?z|?%l+A&#QEE8moz(V|0yp5)3D9a?U%(anD_G@)~O45t1sqWuFwqKujXu*&u>{Ier9MPAjo#ByFEe)nSvq(r^>LISKy@mEcWgtIqsjRMD`iN;ZJ(FlRYK9E?P^8BP6fY~cCKyXNId#YR9T;_7+jExN0Ylj?kp?KoyW5tOh zbL6@Do|^StN4Mz~!bh?&3I#qcy3p)z;8e=aH`^m)-nLm}Zw-xK2-SLkV79he z;|;FEno#w)T+hsb-#1Oz@Uk$ixO=9Ubh+6I%W|}MRi|}KY8%L6j#bN(rheRWnko_j zjwK0MS8MLyO^;75Od8H9X3m!^Sjjc_veo{%rY1ECnrHZc}Dwaeg@ap{Fmm zj~+P7LQ>AQ*=u;fjLpSm&vIXqow?I~QE;ng@xA+m8+VNC2O2=tZe1y6<{wQv4D~e( zDQ1^8$zr;8x-abYXMU57q}_c$V9A9e6)vB`i`L5NdD&xA3t<}Ka$>4#;{_*ZaILk2 z>9>K#bXQ23`vwwG#=5!p0xQ@f=J6A{ve`gQx*-2HplHYi{K+W*L5 zNJrKz&p(ev&Ekj5M1l>4oKG=nfz;FO9qh03txDMFgx+B zFrBxt245%T#y~mHlKP7H%4R$-cvpGN8UM8L%eRiia_bUONVsjfMqs#npHZQPDHD6l zJPYKrxjr}*tD?6a^)2V;gpy5Ykc12wQtaC3CXt20G_rwsfhsn`vVA7$L&_fP3-W?* zvL44zAj4WTl;uRzMEN*OEjR%TS-Y*(-`fTZy+QqYRLqvBeB;gJMZyE)k!Sw5%w z3xwcrIRB_w)CaY=1GY}Gz~dS{j=<1dZEXv!ElX=?G)Td!Fs?Vb$+E&r%-lG7)@yUK zy?J9*-@d)R{gXd&zR$JRQd#Yx)lmf3xG@GPe0pq~*1>w;&k?V~XA@ zFW((6-C8H(vK?XR$K{+smW;LVM&C{{WglLg+PivLL?(&cwl>(|mlXax#dR4}ju_{} zBfA^=Kvu`Cz+x{KZ`i;+ujTCZC1n`ZxAt~MX9)Hp@on}{nR_8N^$K)pCRAo`HkI5D zhvL%7LWZyq_3-x1)!ypbX0^RVo{q>i zld8=8HD{AO;qh#ZwDHT#KcopPFO;Bi}QZ zOcqKA7|*^*vYa55jG3A?^GKIMZ%)CE;;Ow#$%!t~K0ZC*m2w@#GO} zkC*NzOn$a*41H`#n@-CMgJ8;Hm4fwE?c=^PPO`5#R(($z{D&Bim&%wG;yUjw7_XVv zirGKHXmjLDsFaoh-%7wNV-mZ(aVK^&$u8c!&?{#by2CTi9=kj@-#?4~N8|+8>@ry( zw=R1ZjMvPm7tIwe=Mtop^#tQ#cpkqp5NpzB@aQ$;-(WoLh4HEvjLC0O6_FCt)?}5{ zcXjoYaal8`U_4JHg0rL~%C;O97j%`_cg2kUe~9rWjdDeZm9$KUa^tRF;OKJ%L496~ zr!#lV>x*7_Dr2uV?hw9S1Dz!XX`jL~gA3OY`VX3)?_oTh@x>l*5!@I1#D75deGJL9 zi-pHTy81I_%C{gwX5h^x;}&jm*TfW_DGp(VT#+h zy;*MFeVAx4Ll8&v;Ja_wKcil?SY&pJA^o&2(CFPqSb`PIGMSR!edKInI0RfZt<5q< zx`a8T;;|lMi>~~*yT1L%wW*%68%dM|4TGX%qfX7GwcFg~XlG^RY>tQ%@{UEru(3Wl zr(V@GnJOFNhM6^jD`wF+6nI*XZmo~Xc`-F4gc#ZIZoYEu4Vp66S!|;+sRhxrr+puW zl%2YjxcDppMqn51s|B~LuVO{^&T*w>VVPjDRqJJ<4r#DkZO=!-aT}ABEvFL032X9N zEQ*_13TQ>kvTVd{NXMH2ZGb6@l;Sak!}P5F+N?{8if}dpkBl4UUKFoG9_N~s$x7S+ z(gTZOq+2%i)gJ4nT0##ITSJj`OuL(vD+AH2vY=Wb7&!c6Q2~xEYFU`npy1A#APJyG zB&C$WyYzdLwA^fLVBKWp+T9~SXA3yTHePX}kQ}VCg@sElVQwNTe z---JEcct!#m{)f!ue&nM?b#EieS{6n|j`L(%z6>xlNdR zGp;i1_+K{n&Jw9#DyOH!cW`7eYRT3*7+huFPq^1uP3FO2Jv)1ejr?N(J>O0gAZAE4 zyAb~hhD4bkM!({wGs`l*%}pi*hf*QP&0_B0B;fy07?Iu-ar=pCeB(&LHU^@fpR2x*&82wgg$q!+P!tF9RA$DWqk?|kqeF2 zHWCky_>H`EjV5w1Q|`(XyLabqR_LwW>o?jg!fpa8v&Op5{NTE_9JYv&D3we6Y{c%Y zp1@GnX>%{y4lL48-4JQ-v}dg8VsN4%Bt?ca9z_N1cdDy*Yi15&=VdU|m>@gZ6XjSL zY6^=C?K}CAv&ADHd?Ld4G$&7m;siOuSjeBDHiDy_4Z^(H-CK;WHiwONdvBAVo&YWH z-D73DvkJVCLZ&W)QW3`U`t%-c!yl&Vl{>4!=FW4un3i=Fg1LVykq0J66a-x{GnenJ z71Ik-yqkCGb#5!M6vd+C)9`^wIL!Ge^hs^HW5rv0QCHZiL)4 z$5^>@O?NzEqd=eS+xfJHJjeoagDR%Ss6|O@L8Ul zZx_9PQEJFbOmDu@`js6iOXc#KazN4Ua6CPmx#$#LYG3XJH<7?n-R|#IgXzSPbZcJU zSk`6Na>vqhshXL8zY7oCteSc$$NDHsTua7T2|+xHsLHcGV;S?dL+0>a|DtQB^tT}< zB&-vlo2zYH$0x_0q#`%n6Kgz2qfIxMzQ&ldC@*M^wYd7Ra_-Q_Cy%`M@0WfLe60FC z3+=~-z4o8Me7*&xa}y73aEGM)!0!Q;i3=24jDyyW$NY9n1Uq9cla#IHn3gOOFafbQ&={;N$8AX#>VN8GI(v6_h>d4FMW;MY~$DGz2KyEea;-B zG!7*A{0EE?1&AUZvc7lS2%$>UZnKGDN3erWHTS&pkw{1yMX8s*s}Lu0e@oJZ2#&1D zO$*sVGy*|&g#Dym#g7G3{ha4hw|HIPj$vRDG;~?1bYjWWSmsCuz?c{-&>@+dfjct< zeBw+s)rd5!KhZ2&7+ zst^F(W7a!K&03%J*wgwt8nwLis#h>b5|SfH2;zNFu@EbZb8)N2^V}u&T16RFmQT80 z4WpbXt_SV8X3Z>?arl^y^Ju`QTGerk_c05fv8!&u6ufatm~Wzlq`2qiKYm@==i*<7 zM}xM456pJqfF;MC|~ z`#ZI>!FZZ|9_>yI4i1F&m}Du}q+xfu_X=yRFGCKpbCxfP^EjHCZsHe5;S@UD?)Ta^ zb;r?8Ta4nOK1+ahsn>5$FkX0j)w)WEa+SL|Ydfyb9@Hhn>FM4jbI-UGeccM;6}!_E zk?_1>aEGo`{+4reUj-p;`Zg9n<>sK@nsdFe6eTzwPtSC#m8IeCKl;Znfi5G=#+k44R)|K{duuKd z*;DcFu6Y@3gRI@Hm3td))|xlXV^&wP&hGAA2TSZL>wy<6!4Af+e1cSGoyg>({pg~1 z-hcs46SDPTCZ1jdR!$aBe<)u&Etx2amxevy42`4?^S^cy&{tc_vCh*W2L{D6U-@Wp z<|8NcXRPzmPETeVQ<2CEnro7A(>9b;QZnh5+Qv5LN*;-{Fx4nmtBroLTa2rS2@oOmch`Bx= z9+^6%z3LQq-9nO&?cwH7Ql-{1FPJ%_6a&P(?cIkVfIzJ^Vi$&g2XHoge81dQxz`ty ze(}hlc;r-^jd&`xs@ILxSr*j1IGXipgOKbZKpsogOBx!ymU*y+datRMG}x^OE}u^y zYredD<&J&BP4!Tn!03dgRAOG5){FBk)ceEwAXV4f|7&^WrPSL5ry2# zvs&;F<24-%FQT`LE}k-E@u+*l-aCr3lb+wlcy-crt4oqw(X?Jax*$N6tZEXNQTP?ap20bc_0TSIZaHQfKj zKsXC?WL-0s(OC6}6VwO@qWO~0qI`j{D1sw%fe3&m$TZ+5o_Ia(6L20=evP{4aUDkB zlQ=13X{K?-EYr%xBWAs3#Y{fQGGdAi3!v!A7dS$|QymsJ!j3$+4FnSxTt9Yx4rR6HrUhCi z$OFRa`zsi|eOTVnJd3$=uWfIz;C^s;TWcy-;n|WqXsftHY5?pM-omt~n&Ud3m{+oQ z@<|w1gFZ}LZEv2xdcN4&j%iwW-8ODO_*jyr)H97Seyffq^(oAB5%=OITf8W)-BZTC zXWa17>bB2SDCv|&M(BnHiq}L<5d^zpiP>2A0qc7&GMQ_DWR$MnCJhwtq&(vGJR0=enib+BeI{O+RV&@m3}!hXz@v#S<0~-Q=|#3% zb({3;kw#FpS1-#>`VTIyF8{#UzxHG5{HuDD|8nl|8S&$OoOJZQt;_rLyO3h7SAg~p z8tKk$96@hh*@?ZufL!lquV?b-)tx71l0dm}YN0DX`l zM^n_Kd}BWxAAhV{&drM(vQymrnNQa9o2z9T=n=mRh4Ex0loA(@vm=>=SaNVrv3uc7 z;+EFt?)LUQ;+3Po8*4nSnD`CAaMPY?!6HW3SglBCdKFK|Ch;m>a&TDhkt|gUT2jg$ z*lZT`eMIX`o6+Qhqd^F%ZxSV>oAfc`tlsVh*McNUi^ayw;RE%#-}b?ssl)RD#|Z*H zk0kk2;5^%nP+kg*ooamP>fY%7dTSi_cQAeW7$zuz}xu=iTr%xRn!*VS_oADI;gP6WPIF#u{e7|fH+r8b<=9c)0 z9d4uqoa4Gb-ejaLOLlX6=HvYQkh_1s-eeIN)T?s{c(H;psbzUZZ{N2WkW2#}+pE!h zw&@9m^0|jGD+G*|NGUui`U>S}HFZxiZAbZoP=fuzd}>)SRn+}+%XsjsVGZ5(X!fZ` zFL%zJIUT`lb1ngxZFpOAb6=r58@CZJ*|rhBPbmJ97zzJ*$_P(s-UsZBJDpFq1~anZ zB|yAu`G=-j?{8H7sZSAjFRBKM6dR7_aEDE^7=y31r{|skXx~7GNp|zJfqKwxE^6%; z&ChcUBu!G5cKtfNHmP`VM!&^6K7Kk}mU3ZT4tqa9CF`ZEf)^`r3aVZ`~1@FfsYm+>rWr;egkgt?dUD;t+8sAX%@zV9;~Ag ze#2v}tTo6C1Y+rIFieh$5F`LNgangf9c!#=kg{96(!uqMvCVjBiexVTv3*ufI&#i|Tj}jvh%`E}J zcn&v(3GoB@m5NJZuzjn%=0SKMpLwile?AhvV82qPSaW%DOElUCPs|icvQR!a8Vouk zd0UPr@r*4dYo)UWT#$ z!S&m-Kk&!?*x6rojQ0n>?r)yy48}hWWZX9vT#=a!P4!;s3?>*)D|UFtyw;oPpVfCS z>cwaETg}RiK=v(+$DHt!gF!2nl4qBAYF>iV1$}GUIk(&zKCV4-at>&|K!JB zZC$^%RujPP41^rft+jY#d_s#@+_EI?70ERFU_dk0iXF-h+MSu{mXa0}pZVD<8P#&z zyf7x{JVNVny&(}y!hS@UYepE8W`_U`yJ|AjQ#dwB55-}NRcSea9S}b6O64rnn#X2FI`IxaT#X+vu?!tIEP&izixO2rW6u+{c#4xyx8+NgBYXioc zOoM6t7200shP<`*HjJkY)5hW6Wy$T$i;fTgN1j+H9{m`#Q-prl zGbc>NWVQts5iUP*ZM|V`UM0A=;+_*`Di_=Y+%6B96h|;^3w=!g0RkEo)^&EX^*sbB z&Pv@v;EjOcm+P};vB!dfBJ(|*z+s-`OY{BVquP)i=Y$(RJp0xc?GM<9YzWtyNT-zH z^!|VOX2&}?en`IFw+Y@J6k#F>S}I1>e9>mS6!(DeC4vZlLpp7XOJHYWbcLZbe;y{h zsAzB-SK5?i5Sjq_gnwC#2%Yc@lho!rf!ecJH0&tNQ@xVK8Ph79bGN&9b6F6~1fnjJ z+3FnT_BdgcV6oMzWqW}v_AG`IcZ)li^{aJ{yMyuO|8P~+Ueov`*CM({n{}!MMGm{5#@1aq;n<9pO}1EVT|DS+Cbud&Q7dRuiYy)vhoJ?Y02S^2?Dr zQo+`&@?2)!C^EA1w)J)-I4$+fuw9KVwD|sA!7!bNutqafh7p(-bi`v zWPzRI2Kd1Po!&Qp?CZbmz;nkw`*WXosp;;F%)j^X2L|17uk0SRA^Pn)iLl!-F1EPZ zXnS*nca!^el91#BSbkqi0;rp6@{P2vDq zHED*jJJ2XQ3^K38x@|EnlVc`_NoMBQ)z}|VS1T*fJn6Me`$moz7l93eJ1cFu8H+8h zd!FGtz>Rk6NB==*?}cAb1A)5dr#BIQkC4O;BtacXSvsAa`rtuu^KC3L8qUQdt@6O4 zHB7*+>o=P$Kq3CFb0vMoK%4hj6aM4<-{=^NX@B#60lyRHr$S`r+HWRRf4s)hbo zmQ>d*c?UFQ#+<(&;WR`(-4n&y7Y6J86PYggT_*$6H{mmp%E(VKZ2dkO&7E8e|)!l z^2n?0>8Uk@!>uWbALHC^U$bks>#id;jWq&x$i2KfND4~pSH0nNk}m;dUMm>WeQxO| z_4bSSWwwS{>tIeCuGQT^0Z-dLB=g4_H#wSN? zAA$1m)XwR=-*8FhQAnE6td+_tUR1wTLiz9retK$Zda1wuPg_|vaW7Y2VJ>>h%6wJX z_rq^}#tPf5O&8{wNIZYy&;8~9`IF80_x|}3?SZ=dT?^&u_Co*TSjl&z;rH9nTlZ!4 zgYitC#7$k!9E1^Wix>1kyfMMRDPZvWtT9D-6Ll^*x9QpItl2*7`w7HnJxtQT7K4NHzWB@>{`n9gPXenE^E(uJa0 z&Bokj7DMnlHFQ=P4-Y&cOIqBSep!r{`|W27PKCBuY~q{MF{On+s*TdLp;%zm@xWT{ z;R}2TE9Dl(yS~@Nt7FlDy$WP+zdqU)7Ypyr)-7x=e7E7fKBK&lL#kOzQeFfHN!-C| zqS>G~R)pS89@p^i-1DGqsaBF(nBQ?3?Jlnl4{M+`FBWv=Ip-h8oDSRkt`hFZFjSmX zys>UI7|)VB#X>BWc2||fDn#5o7|-~uv-!g>iZ}7!bGkqv_4HjW`(bqrM|&E(jr+7^ zwvxfPzVDsScy3CSg0$|~qF;0W2XuLafX9uKggf<3_dVrZwg!2wxS+3JQScpB=LA#r zw00m9nL{Zkx3)&TBnPoNdW>?a)1h1D)~x{<7DA>N@$0+vvwU4%E;$62r_VXKMSKG0 z(2cbd-iEA5{`8@>rg6WsWVEZq`0nZB!296XIj{fV%+$^||K4x?BL}|qTYt;Xec}_J z$k6_(9M3=gyTv2885&FgWl%Oc+Xck zwj{qujR*^NxYUCFslw#Q*ZH{t{aB93OXIaR|W^kYjf?wXaX0Jsq*M?s1B*;RnbEZ_VN7K`;;k5FEB)m&>; zw@J#7eqepb!Zum0l^Kx@+l;v226ESfxqc}VwsLuKBq%{Jo_it~&HR~Lw5P#8c4F1* zeA;O3uZLWCQy0R_V)f2uar4!C<=u-b)zX#KqCY?2Xh5>4?JOVj42EUH!KzZoW82G7 zydgwpYLZ5D3D4LQ5Dw@kmVxWNUe((WWIDpV2#!=6DAJ=|ueHHDlA_eN_4FBibrNAP zjv%nAVLTym+!&YV{%CWzCdgbD21X(|^Mt~p5rzSJ+QxD*nErDx zUYgw}06qQ0;_i_XGp}+xUUMq0>!}ac)4GQ4U_7!5b6*{(2Ka8Zc_UTDJ@s!eo^rx( zRIj>kY~WM4E4#DE0AWC$zcZZFR9h5l7y+HRvyL6TjI{EO@XaKZyrJyJ-3H^K*I4P5 zlFfM5I|leJo?4#PT@A)_T6l}%plj>u@uJ_W%81~8ALC^uF=q`=>Hu#FZvo>~^|J70 zuTpHKo{2j?q33i&D8SB_i}_Fdg}?Yc?_s?3$QOAuz4t}l`x}1S_aTy2@8H+V<@X&1 z{B$Eot7vM)!7wee``RX(7o@Scix+NZA-B^wj2KzgMF1BQ?Cc$z?6Nn7>$n9d3{YyM z)3OE;&;c0;5YJ^lQI59};Aar9xO*&~D9~`E%-axiCcr@xoNHlymH13r_Gp8{AHv-0 z_Lh77P^1$su#mPItBvnAh0(;hNKQe6gp)M)<=)SCWT2RYVYc};Ir2bLSUz*gKSUp9 zP)dFG0b3N^MM_KY?wad5s?F`KvyeTY9$e$*KMO0YtYUC#{@^b~TO_-SWGu@Rrf)k4 zw(9obIl08WG`8o-+L_V`NK(~?Q|4vfT|N-_xlq!CSr>C3o=G*jB0Zl|O(!?5|rJ(Jtvq8nEU@&Fe z(4?D&O;Um|Zm~P8DD}}tJu#$luh#dv9T`0AgZGk(oXhX}%0j&zWl^xv{y+R9#S~N- zV-`GUHOx?;j|fJZm|?8$(vi(WRxK_#-3@j8c4`R{!EG!h;hI`*~7{YfhZ)p5G3*q-ZmZt9;?`f$lc<2n=V4FKUQ z_g_SCSzQ%-?lEn+L){iKoNphRC&}3f;h_y0?8ApF_u>@7F1k}??SAHF*C8_k!^xrs zC6AJ@!uT^8H)$+rR!71(@>fDISy@PNte@S!MULjGKb`rQtfOYBX*wk=-u8CA`_F!2 zZR;QZ)45n%wT>)E6hRo8dATr4E@%P)}a&HyFCoOJW6nT)i86_Zm|6& z#PFmcU*TKlqWtP-uAVME+yQyY&Eqgf;;edPqo2@<0yZm#Dx z)@up2v&PGJ9@x}vg3QcM?QX7a_jU=@#Rw^;7G}oJ{NnS1T-c;lYL;NFiGL`|C#LnT;|DHs=HZ7q_1 zPS)0DBUpJiP(NDU+-`CG&6H>k8@r-=U|QhlCUz$6Z?BBip0?Mw2=X4>mruM@F!rhO z)%%;(G-2wKC+3R}J$1Br>f|A@^jbT`_D;uc(_|D6Yd9Ph+nXe<`z5Fkp)Xgn-p2U; zQUJw7a5pVy#q^v?T0!pL;qSZ7jk~@qb`3UPKB5QcYcxwkNx<-rG@rhL)^+Lbrsz2_ ztRA`|tGOJ*<%ThBj>BEtA2_`Ea zIWsN6OZTK3Z{TYSnlV%N2QT3b=d2>YTzwIpJa6MS+?#5!n|Z|Ir7X{5D^HLzPsyZw zo*4+sxdd--oM_GmU?GfS<<#t5^pl|TQ6t4=7GtT-`x(=bHE44(pR*?H$I0_0H22!L z)xBMH`(L9OSw|lp>JwCJUVC4+w`;GYvYy^Fqi)gl2*xe5AFl4X zB&bS8F4Sp*6kJyppCJr91U;neBx|wfXf`1NohEKjJ(o4ixjaX3m&Mq_*4oipbT3$e zBh0DlCu`*dp~d3{m}M$ZobFy z40Be8onQ`Si5sWPbj7544ezEli(oHR?%?sMHbGvNj&f~dI9^{K-Uj^c<1bIdas~2* z@rvN9_u*GCUU0YUiAAGWkC0RgC?(4J3SRbpFAG>Ajw~;$4Qw!eByGes?^q9IK8;ep z5u~U|U=`Q0dc5G?MRE*#fpF~NCG~q8gh3Zg%vqwD;tiU=S;9dYIGM=Nk$MSy+q&uZ zbB3hh%+?$U%voU($LOwgn|<*Zt;e##8{e(r*3QDVlx%rPhN}^>XuZ`$QTirKUhVa{ zWhH_VfRaGNdeuCTG4d)pmrAC9q#GzYyA(@t$|C^W(oZsSCdWfNbW7+^T(*DsyWjd> zf9O{Q<9+m_Kiz(6`f@Ts|D<^r&lFRz+V0Kw2*!E3aM445*Qo}N6V4O6un-Tu&{BztUvRa+iNd;`sy5kK~3PwUEX@* zzL^=WwV6W%da{(RPtCN|uNf|vNook4j~tP(+CA%V$3Oi3pW8eAkz=jyJpDPMiy(Ym ztT@7mW@+c9ZtM}UBoXX`H-reeiPj$_gkxz}KW4;7pw}h$Jc&w{2?1X-{$~)t0pq_b zdfl6b`^$p$Wm!!sHG+EGqY%3t7!T=$C>)SvvhY^10BjEQ#Huq$ag7juUL0fk{AxUi z2gb^Fj|*?IwHEV-rp90XjZasHPbFlaw;@dMGy<>)@kd*mJMHV&Rtlj_R4a}^aUCWZ zvVg}5&sRN!CT)n{zv5W&==%=a z2X%JzKf_MKU$GXsxF0D=dy#W_#t<8utSJVfG*$mWkY;?Nj#&DDRvcqAQJKRcmt_ zTGx9iq50od(GPQIsQ(9I!EGKrF}EW0z#*P9Z;;ZRbTgqEML$-K9$zAWJ7QxvnR=+ zKL_K<+93HW_FvC9iOu?znh4xtfx3V)dr6a|$4+Ps`+DB}E`c1NkMgsJV@57(Y9kFV zws1E7;WWmLkjH0TXK_EkVZYz7Tm?9?-tSN9W={L5wB}@9=*#53=G;5~$>bMfW0$}z zYpdi^4TSofC-NfW0k}kl%{qV z@29sP7<=OAaqUQatyt1!Rj9cX##^N~2XhhPMV;F`2<23BgoYDWJr#pw`tf$f3S8sL z$h*}_juq+Do#FW#FIy2$8L={iN2_DTxvAzZlVu0n-?rEy4yc@)`GH501 ztw73bYZ%H)2O7vy2euLWW9P{zvu(QL(N)O3yT}$ z)%!D2x9Kd#k}T}R4BQ&`NuRQEY^-mJt2U6sJp@w95JkYECAfD(9%^h=V9dO?*It-e zr(P0ggOF2>f<}lJ%OOT+gjjpTHk%Pz5!eirm3#u*O!@^%ZM`lr#NR*v=HA~r_lZw< z@ZbITH-`?LXqUaeXFPv%O3@d>7qwoP?zbPc8B*Kwpy9m-Ae}Jc`d_0ut=;aa-Uzso_kAiZBajv1N+0ErRgh1QmA;i=<>sFwBt1jW+==lMf>L;^ z-5C)69OGLNWII%u6eH)aoH6$yjL!=Xf+q4$-JZ)1eSN&(}UL9z11LYb9bsZ^!Ty*ng8-5RDB-Lk-j!PsX)uo9f@;ad1FNC z2HRQo*G25JYR7$dBrcx8kUFhj>~e|qeZ0F#ek7*b2KNd5DP~?b?k8*>MXV;EYl;u0 zu-I)2#GZ_4Yxl%{PE)k4w=gJf-ZGWLGu&shRQG0k_0_fQYQ_5=90A({_k}J6`K9tQlGg*cvc>t94X2Bn$FrA z-(!vZ8h~NE5-ULxqoNGhcF^mI z{?juk-vDP z=(Yb8n)(i$hd5}0@tT!<+_*Y&g{=weDlV|BVl5WddDyK*mT=m&tJl`9|t)h<+z9cjX7tMNA7r#!8c+T~VS^7YX zJBrH^#&gndJ;zG85z>yG+Xn_!Hpsj$8czX9ovf3tZ6+|7bti$?DCcDsjf<_gQmTH| zqYcJW*2uVA<8FD9d#!3{K?u&ybatk!g+|JKJocJAK`pZ~Mh z``g=OEwBecX&^K`ShY7lKga_keZM1_K&(Em6mNcQ?k8dE8iC**tC>Z%G<41O7*g`i9BSU_7q4 zFF60K-fA!&T+SN4KEUyRxN&d0J6J&4mbtjSj*@@^6waa-pWXnYh7D-5Z=vR#*x40> zS10<7HV3Wt_A;Scy48pfUd2thwR(4hZ3JLx?jAq0SpTMPdMcTf-KB)^0vOM|<;wC# zapUspXk&ZV1g3n&Gmt0=>6q|8a&AzNkd!-Yrt?^$i7J+k+-oxn;}(rp^)lV~3fz|? z{2(@&c8DKjX z%VvpVikTx*_0u0cS)Tq#Y&BF=x#n*ahiI)s(O)=Tb%1lA&!}O&- zxMxgZJaWr)xHy?0-RELFmF6q5ym@ap-~-kOvaJu%xlaIn8;4|6RRd(*RBVZj=HlaLN9kBcFJR4Z$63mPfyE^sELy3>~5=+YO?@zbi!+4W{`l9}A2I7ml^Ec?GA4K!t zG&uO><3a0B+e&@JoIiwlA13BN+~uNqi=Jr4it3KW+@Q>023m@RS1dA3I*3t+c%v1< znYd%HXi$dKLJdFhwdBSp11(cg3(YZzM_@~YKju=4xDXguUBV!CYStZ625~vWG9ccW z!whV(li{{H=Y2=iFBU*ppWvH3kRe^3M_=PNXnp!U$A9Kx_K04d^c z?2say(tEC1HPmZIVu0(|sPTzOZ!K#TvCss5iosM~vbJlnH?rjA?yWFoc+0DhkI{1IK6g>X}u$%=bQ*Cvje zO+ZC3Oq<_|Ye4Hs3wPYE=h4_z{cFiAAA?j#56V00^{U0=GRv5)^6;@m2@vErn;8;9 zZ8#^L)p{QiW*BOCX9+gv7D}=7L@Zd7({+=z7(1o8+1R`=q@l0>bDNs0!52NQrVgw96lH~ zU_g`B(2LQb2o75bRNVl-G51LB8nukQ+f-d$OugNj8ZcsIsigDyLxkjG<@k_C@m1Jk z`6B~nG7e4-<1-%5%&@*xk*tseyaZ_pt{;oes5#fmf$$(5lFl2~%9X$I!<}kHn4^AA zAL=Co>Djt{V0IHd(Zriy2j)A#V`JUdyanMEM~>kt=7sNKiWL9v5C3Bd)ZNZky#KV_ zg)uU|<$wWZkNa*=-u)#)?#TPKXk(+JeOEQ;h&o*W&mL7C6lm#sP)SKRBpUi#2YteXbIN zxj~Z^kyetdFq@@3W=C&ASln^iZZSL68`1bz+sX-- zVe^?srh3Ea_np4kJ$7gw4^#pHcLW!MKG)N@g;`4yfIn{j{r-Kw1O9?aBj4@YkzQbB z82*@fpScrLAhd!7aZyL^7xl)WrgoEcsgizila%2R=U-9b@P$~h`(Tx%@dDl8CsBGd zLFTz^#6=@>-95Rn)7#MBkD@yrE4&%+x!OOS=tiA4$jMpSgreg2c6yEJkFBJTqMLsYcO6sE-LY+noY#Ad2j>&UXF#l z9>U3CIsp;<35n9o<$3&944?99;?kk}gkyp6BKV_8GB>?9bj*w!%e7iq4OltIe#`qq zk*u|nrH@BPn+xww<^myNc+3|#Y?K-<^zasUYZLz9Q%$`~ONr>ifya_`(n*1 z7Z1;ZXn3SMdN%zB{a!dYhy;ydWY@B11I{jA9ISml8eXc9{5dR{5y~~?X9{x?ODt7u zGMBl2TdtoGm=-}&vk7jVVOa;UaFk|MudK{^WWgRuRdP*`1 z%E-3VH4d*?C+IU=W$)g-t@5XS{CsC)Yd4Wv2y}EbVhP5Zn-N-sp3wJ-z?5e#i-i4` zD7joXFc4l=NFei&*Fy0RzwhTHNF8;a{kl^~!}^Jy11qzQ@o2dL@36pwHL9`LY+?}C zSM3p!nf-!FJ?b?BJD^WNq}*`E&pLihHAE zu%^U}cUi+La-Nl@7=N)+obZV}9=@@5ce}~pJxyRaWbqriNG4pDL;LPm#!%#Hgg2P) zjnu7b+-_45>_2h(9^9LHY_o)R)TjPG_U<&+vNgR6`&w(y`^@LmTy<->_tu@deS2~@ zZDd3&BMS!{p?n}w6oDKRqzH)*`Ggc9VQfOcAc09pT3{mKpx`(pW{AxgA`3?W<8-_4 zRClbZTk~+{ea3zEUitmksk(jp(pYXO7%bgYb?U%s!cuaq8u#ooZ)@zH zcB7p8kOB6D$f?Fzz`AoAKl$r-V&3s^kjIe0)9xUrW1Aw2G5tx$p4_#WIr;4l&R<@< zFAw7aB`Pv$B5U5Egd-rvNYuc6>%Mhg(Hj^~zSriC>QQ2|=<_kT@P+yb#%u6Z>^6)V<%^yPt(I?i-C(@tIn(PV zZCH6hlRTU0KU$0~bq(Vs->J&*m3_I%k=bCi7_WIWL`Tzv-y&{R$~iK?z8_({wEg5+ zljEVmc>0Y?)<65>KmOx4^5v(;Z)^mbk^GIF`kQ~&UkBcI=1=~i)@1Udcm!^oIPtJ# zR(~FN*vm)-;! z&V$$AWxRTpPVJirQ~n37WZ&R5W04@-X^31_vrslB=PNsekX;~AUN4{9d@N^7BK`IH z2twKBxe`tHuX9+5;{69vEZ9cqZJJH~>Ez^oIr83pjx`-mRzdT{(_c=I?7yD9sJbD> zJK5YW4j;2*WQDsBx6DRhX^THNwOCBnA_sora9U^Bulp;>Up>`Ckb~Rfce<&jfF%>Ei z6`*My4?eMR=ENLRiY=HS9JIVknYd`UF~oq!)M#qG=f*;6%F}ur8Vc*bX}G!1l~>a3 zNEQAPB$|>3CoMuHBs@im_}D&DG{P>Ovkl!ZExK!DbBs5tBE8$$!?{tA4ipOF#GM<5cjqKm3O~fB5(P z_KQdD-3u~ioUaaBXKc+UfvFS10ZtrTzkBxDpZV)wnj9Xsho@G?ldbJ?{`~T^e!Ldz zwV6^@_U!UOcYCWx0lZ5=DVId@&w=j2B{|}$^~~vUHKs65ArJ#q&COd|)@`SC5a~-+ zyl#7T=D-}9TTdtCu<8w3>eDy(2@T28J)vN8v42w3D#r*{?{c=Bn;n<4vepLlad<2jEons2NLOg4K7Eci7V=wO0@fzQ z?bqHd{`)`uGxhKI{?C*@@RduGb`&(`CwibpYPv6ydnoPQojU^Tdp9SWo0s+emRxnr zhkT00lWS-0-$@eMF5bQU81tYaodG~7b-%F*FZ!mgt(k* zEF&gaDSAsi?lw*~E_$7i<{iPYJXE}Qf`q}OF24B5U6;?uTh`#%nv}eFuRC*k<)}3T zQCZ18^Si&dn__X+iPrqlsZ_3=y!p0Dwo-qn5NoLw2Q0ZwZfkx)(xxxDvPtO(q;VTLXshopo!ka7AoNLH8{Zzi5ZK7ZL=4y9jyhqNUz zxjm0}n|3z*d{+A^ymVd{p8h4ncIdju>i4i;RnvHh24Kz1uNt3Io;iE4%ub;Sp>C8b z`uMyF-L;<2Jbh{%k12wJE-*Iv^UC+j?%*>9@BHyOAN!q2W*V}wye(}0W!&~U;w6kX z1vvoNj~&t(n2sNkMDg{HefsIk-@+sCL#Kao2Fv|Jn8uIdFt%n&Wjh*LficM2Z$Es}?RM&u7v|XU6j|8e&AhoA-Gt?@H+d94 z1g2tvxAV5pxPRqv9uJ~=c6mTRZ!#z}!gqF)X2sHf4(3w#=-WFOz35P$DxqlFcaHlT zPwWHZu|K7|=`>+HJTEUBfgL|4JF+xRMAoh!G#JkiFhFG2Z=zuylG|U2-oP9&Hk7Y< z9Rs`$7>g8`Q^D2gv@B-IjM$cwa2<(MZIz1>kevCA52KHh@sXB$RW>Vkf!SoU(4y5XN7?Bp{ZmPOSHgFZv^yFJI~2w# zOGT%3Puc{{QUiw`07oeXaAuKm5ZN4-N(wq+U*bN&I_4xNo08KPMjD8J+$4zw#?zQn;bL zd}?ki{IXm;H#gndJZP|&wNfvhGz818bZ`_DZSPNw+`jb0v$hiC2?43Z9p4Bzf#|uuxeyl*GPH+GA^|Gdb)?v*Lbp z2{Wa*G3SQa`2799_fD}c)kbC}Sb`EMq1&^(^~RD_Q1?lBK^ZqUpXQr^N28_Cad?78 zcy^{8gz>5Ke^00=o*cu&*kZRRyn|pCTyeT){ zWnbOWh4W_e0Is`6nYWnq*9_}Bmb-k%#TG@+`&i2tu)3oI-m><70Zzt;_v{!hQ~lJl z7!3oK!V}s+i*{@uxp8tX=DXvr<2^9zj(l?X*cV)iZ7bcs-9zI1+<4(6L0A|0t zd}8j1*KgZM9DMoTf3e%+v1r}6GR@08vpX(7ytxLXrk>vMn%>%HxLhHP6q z0yAzFELXLMJ0D@Z6smv&*+F}?Vh|qQob%dUyL*h=(2aU<=!7@l!}r!3BXiSHztZMV z`0V;U=X%X+FCM+c>b>piU^5X-&4e|lqgPQRi^cE#uYNnY(}_k<0&)e5caK!FI6^0G z>}WdX+~xs|;c%|AOJO#%zdzkudpx25YgBN}Y0U+0ViATP>|3S}dF!p4yOsT|{dw4b zQBG){xs9^w_;kOmLvt()y1{tI_s!lA{$^---;{gSLS}9*dFoD|ntN-0Wq2A>%sDZ{ z9`IOw4bh*s*9h&YuW0swwDfC?1}|INH_XrljV+m^1H9Y0a^jV72yiVDX;;bZ591j)Mi-x>xhag-8X1n~ zDMCd*a&&TJPW|?M)#R11^zPtE@3(qA7*A;OCl8%)uaPl*+t|NsoUUts-yEMu%b&n_ z#XYO+hZOAi6ytqz9Dkkn9|;}5&N;v7UuD++yZ+)uzDj>wW{w{O+Me;5y%4}JruPun zI>>jEM0PtOtk`YgmE{-hiQ&_@%v4e;6;ve6M*ORxIR3&>10+xD^FlhpbjV;08@Cfj}fK_hv(=x}U)4MT0l+^7G_VM#=hbj+Z98>L+DRkBu>9e<|-adDM|ZKHzYuoU!@sr@5ujpPLohQZSdiz*kcCdMD+7^%d84Q}wCQMrjM3z0~X8Y~Uz*%r^#G~u{bbsfZb`WJ( zR;t+@er7Y}+M~D!5;}ZCu~u~kyRGf*{$#X8%c)oGUcZ#o-VR+E`>377QA==Ur)(YA z%}LC4Us^wDSri1fhzR6O@a)4lz8 z76~sNAXZj31>8bK9&3IU_0$2^TSJQ zlALA`3B^mR*Pozoh-X4Mp{#Ym)i)CJ?ZVdinqfouUnV!_>Y)`MVD$g)Kd6v^R-@ckJlAKFjBA_lg6QpP3VZ zB05*)=28$;t&oHFhtp$4Z5^)=#EhUYoWPqXxwA<8mO@1&r-#7XMg0KIJ9~!-4QW%f?MsjoahPVLb5KFPOooF{Ezu|yD+OBUs z+HS1Ep`}RpBm9dyijbHduLn@%V6Q!yo0U+!Gn#De%$7pgGkC;Hla~=>BoF$$@jhRO zqX-ob?HacL4c3YJS^bNp6p68wA5Gta?63Mv0VGb(gC;RT+C%3`gUHrsp@{65vazF0 zs>xjY^k~++Uk+lMiiytco?Cj@KDDqU^+8uvlNDwP28=SPA-ed$%la5^NYxsv*Ui@p z6qG}}hvBNc>iWc;yy0nHqWZqzGv%!TKTbIY_BG4Mnrp{J+p;f)q`-KDp2Xj7X;(-Z zVOawXUK6|}rYb_pdu^=O@ur&w`uV1_4HMK4jkw1Zy(c*HVrsQ-cof=LNI&LDrLCA?kUE;_D7GRT-NujhrjPL4tc!T{-LNkmD+0@; z@F-UB6sZ`j41yH7{x$mtI-NwZd=II9sJ#FxFB@iSPlrloWVVx|FI6BvJ`s8l4I&yx z@y=&?Y+=r}s;r-npZTrV`S=)c=ti^SShN`X0;QWI@)g4!;! zUw*5Rrj3alU;9m%?SAr-!gw?CgLT7mcMoeC7+%gtDpNMfsN?QDZ32(Q5z>{0DWu`> z+9YM~+T=l*rr^*XMV334ZH|F)9?s<9AH^6V=6wd^HJ&<6E>zsc&W$T|4sjym0Ds1}qt7l9x?2$Z}?9bm)wucuTPytKisei?*GzZXGZN$1{-= z->{PFRaTpW?2i;w>ORDN#H-C%7(gCv_Lp|!O=+)>3J}unPsDIWAtk|oI)m@a$!iK0 zX6D8m%-J_(oaLDs1FF94`$>rFDRgwf7W#eEHhmmaL>P=Gm7hBwHg{Nj+*p z-V_Od5@{gywGm6^mb$%XKYMce=-%jPV{JE(v^bDY%;Pl*HvKF|>-(+6^D~>CXU>2L zC7o6?!)m1X$6U6G{;;WC&+NL=4jR;l!=hZJO;GNvt=d5n{2MX&_ARUgz@Uu zIN7n05rzBq-uB*n3<850xD1Y*Eqhy!?`@f@tka^qc6Ymc>8sDwSHJR141{q)v2NS4 z$_$FtM|;)+%Q%?Yr-<8=_m1~k*`4Ve@*-_p16AO=JaJVF0=(yHxK9{ARj0)kZ@WGv zA%$VFw<({9UWGU4H$~r+SItqOqHcrnwjPodY1Hzx3HwbbY^43|^<#`TyVRG}W>`PG zrSK^QV-C;S^eLDz6q$U05)Ze9_@*wLCh!Zp%#m!i08^&URh!AOL_CUrxr zxMe)yB^WPhLCn9aG?dB|KVXV_2*CkvGu?} zulW33Pn-(1!FT!bQKmMSn9Iu1bcT}tYD0rWG|J2Oy)cDTB~jOR&dL!Uc&=I-pVEq z9?vTvt}0ivk=v7_=(}al`6BUCS<9y2MT%+Au$Nr?{nWe#ZK?Wur#I|h5&=1rieQPf zjDfCU$YBc25jn<3{)Oq-U$b!XxZm-}>aoBlGp9~Wy98756UkFo9&K$EQ~ByJ2jZ3G zx3^bxS2&)<8}1W_#o7qqof8U!hNlpmA;f}`CE=TmeJ?_Kdr7p4&%W)@+1#UZdPRP* znIx>|29CuXx?Vncf-(rCy*yNQ|2!FGo%n)pHIvZv=1JGfWF-tNI_tiKw}3namH&W?Pf2uAt#Hz;-Fl(S(o`01}BP{leF;6 z*-`82iNxzyH+M!q|BKx?$#>@awA2T) z#zTFk89r&0$wPW7(~;0;_di~H@%x=yXxFoI`Uwa5E&${Hwd=*-`J4Y|^8XaS>jyty zDNP#BQsM!2lDv_RA4j1r)%u2ksNV%VPHFnXV^D1zC#mpMt5nwHI!lE!9W6HPn^FAF zK#lWT<2VaanDXwDy@%?&p31kGHA1%Zo6v)z^624-fjtc$C&Ty-#zMY>`` zpRpA}&+ggGGccqhK39xoBFu|Ys)-%z%=80Ly`L7Ud%4Q6Dqu0)XU!P);&B?wa$p1l zgs}?~e-a*>PB*NB8h%&hH90~O^5K?}uh6@0Mj80zoGh7yZv}E_tvIth3t=T(Nr(n( z`S*X%h23&@SG=x@xFRjl}-wv=O{sFsFqJLXlzaE^;HR<$SM@-Mo*}0 z6NV+_LYyMYxA5h+Jp)ENm3&y95WGlN%u92CHu{0N_#HqFSzE;fe09AlLkT;Tdn@!eS9nXRKn6j<4ph6EW)4XC45`Ah2xe9dq7eF zY3MQHKLZ6OFJv}!+vH*KI+TFs8m3TDqI6X9j0}FAfdEhef~fG3YXzOhCJ-ARSGpFe_hs);#0wRWjyidP0BSQHuYC2EKWF4 zS?pR>;9*VamRw!JU12-~`-l)2hPY|(CR7CDHOaoM83ilsw%QjGL^)nke#c!X7_SKf z=be!1wWt(r}Dmqk$%xyh9g~1D8lMsJRw*xo@)s$R${k(r$5uZ)ETs9gcYjk zqVT#@1I>Q&bW$)AyrX#+0aOu)_~~YieaA!l2@jh{aWI`xJri~mE;}iC%QT^FF_eXW z5~hp!rQ;l($k`Wb-#bC*Zf@f}k5-*~PRPS*~`Hn_r&G{AlUI`ENej3=rTqtp>wxs|%JS zEc19%HB8-QwM&=~T#l^&w}63!!mqJVv!I(82;7ic(1+gLiDAouDW{sGi^7I%vyNX&03` zgWAYQOnJa%oOFv6E1m&)HN$}xxMEV|HA52^MnWR}Qn6$W#&1;}UuPpne8GfQM-*~L zLT!5!%D0{E!|uV(Smq;X-1_oWEA{}FwfBX%KDxP4-g$4eJa>7e>$SF!SszCtX`$;Ji`@+$zXb_>c)9uk=Cv&V>;}yjnj91hNL*;7$;}zxGcx8j} zd>3VznRjju{cZjbpHZ|l@{KIp6PNQpI`X-kqr|@%m6O}66zQAh=8AUU z{TMr|RLQ<;ja+tv%)iel{>tKYo`x~fHW*Jc!r2%f#nE@`!T9Y+%Qu^O4;;JPJeYSV-xy&&)QX?+FdCbk598W%l2dAc}d&J>32%=aBBI1k-nbcah~)?<$a{xU_9@$ zj(rhDC1Y7?AUXR3KLTqm~n|^{T}} zi(LV8I3(amQd`F!qPV;7YDvoq*1GC58eaB(i6$?u{WkA19()L%Fjw->k}r>>kub|B z_U;;#RT51+y11pdLz)lJtjoJ@{yEbBoPx>~ffM*a)|g1c#lFL6X3;}<&1!zKkbH8? zzI&K6K`l@yA61lW)#Slygk>BAH^rGO^p9G#IJiIoQ3uKCi)+Yn(LcQ`@w_$eJJmaj zsa#(bpe6DD@wH7G$4$icnKs-Ls`Hod8}A!ow>cpJf{CX9!R)_HMpmEdN0@i4FioG1 zo1&*ObaL!PahI?;$`!8xA#G&SH=F6W3P5e{%#*vM^9}R=kagli;+)WiPE2;@A0sI1 z_muwSiB&~IK$*v_x2mpVO<{n1(^=iC;<~w76Il_)BZ~uN9k=7`Qs!j=gP{%q*ozu? zR9qu@6dM?#xJ6Z5^HM&Y;;ie`2FhpE+lFHiW;kaL5kyhR38l~m;OPE9eZq1n4qNT_ zI?E@P`KOyC!`{WqR!+pveBbUz;gF0NOh)qyF$>y&dFy~Dkc9!}HPGpUf1Me#NsB5z zqto8=y+kQMjkI8LW~BgrK!LwfSI6@w$D7r$d{myg&?+up9aG|o%k2*vf3?BP4#gAP z*dEyJy2&(L_Ile1qtvHli)C7;ApyetV6o(&?u^plW+K(sga99{t*y82+!`G{esrfC z^tX&l!b%@TVcv)!ReNvr*85A7k-T@AJd3WgI5%RZ>vmP7oo;MfO7&h_{=0nNOt9Uy zy)?VSQVuauOd6ur?0|AyE(w)lr(%Ty`;1+)i*6!$59%EE4EXQ-Gp4`5(xAxONGYp-!7lt$+0Yq@cQVgDEWFQ1wvKFyM6W(~* zv+C1bVbT&2c}q8?OU!w^@ph&^|JVM`!K3@@?azPd%E2oyU7{}1hDp&=8522(%rC0l zYu^LIlXnfe;9;r&$aMOqO_fJTk{#FQ(Q}f(UUMtqw!%ot@;Z8_^pma80N@qEi_7FU zo9qK7aS`)fFdnHO9Sjl)m4Sj9&5<$A@MPV>rXqObD;UG^> z$LcZY?a6hL;yIOEcDyc03@h{7cNF9mfBxM0T{$xAYI$WkS(R1_ zNDGi_?wVeNFp%wJ=McYPL~oc~I5;aU?~e`;UCs0=VG2!W)6d)^yZ{JkW?fQf!$E@y zYzkRzEW-J0=zEp@%Jr=j2h5Z|IXrKR6?tQ8T2>dkNTHa+N}Y-1msEM`X+jh0YkI) z5&p{1*>%!Vm~N8mH}p;by*uqvdZRM^k-Zc)M->l>q$*&2>fLs~XVIGcNC9r;O+PnW7v74Y zwr^Rxz*&>KC*f)*jYE`$@3`-6&oHol@oGxM1{ms3@`*iF>LFF<-9XF|)~h0!&vR(N zVS8=>pY!7>$n)xpU;gRln@@lJmK=c}Irp{U(z%5n6_EKCajq{Rz!*^ZStJKua^IG# zGz#4I?M3qL5Lmy*Dmt4t&fCW=L{3ast)f-ro5+Z`hWtk$i7 zc(vX~Us2H9f#g1;sby_C4^5_0b8?qj1^k>?8tNUy_W%|lrN&dBb=N&sv9=UPOYtkq z!9ucQ5SZ^$D|`-Z&cQuZgw}XdMfl9mzwW>$8U}F8HIC2n>@k80+w$O1NJh)P(5<#M zl0vpoq+naenCxl0VP~mpnj#C@it;3$EAgDO8(~fyVJI7#?NS)0Zu{}+*396c#1XG=K7?Uh-X&}DNm0G$El7>aE>uLia>uQz-JJ)5hQpa zTUP2%C1mX`rO}3oduXOUq_w%rauM6+y7ew^T_rbOENnbos!CXic`NJWg_6TIMaV(} z)pa}8nycn;$}#@5tuOC{4;ow;54VU=I<4PAD^V7jYZSoP@0x3PPNF!@ddw*QgpJj2 zLxqd1@4W4j@3ggJbl%1u!zYtJtHF5MeNQojWlGWbRc243z#AU&uH)6I#Ihm)06+jq zL_t&(?4aN*48w~_;qgRK@Lk98V^~6CTiq0_>rm#{Dk!BOIbnAK9d%3|INo%vs=;_< z2k1=RkD0;I^72gU%(=Po@`+g?5!H|^!G7M^=?_F@5c&!B@<-F{bfiO|yat!N^Va9a z0Cdn;od1NP8jE<1@1uwI_SXLT+9L%$NBeic(k<}a#MkDekbf%_Q19LTV10=K`3c6e zaV+#l^gCT%Z-=|PV^mx2SqmRwJo7%Co9pjT0wt|YgV8ANRI-{%RF;rRlrE+=^cvd9 zUw!K}Ik8RZw?1=Hv`0^Og3xzY3+Y%xiPeaaufce$tGj#u=#$-hZKCNnRw$>3kqu)Baqr8*_VZpPXE@Q|K)?#TU+f{e#fPQ=f85k z(F9pgF5`u`ooqIpVn!E%41&WQ^OD5a-( zkH{RmeioIr3n{oWK7rs47;23JaV;avMH=6W;*Zi_FcRjw6=c2O|&p%9Rm7aN$lw*8RP&OXz+~da0N)&Y-$y{>io7{CBodRW8gYoM3@wh0q zqbNJRMEewY_o7VmFPo69| zh*NLty18#KUei*(EQ`A;GK(&3WL0>qxd}R@&uFz4-RB+8ddm3?#zQB$cNCH)Y)Y>w z>FTSmzWOP~Ylh}G{ws{~--+XE#oUQ{arTdLCI8*n#thD7i!4{L;3dmq*}6!2r?~fQ z@JgY?iwAqO)zzGp)p?`+0uZ zN}U@;UDbprHHtm3gFC)$wX8|}jkb7ENJmuh=V&ONwb179bubFA;!t8=7}@yNE$3K+ zZ^1-+14=LX+Zr#IXEkgptUVOR5{t(FDH`FN0FAcvH@gAYXsc1{jmc$R^fJ7 zw3iowHXc5z*fPm-ZN^A}v-Bb1xFyfOZ#xWTD`B>nsAM8hk~Ewk%E0EnG)>JjM5`I4 zWS%GIQaai*x)f9kjj5;AoK*(*Yd=G1zx07E%9rN}jYK+!9L`DFxeTncu zTfwcrsuaQCmDZ^)YFF4-OX#hQxg{^6GU3{pb8jhHiw|J8C%PeXmfcNb5U$D*168W#JrmMCQJ};@qH5{^q0UQxdMCI ztTy&qm!3PSUVgP*z3@_tA3Pgb>yUL$9OE#hq+}c1o3)#^+w%)!e<#RT5i%6ji)UV+ zrMSI~R(ZD{wWg!ZezCq*RS$37n_hqC!SvqEi`Byi`{n9`52x$AzPD87cytfFL2b(` zo3gk@ImAk=!qH@UW_0a_C7|b_YjFg_6SKP#h=}tRCM=AiKd(w?LUPd)Pdr-#MPhOQ zHdkQbkViwHLR{t2^N?9&Zhf;tpk2GYFcXDvOGvM6io>9e#dESa zbv6J$iXA!l=9tH)^}TD?5C6{J{3ks?r~JLY=c|*&g@I|uLMVS?dgi?fo!IBr9}8cu z-$vVK%?o95JrtsFPupMcH1iZfZ-NpRJ)%T<<@@I1oaMCm5ICBNAZLeT*kmNGJvsfh zekhg}R7_xVV1iNRc^idv4v!H27zaFjB40awNU%cRKnEswIO&K==G`VAUXr9|yU$p& z^v<4`XD!7SFhxT`AU*01mgXsaJN4vn+^RTmjyXTxdHu$;yRy`sRR_cTpk;FHm@FL+ zK;iU&4UWvIjn`a+PjgNsB&mA5=sbJ`y2iTA8#g&&Vp-K&O1o~cBiCLAe~!YR4wP`I z>g|rUGa&{C*t3*981>e?Gy)Wo82}_lq8@Z7>pKTc(kwOwN=H-b?`O^q6eeakSXh+A zy*HAOFrb@iX>bVjQcFJ?pzBg1sa6V;M6vE(ZyC+oZX1uggbTe(jTh2-&SwEsA(AeHjj&S0mhjn{h?4SR@}!Y-49%^NKLii{?>joG{_l% zbFKj!TI__I>a25adX)DKQr3O|^pm5>>++2s`_q5+e|h@Jr+rqr$1|D&xfP|NZ#qKe z%ht2r!w(7jwwfA@CnuzK(Eo!7H~8LOg!;i86&f!ig0;L?hgl=vzV<&cP2p#}w4$_g zFI#*TM0lG8m+$akFB=6~v8Xzuu(t2eo^28*8qW926Q^e)?Fng}#Iu=wRlsUkmNpvB z;+Y!Q_=$dG-;ng5?aA`9Pw;Gs;UuA+jc^@BoiND8lkcNTU1KyFFPpTfMpvRtVy0-6 zeSviZI>pXReJd)>nLAo;z5)ymJA$Mc?i1>?9+k#^Bgz<8~A&0%jm zGOL<_y}IDFBnmB_o3dTB%9ni>Z+D=ob=#apXnjGO@t{nqjQ8OFdAGl!6&O!8ma2G% z@jtoqE@>-;!StcHX2%tIP+vqxGw3Le127(1XchWW&cQm&STJ6&U{O6o;HRq-qM0c=G{Z0 zZMA0El=jY?o5lbJHU=JmfF7*Q zGcSt0O77_7hm`SSf85{YA+@=AaPPr`(Sx zKiJe?%ArCyYWp;daOTbj>!urw>;QY)pTG_uIQjthV3!Yf*(3L1Lg|fj)z-# zJIZFU>^9~r+D8Sqc=csVaF2Wydn}kEia^vr-seD1V5V6O5DMuCNC32UJzFqxJ}{>2 zUUHRDtd;-t7v64fNY|14a1^QyNE!^=d(HAKha#%4(Uujm}f4_ATgS z$gvJkF1~<+%tI`1>c~Y8$s@0LU!N(6%f+45-IB5kc@j#;{_WGF3_J{8fQAf=wd5jn ze7t_G7~}F}XktWY@y-)n(Cnd<#tC0_Zj@+>OmqTQc^x*2wx<}+h_&WV%#?UjMh{fM zK*y8r>|$R*71ekda4Cf|(#4HmyPx^(c7@?vU)3HgrQjaIg5CyL_ z**cK_k76?N{#)9Vma80Ut|eK@yCPu>Obz2vvcq@=oK?R#g{T*-@s_cJ@i-(?;O8L_ zYeU<9H#3pHUW7HquJ8M5%n(G#nFl9Cn!g!1yWz$E^H;*2r zTh{j?H$+i#jbY~lpE1S-SP5cp2&M;xN$vc8@=SF#gco+zYeA!C$~*e!!ZIAe+ioa#~Q@fhYv0cp1d= zf!n492+UE!kq%>JRi;^513w{{2oEf6b7@HkUQLBbxjN)D5C*4xKrc#0ilxR4Uoyx# z_iplaykxgpwx-3|Nw#i}%|g%S{_!IWKwGSF(&_80g%l8!u-wL~@bPm${<>kB&X+9# zXM;0=DMEHCMiPvrQ`%`1cTwQ+(e@;)GdV9z(=CpV<}JO55L@mnwx5}zdy>#gP?n(8 zwF$QsE~}DLzCXV9$;J6|a9F3JE!2ns+hk_Qg?aBg3MB#0yGbZ zBNq^x{xolljtv1oi~e*$n;4H)i<+W?Crhi9P%?sUA%C3^i*_q{DK5B*l~yImvbbd& zUvLE`6}3@uLoc?){#~`nE@p?&#cQm$2CMaK!>GAaTL5q9VZ1^vIcL@!WVdVodG*b)RvUMCEH7}IQwN;cF-)%?`mCml*DdqmMqcO!#57=yG%ai2rXJ2Sl zSL`(>PIW2tc7-y^pfZDS00XJX5CNs0AfIJL3ufo02X`NJZlyRUr{Q0mHG*rpbq8A?9W?uowuw|Gb*qEKA9h=i1+ zOBa10+_`6%c8kCLSO0eV;oY_J$}@|_SN^@vyD%sK3RS7Lc>F*hpmj9jbhoE4TRB|^ z3{L9NCeJ+cQa)FWr`NT3*2c&qkvCVxNPzsE45-&L9L}l-J8-Q+Jk*v7U2v=ijZi?t;50G@PIWq?pen- zw0=KCHHRiJX4v(x{qHJ}X{9 zxlbUa%-g3xOAOXbzdTY9BhvxAi^DhQaT|eC=%z7%4F0;Eo&SdVY>bXq)D?-BroR{1>Ud4T8`JAHNFTW1ls(H z7!nCQf8EX+J)8(@ve^LC9$drm;BE{>x#IZ9yzzkUotQmrof1jV5zbyDq>m!2)44Y7 zb+0L-b4i<;N)=pnQ|ysQcf_NPv0@cpp^ke_cpZ)u;`}FuNH3EO4`cGf{;TK5xe*wM! zKqJzqDvQQ8@wN?1C}b6^)>MkcvTobb(6~HP38$4)9v9pJin4nz5(jwGS*I=eZ`*C5 zxG-LW7fX5YrmQxV@K|kDLI&Fev+VQTq&-o6K8Y$gYoM>enMD_3z9I}iq(XDh4ylXt)ap8zh%#Y{ca4woN z2|hd+Ru&JbV~m$2@QL&D7XNn}yCn%S0xTh^o?q#gv%H8RJU2=^9(TN}Knsez7+PK9 z|3^n&=GuhdN>3mlpquKpjUq0bE#4)`FBU=mqY&FC*QcE^m%LQPwSQ!eYR>z-YvNf$ zpr=Sw8Mk5ialX!dc>jQIUU(pvM=|AZ{uxbtHfbMx7$~&Bu`i*@*j*XLebDz+=gpfU z)?p#DDuw$_l6O30@L60aUc)iSN(-Ry zSDDS28_ z=qZR+@AJBow4}2=J42N#+%fY&!MY|e22sXrjn#3}gn z0s5F-ULF=_&d#?^pPH=~=IQME9YrLJKk31T!Ne>`1V9d&mZvDgtQ zzsr$ITD^_U!w2gdd#6S_+N>Gji&6-`eSS(^jSmR zH@$2=i`$oEbxEs}q4o`PqdDBSGfOv93GSR6W4x$RgYj}Jz(Ao0bxJ6m8jQ#KNA4Uf zC`8PK&}0P*2Axz(r{<C*9`hw9-Jv-ADKg}D?wXKW~hqmmi%!fTYxS1o?Lqk0qfU$Lm)L5G)- zdE>}|pS_v=2E8t7isx=U@C+PA;%(fT80&LcCvFxm*vOs(qyC1!>z@6R&ot2#{sDZm zPfl5=%WLTP7~>%t=b+6R#;cPyMz_lA*2K3kUd{=|GluRJ!&wSJS+7zeJi&NA&yBbl zBU{nX-aeat8`In`xxiDg1jb94PRJGt?8rq(x^tdz+Qtw*>kE!k)ioHJMZJ`$y8b1K zyiYNnN&0S%V`25Xx#IuFbH8RYTb^6~GD!2M5JbW(fO!>Viy|)fz?-}&MY)ytw8)@~ z3Vvnv{XVxUn@X||==@cKsvr2^G2)rk2JkiAq&4{x(UMRS%YLi-BM9beNGtmLv{0F{il2h)=|Zjo1dm^FY2~Cqz zDKQO_WR+j?)8oz32(Hcv2N4rVndOFvS@M^tv)sr&mBkQCX5M>^h1lIrpC~5xDck>b zhZAjZ^~?*G)F0d~4%XJo$@+%;-tY zDe!9UZ%NQu-ZUu+IuxtCBp09`?0)*D{c0~|Bn)$`mgr@A7xQScauJr}3G|-pjVF;` z5>zxq4OCs%dumcfoT6Tqg=fHWN4Y$`Yu80b<%{Ip&w32quRbU{NyA#bR2+!hIO1`3 z>P)ZPS0Hk8l}D#ur4Wd)%ZWU`EI@AC-4*ZHV>xH;atBXN`8JZ+eoh8!HN7Y?aK7rf z7YEge)9jw$T&Ic-IGp{~hZ-3+6Vt9U~9e=MkM<}>=eML1927(G z-5fyWNRuQ5Mw*SzAOzrNZn2#9X`&2}#d$zu)CY2lNAKP&-}vSS(099j@x{yZti6;( zrh+3ptv*CCsGzTS%)@)ojfzo4>$1uDzy=u;>lVInnazAyS&%$JvS_X`@_yb{xUzRR z*(M(q8;6s6uGboCS3VqQ-TK@md}YUukRrB_F;)d)y-aUC|1jaE0aqR$iL_W`lbD%~ zJ$7#AOx64aCWLU8yatXW>P2h2`@Muui5X#KWu*nw4z_oJ2z|T6g!VLi;bK2 zfy8QYcyej~aA(v#+&*mWZ;XoDzxIB)cKhMXD?jjsqmxUVT98lr(B_DXS0qHf=n*y# zDdG;d_mGW9ar^*SmlI_#AtCjlwUJz&!?{7+WIo!5;;H9Rn$Uu$u^Yzv7^!7Gl^y#cxAM^8*>E@bL zzFQyNAN47VG<~Z+tgmS9t1$`S5B8Ay8`eum{4#+ zDgZKf$AK^i`a@>$s37~09WYd0@`i$pVxy{G#Y#L6gJh>c-y>gbLFzBNPe7v60nK)K$!Afl zAj_Kew*0z2^sTNJ&0`cM`V_(20ch)M`kSHQEm%h|XIU;2PJ1S&I2gQq-3(qTnkD?v zQ`W_OQt(^Hr+oVRx5@}4AKul^E`8Z*{Zpi>FQK_u4B~1_lU}XaJz+IDaaE^>wfelp zc_-E1A9REc8B>K^H{P5zOG)wA%CetIo*&PwcKs!qy}00vA-Odwgf+e@yB5oiwpK&K zfj`tBF}$9z(b^|e3y*$<+zAJa?AeWx3oY*2brg+hF|O27XEeGoYuL`7!d9S?E=js- z?<{$-R>hZ)XfJv3jzaZ186wRK!kH#48e4L+e09S6DoXyR=i%?*z@XS%$J>6L!+6yf z&aV_Z6n5Jiy9w>nh8wz71oj+7Ogn7{D8>Lv#a$IZ#yB1)3y-XUOcosbCiP=8nnO0N_hruQ>sR^ zs@*}q)uUoL#w(tk%O3%^J$G<$XfJjm53$qd<_7cgLtchc%3v68GF3aiWnAhx3d1N* zqKw-{)uK8NFkuRUw89G^bBc>Vd8Pi&YQ(Lcd>@xW2l z(gRWjS_1Ke>5R(v!J8VWH@{HXn*w0e|~G0A+VUA zYmX_UJKaIGHIRLd;uO}GmO18M?eZFIZk(-WAU`2BYe+hl<%8j%6-{LE;oEEFJO9t^ zc#qZ3fA86*AQ#$$18Iv@ZVgXzT>@ybkU53amxXbCU@R+nR2qzD?GND^i$4Z{RumMU zCr7Rv?(J^}7aeSj&R^5c`gGFS%L=xGvESdh~gx)`)FQpGU2{^G&r_QJ8- z9W)nX8`(_nos$$M6v2nqh?FU!Y@$dL4n3F`+AiSx5XMV5>%O&*4-}^^&-31!7F&;Y zihDQKd9Rj>OQ&Y{h1hoYcxa|b&U^pwz4GC$jhWB?uB%5B*D{G8RI*xQg0Lm!eVf95 z0FfSu#Mo81S8hCtQDz62Ro*+s*>+RlY%ds3{yX!AL8aIDfSDEQpfpUXVD~BHF#1Ok z&4clf5%h#t6nl7GO!>nl1ralw4c#96w&&Gq)^%Q1oCp znC$F~rHoG$P)IMDbzEm!zQsrO3dQDEg#;LU7_Th8(eT6)&Wb_NK>=DDmxK0fhdZYk z^_lU?S6)UeHV^Iv$H91YJaQkR!4r_Z_io1{9r zhkTm$8XWW-8v0eQKkvfhui!W|c*)HfBvPELc-0qqo*3hk1MdZ6A7jO@+GZ~6*NVY% zOH-r~dq_OalY9Ja19}DHe}eH+$S`?i%dhID?U)=)X%~#=*6^XLC>^26ONdX^_7)|5 zlWpPaXg-QS{E?JYR|KG7JfHBmwq?!Y(@1~%$Q0euPJ{7$m;ADs8lHLnX8%#OmxZ5! zfew0F^OP?>#ds#}yFEge|5lEl!V}IfpZWnv|Bs+GgxwUZP?<=mETX{@Qh>seE+t|p zH*v0YJS!m-;bM|4$%PUZQkFPGgKEW-+rZiXRGy6uC!4Nsfj2b5CEmHT%l3h=&$z1Z zA+$A{ZHSZ7P?%;-vuvHaCcrP&y5w&O5$?b<&mppSS~Vh@Yod*pn z&Yv!N%Z!iCIoceRM@mnrhfo}C1;=RB;%I(8YBz1Eva}-HUBxryvw7~#CkK@!NzusD zPFS2B3O8kG`i|FgdG4H)Uhwd+?k4LP%5~Qh1~QZ{qWP8;V{A* z=4t;co=`L(^zQMnb&l`sq`Zp^Ml_n)0J9l*+ZuERnCwC<=qz{d`pv}Ce%^cug9vYG zD|cO;HJg_JW>(bJfem|=Qu0Lz>KTkds4XS1U4cTe3BT0_g&zxir{lZo74OfRk9iDi z&1sjMd)2*8`!3sR!ggM?d0qytl>IJ87$y&b)>S>``NHCt+<9g7A6%Ui6z-kVz@wFgBeeHG^n>lF+hrSOjjzMqPa1JTw5sTR`v4d z$HmK^>uIZ1&n{RN&FG@la;F|`cdN$_c8lBBH_EraIVnDP`|F3Vzjn8N{jKXq@4YXT z^oN(rwe?4>@!regDGw>--m3NwZcR5gc8}h@eN?Y)uC`AuzQ$`Z8s0GdggbQXP)mMz zjI|N2Y^A zaaW*`$Aq9Q5X#89w>Y~i1iNRw`p6T^c`qYgxdMmp9>~`x=V7zadq#t-3}{YlcvI7e zbzi2+t?k^^0W@(7IE1QVG4tOlWSx_w$1Q9_4Q|OpKguH?ko?&-2+I3FZjHW z%A=!UXNDePmQ&IIu?^V{cuQ&m!kgPG`qZ3Jx?&UnlI?0JS@2H%^MCbkmk;l))z3b& zGWzNdeP3@;4iQb7GAC|X`f})jn0)CrdFfByasAME-0~o==re0xa`dpeMM)$%w{f23 zNPgX2PQgIE`_|woA-m$f2>}5;y5zC^=g^0*HP-4zq>z}zoih*~JxC7u1-ogQx|-%W zl)?haO7BBw8WSpEZFM`1CtkCG28&{DgSkP{Ahm|ebMz$q*0y&9a1SSYTU!;D+{qoU`2i4Zzq&#y7`5<m|q@Iz<(1> zZb}ZlgBLxoiGHtxB82Y0i4#In zs*v1j&#=`p5R~%@%*4A_ulm zV42lx&P%Hhc6C#{(m8J;UNqqrcp(E<{Z=T?nA=bk$BFee<0P-Oy*6Ixa@*=dU0>s# zvhA8n>7{#SOhVhyc2fH$7Y&c8s(Q63(=o4h*W0hLhecpb%v zU_VO8Z9M8x97P33MYmb!+6N9 zX}^iyu#RoQgdD=QK53iLk5>V~`Z!6mQl4&cU27p1&S{DL95UBE4OF8g=dLKC_dx+?5ih&=kR}d5X)Ck(|H62v{piNVa1ZtuqsZ| zi6zB~C>sXZvbgMZB6&vWDY+1@nlj zf;4BiBV{Zb+!IAnywV2ydtu>JIXc0MDSKfA=eD#vThClv9G^S4(9@Po5}qvVE`IAl z)AHB~ecgS$y1Q}r-sa@qovp9my1sVz?yarsckXQ;tgY=_-X85gvOT^`m^tJP_13|7 zdW({8_x`7wuOM?rn|jc|At1iUF&eoMoo6q0uOb2QxiI2ZRngLN`3u656L8 zUoYX_ZqpR;3-9+mSfD_b7Y!x&$ktmM6Dd;SX%s>NtnKR}JOZMdgY0C$dB%BHZ>=5d z{)3-?y}!G2MB&zU3wf4(Gc)X)hRKiu6?9{d(z z-gx!@_UC`Od~|cOKJ(&<(Qp3`U+E1O6$rLvW>&1hMt1XBkdw+=)8ZZEJcN(z!}Tlt zNrhjhP@eQSb&4j`2?d|^T-V*_lyoJ%(fv_5JTXWfJegP~!41TQ=BJ+SaY&Kp8*Nw( zO_72OuA>=^7zd^t04Tat#&+W{fzFVtJRXwgfJ=%m@TQ1%;VEOGx=zvK=<_8*-P&)!>mbI4 zgck$Dl-M%1M7M4<{V4h(QzfY6nke=5pM=~}UKZzHJW)UM@~ITd=_JgWLb&nbY_3Zm z4|u=Ad=gxZD8#?%<)*xXJIuAu8`?Myg%Cnx3;-N9%4&tI5S#70J8QcGN=sSG5uN29 z!pqT2N+#y`Xr4bsP-gIdhTLH7>pYwpBbwZLA@^83-jKWUs>|Fo=Bj@1=-GsX3HlSuMA)0sV9;l>ajWszk~?Ga7L{s zB;D}Cc*13UYwf>=gf!ha4BVs_hYyoBMS2M#wUjLOSmDQrh$dxBMvfsCX2V11ZOp?m zSEt}t#BddItW~p`LN-;ZpKvd2 zl5zu2615VD(J6&WJfpaJA~T!z5~`WE<%U>x5R2V`nyc0xI> zF_7_X`8LjHiMWUR*W$p%c(V}e2gzL6M^VMQD?2e4)AB6Zr+HAttSWg*a7z^q=kp-0 zEYqq6de?QMw&lHU+(^GI!o8`QaWa|X@k-+$~}_y(<`-`|5O_% zM4|8q4AE=GI_VeBekFI0wecfkKA*Qgr z8Gzezgax{;sP{n zmp)pZ?r#rUTkG4?)%*Lc(bgN&wTBz!=IYsUYvTr`(HU_yZ&JVD>l2XZkmJ3x4lpW9!2BotyLH5AXlA;Y(M3(x&!EC*#$Y!X4Sz*olP< zwc6(-WjHzQckUD3*R86v5UD(att4JlH+cQN1R7hT4eA%9vwc#EP+P!{&5lxW2ZP43Ksb-hj z90E>MIP3SBvs=)h@2Q~053AmS|@?yb@*IgK|NV z5@DGn8^sr95U*{JZbXSc>$ER<2hI`V9a4VV`R}~>LHP?m_fJiCRbEyw<_kagMaEcu^N_#(+|*7s>VT&jb~ENjy8TYI!Mjj z)@)Y}YT*$CphyhGKGUR^0WW#mjm6sQX8h7bhB6DLvGp4PpeBioo6j=J0bauvDWtEO-eP+fI!!Tg1$F9yGKZo9N3z+>raFO35#zJ z&z(YJO>vB}z08|;d8Ig9+ng)`mEl)YR$uG3vAP1UxmKutcYLtDpK5MEnNZq<>U%EM z`{Reu;e?N=RHx>ODvAMw#xFH+)yZi*MxyXvSe{{+WZDcsd~$%a9=w9pCUHzDQ@w+*OUbg z7xEC@q`2GBKosk-l1f_BeeB#9Es7`)xDD2xMAfnW;2CO6#Ll~@E`{1k%#QA%NM3Cv zM$Ho-6?IF=+g0Dxv4?U-$}<`;S@CwLR|us^IR832H_^ij+6qSZY=n@CV&4iwbgv_- zb?f4Co-1USHYB=F9z6yT;H#>5-*vbYHASSdJ~iV$0ezkd@hTeB;gMHy*Dh~q`#AL0 zmuawR!wk6Ofp%D+S)L0OM2i}bQ;q)PN@AooxG*iZb~U&l>74S#z4yD$Pj@};j0 zXWNrMhz5Sryq}>Y!$|D0jGp!*7*FmWxXt%b(vjjSUT%$Ijf-!ce2Oq$X-zQgFfgI; zRHx6L7KK~L(RR&qPQ-?D?7a#@#Y+Od^W_2xOtsP5+CT4nw^m0~`b?XIGz~dl&O8QU z_ufbTW1vxTT86uU=_PlWCDA_b@1PKyYRNr(o^p8 zq)~6fhn7ywa9WQ%RMqj&i>H`S*=8Sbo3w#_t5Q41Q%VT#(=KHhQq~j;3u=BvQ6fQe z_-n3DmV}&_KBQ=cDwvI@%+qVbLvc`lxu)bRmOcMTdkH!m-$w^q5AJN9Lz9gb%{_!_4`mIT&=FJ< z3T^pZt9~#_zH<+3zwXS<^dsjq;f<6w@RLcm=mv^k*sBNd$pLx@7Lgf6F*i#HafFED zrFFo*jTWpsB!ph}d3FX1RS5zA)&Kiu_s)$Cm&kz!h}XXc8abnb+hI)Q#-t3PHG?_4UCwAC~{%fB2WAP1SF%EEiw-k*oRzA~GDxQJJ;V z7z}szq{yfZX6t=YLWqIZ3S@AF(s;~8l`nM|(|QpyANXp>^|Jmn&3 z4T?%c@i824+WzPl=L@>#hr=PcAMQoUPHw%2uJE83g8eh6(i6zv9!H@l)+wt!HYFa# zTnomtr|?eq8I0Fj=gs$wo+qC$C!|UN6;W7Ts65?ZJm*>Ga?TaS+tx#>zdba+=k-7Q zBt~c0H5jjcJ>R4I3k^jDSrKwDF5L-b@-2U#V7#WijB3_5j91Dl+xook6OnPx#JuB~KB?5( z;^6XAKk*Yk@hQeLx!=tZ!u?G>e!4g@*I%CfFRcCl9MxPz`iTWkl5aaDiyN?qhmCw6 z3+Ns`hg+Agf^D&!hSa!llmx9}*SZ1X$|i%R%N4Yctd_MY+XadX#u&GR+yi{t0}hMU z4x&tgW1+g`=WG^9o=h;QxS_iy@-8u3zbx{`tzZ6)=>r67yPzbr`1K{{ux-X`uSwvT zAn}kxF6eVTi{ZDi>Sk1m^zAV$Hh_8>c^7m=)S4A3H_T zWRKEqXP0N63bhj5i#I#I_9?e}a{shxlPJ53vvp^FHo48Ru&KM~PKC=Qk-tlhlQ6^r zYbAel!<{FZ)ym@RP_!)569G=Ph_&j3|_McdJ za1a8zL7;qPTOx$MhQIGX(g1oY1lPhB%WKR;+fY>8q8}Q+5Alr;UAn99`xG>fs1iSL z{zw8lj@HrKa52VcF`xNqr*+xXN(vaues_c7^<~@rMeUtNLJ=4wF=>4seI&mQZGdW( z6=9o&7yay@S?_D%ldTPQ7;2JYN3ObCcK;3!pSkit0)HEjK$1OWu4X9sQYn^4+T2cY z`ht*I&7Qx)zwg4m^0^mpR##r4bsgN$|MP}2$#32hgLuxwNXl{eb=uP}nfKY_tg}35 z#)t2kB$LcX0T{Cdu^qKm_0w?0RlC^6wBy-oTqGGyz6Judh(tQvqqEbU{a5zB@%G?w zWBo79TzuxI8EgJ`tolRi$5JTHyFMCNiIdxll7w8alkAzZP-++TX$i|tOgDDd zcOR@buIQne%%Q3ktpR1-(blHA@=9wlgQA0QcX<^Dhm?Cg(n7N@n0{iKbbM$)u@JT` z3sKoo?Z>q&iPHK|RFrzAfj32`%l9l5d97xI;60(P3A-(J-*~4U{nEeOp#WJxroWKx z_0B9O@>Z>~qZGBkB4Fxx0SYtrEN$@^FoV}!ikqdAOw5y}#802X=lS&X8mk zv3AFTXhidozu`)WDvlMldH>|QG`LdijJs-C+o*?_>!R|rph~jLZ$i(4( zgQh?c5Ntd~Qk|p0iTV0q6dQ*ojtiKy=bpQG*j||58{NLw-F>`PZg1^YCr%8b*|B7) zWe+$i6Z(XH9Cy$HX$gM`2s`Fo^!Re!4S0==S#|YFC`Ny}JCeZwkDHmd>@9YvkC&eB z^)*kO5HP|jLBR5A*l8Xp-wDkCE;AMpIHS<}|Jb|p*xRn_KJ4e*dHCJm{N{P$^hipi zDAF1rOMz@T37Q5d#3U|Sr-4zYf7C#Oph+MbpdA#B6SYAR1a^W1&R`|AAZ{*_}fAgL1J*S^_?t2_8C5YTOz^TKHI%l51C;@OGrsTgq)W7`UXWUl$NoKeC^Wp0F#i=JPpra z%p(RS{_t^j&dtMWe~7LLkW&D1`o0iZ`BvnEGatRI_YxOUI#*h59|rJ4Ert~FaJp~px(pJdd4&^m5%z8 z_JYGnE(tj2%bSHSxE#vW+jKSXS^!ZYRH}#uV^wY$=ga?BviM=ZZ;gNMXFmH`2ATJc zcXJQ?se6CE(`=Of2Z5yp#xp;7?@RL`Ui6wgr$rRQj&Y4Dn|)|%gVKB0ddl17EKwJ} za-v%2D`g>T8Sp}!@MoPvk;|PHvj{jNE8!I5Nr{BrLekvZAEI~wJWzU{g>aQn0wqQM zI-01EK^m?c>?-$F(VlKLH^cu+p>y5>a}+9vASbOfPwr>ED=lgVPn+jg7$${_n}c&0 zO2O)haC{h#^5J_>WTPZ{JhJi0O(`i(t#s0EktO}f%ZJzI5Kf6nD zBl8`6bvhPe0huvkRJ%;_e&CsI_T z^p}ViuSo)K5THwB6NpM`002M$Nkl${$Cz{cEMKW0lf^t7Mf?m*a$Ug$}#wbN3g5 z9qR@1mU~@hEQ%1vPSimnI8lvNU4ThD^3sx@gt4kCS65SCrz;##tIMr7_U`Fi^bZ-V zdck`f&=s;+WUts3?6-D}jLkDX`+&}#^K&eGD>BZU(+?4eKowVZ5mS2%IlJ9}V=|z^ zHq#KJW$6-0G%w2Xt|phsjHNW&H|R|tIDdYv+1=RwJIlLv{lmOG{uf}-C3~k}F2&{_ z5LXF!L0UoM(gsYy@~NWFBYY8XQ?q3x+sm1BzoN8 z0~u`a^Z0UJZW{EQyP3Zxs2RdGMR zvnyKH$l=9T*YY#ZzR?|xvicI-fj9vW%CFL4i6v1T1z?Ps(2#Pa)s`2I?0}Dhxw-JH zD;y8eIuD+Ruy58Cp`^e5i@zVf!tMPhmy?fv`gFRg$Oy|{Fj3v0jh?=d&JbHR+QKL_Ciey4lUF#O^v804 ziZszoZI@jzREWEXP;~zMGCkEqalSb79wUKnYq=W>J{%bn;Z@umP!7z>457Z}fLVQFSvc?LsY%wgbpkC^|q zMKgUB4ufFt)!Gc?fm`EqpXnC&6Ji%p9D(t`)Ct@uWH;^XF}IE{*@noGH<=13=NMV! zj3?v~kwTm@hTQe;PH3n67#k~$m+s=sj8r8zbm3X82zdy+!Ihq!3z;>&U_A0kf#@Ue zS&UEw$rl*Ut2;2r()1jCf7sY+iSZH6-zsXJo z<50-G8wGRCtCqh_EpF2#hvPTr#ij|yD{V4TKJWS&#`A&a8;M8-#&BD!obh~Y&|u)j z_!syLo%W&`-Ar9tTMe(v+_sA1YozjW7-Rn?vk?R=y(%p1? zq<(orTjWE9@g${MTU-0N&%TH8qHn*ig8={MJHE(>*IX|DxPkp)PYnzqF(PST%(FRS zu!#kWojwe3k{hFN$X6k+6t*dSAMvEB@dbex?+yLPxkF+Vm24UGvc3gXtaU8f*}Tu# z5<)j(L4+VhUY0P({zN;A#Xh;ur`O|;Avhv9frJegu zB5XC2ThF~Hmv}2-xJ#Oj!IY+!gKDnd65G0@-&T#e`y?sxHo@ z%~cE;8{a8!ZdT;0dy};nn{XTJNm7K^hB5E%;jTgr^9H6-RW38XnV+cAbw)L2u^e$lArWxxO zAR|-l+I5n2X2-PvwdQn8hXvX;h**?jZ_rg^7Z}xyr3={F}{<($V|(ln$S` zl^(l)r*!h6PI~&0EP3z;s-^qhm!-$<+h7gqq^tX~bY)7RYHvL1URQP70NPw(G`} zafua8HZU{dgk>uTP%l%?Cw+D@U*Gvq@7rh3&D}14sdQ@L8~y6^i(3EBdBI*{xQskk zl1`U8#zE1J#)@PxBW~80SWbkW1Ix8aYx}ip7Fl;JK*F@VaO}WzdV39pvslzq1yu%O zA{AMWVya#&;i-=4711Gn`ot#KJema z&7vR80x=xncnH-{Z039eon{Mmz%l0t6POwGjA?-4$b}KcoB~*c4ZR`MA-u44hArOD zad>5GQH`(*lp3?p4H$O-R5Nnv6|6iuELgW?PJ+C-dx^IVUOXg!o{T)bH*VI)+r3g_ z|LXQ=eX9;YrNUs7y?a!g1q34uHws`Fd13>2(if2zB><7_MRoDwGu4=FvJQJJ7iK-tS7lPz#p{lg0!&dvi zVJQLPL+>K2nigl2jJS{^CvDR^+4RaKEVXF>i*U~9^#B@09;`5+?IMr7s`+!-V0vC( zNvd9er-DrvCl{BvEEWvlPebl1xpZ1tYF)MY;uK2dBoSU+EuT>g2pGdQNmROv`#0yV zGc3yoT^H3B#s$^!)gzhHWEqQtkCQdaDo$vqv|dB|6tU!zK_otJKYbf&oGhBK*mmD3Ty2 zk!R@z&oP*_F#bizR~&k>0DA!>88;P@Lb~wz*VE-)|F}5gy)W9^XNUs5-k-aV3k;wgo!h`KMD{vr>8SKbz;Q9VcDTw6q9=+I^ zLK~D1j3*q|ybR{n4%HaOB={qQ(i

  • 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