 README
 DIRECTORY
 DEMO
Guaranteed Estimation of Shape Derivative for Clustered Eigenvalues over Triangles
Introduction
This repository contains MATLAB code for the rigorous estimation of difference quotients of clustered eigenvalues over triangular domains. The code accompanies the paper:
R. Endo and X. Liu, "Guaranteed estimation for the difference quotients of clustered eigenvalues in the neighborhood of multiple eigenvalues," [preprint], 2023.
The code implements a verified numerical method for estimating the difference quotients of eigenvalues. The method is particularly effective for handling clustered eigenvalues in the neighborhood of multiple eigenvalues, where traditional approaches may face difficulties.
Theoretical Background
The shape derivative of an eigenvalue describes its sensitivity to perturbations of the domain shape. However, when eigenvalues are clustered together, especially near a multiple eigenvalue, it becomes challenging to accurately estimate their shape derivatives. This code addresses this issue by introducing a difference quotient formula for eigenvalues and deriving rigorous error estimates for its numerical approximation.
The key ideas behind the method are:
 Formulating the difference quotient of eigenvalues as a matrix eigenvalue problem.
 Utilizing the error estimation of eigenspaces to control the approximation error of the difference quotient.
 Providing guaranteed bounds for the difference quotients using interval arithmetic.
For a detailed theoretical treatment, please refer to the accompanying paper.
Running Environment
 The codes run on the latest MATLAB environment along with the INTLAB toolbox (http://www.ti3.tuharburg.de/rump/intlab/).
 Since Octave does not supply the ldl function for indefinite symmetric matrices, the rigorous evaluation is not available for Octave.
Configuration
Edit my_intlab_mode_config.m
to configure the computing environment.
% The path of INTLAB toolbox and initialization.
addpath('Intlab_V12')
startintlab;
format compact short infsup;
% The path of the library of verified eigenvalue estimation for matrices.
addpath('verified_eig_estimation')
% The path of the codes for switch between verified computing and approximate computing.
addpath('mode_swith_interface')
% The path of the library of FEMs on triangular domains
addpath('functions')
global INTERVAL_MODE; % The value can be 0 or 1. See readme.md
INTERVAL_MODE=1; % for rigorous computing based on interval arithmetic.
% INTERVAL_MODE=0; % for approximate computing with rounding error inside.
Remember to run my_intlab_mode_config
before other codes.
How to Use
The code has two running modes: approximate evaluation and verified evaluation. To switch between them, please set the value of INTERVAL_MODE
.
INTERVAL_MODE=0
: approximate computation mode.INTERVAL_MODE=1
: verified computation mode. It takes longer time than approximate computation mode. Be careful with the mesh size, which should not be too small.
Reproducing the Results

To reproduce the results for the eigenvalue bounds over the triangle domain, run the script
main_bounds.m
. This will compute the upper and lower bounds of the eigenvalues λ_2 and λ_3 over a discretized triangle domain. The results will be saved in a CSV file in theresults
directory. 
To reproduce the results for the difference quotient estimation of eigenvalues, run the script
main_difference_quotient.m
. This will estimate the range of the difference quotients of the second and third eigenvalues around the equilateral triangle for different directions. The results will be saved in a CSV file in theresults
directory.
File Descriptions
main_bounds.m
: Main script for computing eigenvalue bounds over the triangle domain.main_difference_quotient.m
: Main script for estimating difference quotients of eigenvalues.my_intlab_mode_config.m
: Configuration file for setting up the computing environment and INTLAB toolbox.functions/
: Directory containing library functions for FEMs on triangular domains.verified_eig_estimation/
: Directory containing library functions for verified eigenvalue estimation of matrices.mode_swith_interface/
: Directory containing code for switching between verified and approximate computing modes.results/
: Directory to store the output CSV files with the computed results.
Citing the Code
If you use this code in your research, please cite the following paper:
R. Endo and X. Liu, "Guaranteed estimation for the difference quotients of clustered eigenvalues in the neighborhood of multiple eigenvalues," [preprint], 2023.
Contact
If you have any questions or encounter any issues with the code, please contact the authors:  Ryoki Endo (endo@m.sc.niigatau.ac.jp)  Xuefeng Liu (xfliu@cis.twcu.ac.jp) ```
About the directory
Folders or files beginning with a dot are not displayed by default.
Virtual Machine Setting
Warning!
You are starting the virtual machine as a visitor to current project. As a visitor, you can change files in the booted virtual machine, but the changed files will be aborted when the server is shut down.