DOI: 10.5281/zenodo.1913734
title: An approximation of the spectral gap for the Laplace operator on SAut(F₅)

description: This is the dataset accompanying <em>Aut(𝔽₅) has property (T)</em> paper (https://arxiv.org/abs/1712.07167). See Section 4 thereof for a detailed description of the content of the included files: <code>tar --list -f ./oSAutF5_r2.tar.xz</code> <br> <code>oSAutF5_r2/<br> oSAutF5_r2/1.3/<br> oSAutF5_r2/1.3/full_2018-01-26T12:29:58.143.log<br> oSAutF5_r2/1.3/solver_2018-01-26T12:29:58.143.log<br> oSAutF5_r2/1.3/SDPmatrix.jld<br> oSAutF5_r2/1.3/lambda.jld<br> oSAutF5_r2/U_pis.jld<br> oSAutF5_r2/pm.jld<br> oSAutF5_r2/delta.jld<br> oSAutF5_r2/orbits.jld<br> oSAutF5_r2/preps.jld</code> To replicate the computation of the spectral gap clone <code>1712.07167</code> repository first <code>git clone https://git.wmi.amu.edu.pl/kalmar/1712.07167.git</code> Then unpack the content of <code>oSAutF5_r2.tar.xz</code> into <code>1712.07167</code> folder. You need <code>julia-1.1.0</code> or above. In <code>julia</code>s REPL run <code>using Pkg<br> Pkg.activate("1712.07167")<br> Pkg.instantiate()<br> Pkg.test("PropertyT")</code> Finally, to verify that the Laplace operator on <em>SAut(𝔽₅)</em> (associated to the standard generating set) has spectral gap of at least <code>1.3</code> run from within <code>1712.07167</code> folder <code>julia check_SAutF5.jl</code> If You want to generate the multiplication table and other files on Your own delete all <code>*.jld</code> files from the <code>oSAutF5_r2</code> folder (but the ones in <code>1.3</code> folder) and run the same command again. Note: You need at least <code>20</code>GB of RAM and spare a few hours of Your CPU. We reproduce the content of <code>check_SAutF5.jl</code> script below. <code>using Pkg<br> Pkg.activate(".")<br> using Groups<br> using GroupRings<br> using PropertyT<br> using SparseArrays<br> using LinearAlgebra<br> using IntervalArithmetic<br> using JLD</code> <code>@show Threads.nthreads()<br> BLAS.set_num_threads(Threads.nthreads());</code> <code>G = SAut(FreeGroup(5))<br> pm = load("oSAutF5_r2/pm.jld", "pm");<br> RG = GroupRing(G, pm)<br> @info RG</code> <code>S_size = 80<br> # due to technical problems we are no longer able to load delta.jl on julia-1.0<br> Δ_coeff = SparseVector(maximum(pm), collect(1:(1+S_size)), [S_size; -ones(S_size)])<br> Δ = GroupRingElem(Δ_coeff, RG);<br> Δ² = Δ^2;</code> <code>@info "Loading solution"<br> λ₀ = load("oSAutF5_r2/1.3/lambda.jld", "λ")<br> P₀ = load("oSAutF5_r2/1.3/SDPmatrix.jld", "P");</code> <code>@info "Taking square root of P"<br> @time Q = real(sqrt(P₀));</code> <code>Q_aug, check_columns_augmentation = PropertyT.augIdproj(Interval, Q);<br> @show check_columns_augmentation<br> if !check_columns_augmentation<br> @warn "Columns of Q are not guaranteed to represent elements of the augmentation ideal!"<br> end</code> <code>@info "Computing SOS decomposition"<br> @time sos = PropertyT.compute_SOS(RG, Q_aug);</code> <code>residual = Δ² - @interval(λ₀)*Δ - sos;<br> @show norm(residual, 1)</code> This research was supported in part by PL-Grid Infrastructure, grant 2015/19/B/ST1/01458, National Science Center, Poland grant 2017/26/D/ST1/00103, National Science Center, Poland.