Title

the 2nd and 3rd eigenvalues on triangles

Author

ryoki

Description

Computer-assisted proof for the simplicity of the 2nd and 3rd dirichlet eigenvalues on triangular domains

Properties

Public

  • 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:

  1. Formulating the difference quotient of eigenvalues as a matrix eigenvalue problem.
  2. Utilizing the error estimation of eigenspaces to control the approximation error of the difference quotient.
  3. 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.tu-harburg.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

  1. 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 the results directory.

  2. 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 the results 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.niigata-u.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.

(Please login first to start the virtual machine.)

About Machine Type

The machine with type as "n1-standard-1" has 1 CPU Core and 4GB memory. The Google app compute engine provides a detailed guide of the machine type. For more detailed information, please refer to More detail.
If you need a high-spec machine type, please contact the site manager.