This directory contains all necessary code to generate the proofs and figures in
"Rigorously computing symmetric stationary states of the Ohta-Kawasaki problem in 3D".

Main verification routines:
checksol :  uses radii polynomial technique to *prove* that there is a solution
FDF : evaluates F and its derivative DF 
powconv3 : computes convolutions (powers) in 3D
symmetrize : symmetrizes tensors by averaging over the group
findroots : determines the roots of the radii polynomial numerically

Visualization routines:
ShowLevel : makes an isosurface plot of a function given its Fourier coefficients
PlotIsosurf : plots isosurface

Standard routines modified to work with IntLab:
ILfftn : fft in any dimension using doubles or intvals
ILifftn : ifft in any dimension using doubles or intvals
ILzeros : produces tensors of zeros, of type intval if requested
ILsup : takes the sup of the interval
ILisonormals : copy of isonormals
ILgradient : copy of gradient

Make the Figures in the paper:
MakeAllFigures.m: load data and make all the figures.
(This data is checked below).

CheckPROFILENAME.m - Load the data for PROFILENAME and run the
verification routine.
CheckBCC(1,2).m - load data and run verification routine for 4 BCC structures.
CheckDG(1,2).m - load data and run verification routine for 4 double gyroids.

WARNINGS!
You can comment out the line containing "m = intval(m);" 
and the verification can be done without intervals. 
This is quicker but could _in_theory_ lead to false positives.

The double gyroid checks can take ~12 hours on a slow laptop, as with
some of the exotic profiles.

For a quick test, run CheckBCC1 (or 2). This will do four verifications of
different sized problems in ~30 minutes.
