SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Theorem 4. Given a bearing-based network  $\mathcal{G}$ , with all edges contributing to triplets forming triangles, and its corresponding triplet network  $\mathcal{G}_T$ , the maximal parallel rigid component of  $\mathcal{G}$  can be determined by the edges in  $\mathcal{G}$  contributing to the largest connected component of  $\mathcal{G}_T$ .
Please refer to the appendix for proof of Thm. 4. Based on Thms. 3 and 4, we develop an algorithm to identify and remove skewed triangles from the translation averaging problem while ensuring that the network is parallel rigid, which is discussed in the next section.
5 Proposed Method
In this section, we show how to efficiently identify skewed triangles in  $\mathcal{G}$ . First, we get the list of nodes and edges contributing to each triplet in  $\mathcal{G}$ , for which efficient implementations exist [52, 26]. The brute force way to identify skewed triangles is to compute the angles in each triangle using the relative directions  $\mathbf{v}_{ij}$  and mark triangles with the minimum angle less than a threshold. The number
of triplets depends on the sparsity of the network  $\mathcal{G}$ , which, in general, is large. This makes the brute force method time-consuming. In contrast with the brute force approach, we use vectorized operations to construct the angle matrix  $\mathbf{A}_{\mathcal{G}}$  and filter skewed triangles, making it time efficient. It is observed that the vectorized version is  $\sim 100$  times faster than the parallelized version (with 20 threads) of the brute force method for  $\sim 10^{5}$  triplets coming from  $\sim 10^{4}$  edges, and this gain increases significantly with an increase in the number of triplets and edges. A time comparison between the brute force method and our method is given in the appendix. In real-world data, the large-scale bearing-based networks are sparse, making  $\mathbf{A}_{\mathcal{G}}$  sparse. We present our method for sparse networks in the following steps and for dense networks in the appendix.
Step 1: The first step is to identify which entries are non-zero in the angle matrix  $\mathbf{A}_{\mathcal{G}}$ . Since we are considering only triplets, we require a matrix that captures which edges are part of a triplet. In computational topology [29, 16], higher order relationships in  $\mathcal{G} = (\mathcal{V}, \mathcal{E})$  (other than node-to-node relationship via edges) are studied using simplices. A  $k$ -simplex is a subset of the vertex set  $\mathcal{V}$  with  $(k + 1)$  elements. A finite collection of simplices, such as nodes (0-simplices), edges (1-simplices), and triangles (2-simplices), is called a simplicial complex. The boundary matrix  $\mathbf{B}_k$  of a simplicial complex encodes which  $(k - 1)$ -simplex contributes to  $k$ -simplex. In our case, we need the relationship between 1-simplices (edges) and 2-simplices (triangles). The  $(i,j)^{th}$  element of the boundary matrix  $\mathbf{B}_2 \in \mathbb{R}^{M \times W}$ , with  $M$  edges and  $W$  triplets, is given as:
$$
b _ {2} ^ {i j} = \left\{ \begin{array}{l l} 1 & \text {i f} i ^ {t h} \text {e d g e c o n t r i b u t e s t o} j ^ {t h} \text {t r i a n g l e}; \\ 0 & \text {o t h e r w i s e .} \end{array} \right. \tag {6}
$$
It is easy to compute  $\mathbf{B}_2$  since we have the list of edges contributing to each triplet. The row and column indices of non-zero elements in  $\mathbf{B}_2\mathbf{B}_2^T$  give us the edge pairs participating in triplets. Only these elements in  $\mathbf{A}_{\mathcal{G}}$  are to be computed (except diagonals in  $\mathbf{B}_2\mathbf{B}_2^T$  which are non-zero). The corresponding dot products between the edges are computed in a vectorized fashion and stored.
Step 2: We need to identify the correct signs for the dot products to ensure that the dot products reflect the cosine of the angles of the triangles. Since the dot products are  $\cos \phi_{(i,j),(k,l)}$  for edges  $(i,j),(k,l) \in \mathcal{E}$  in triplets, there will be one common node  $c \in \{i,j\} \cap \{k,l\}$ . The directions  $\mathbf{v}_{ij}$  and  $\mathbf{v}_{kl}$  should be measured with reference to the common node to get the angle of the triangle that includes those edges. We need the dot product between  $\mathbf{v}_{cc_1'}$  and  $\mathbf{v}_{cc_2'}$ , where  $c_1' \in \{i,j\} \setminus \{c\}$  and  $c_2' \in \{k,l\} \setminus \{c\}$ . Using  $\mathbf{v}_{cc_1'}^T\mathbf{v}_{cc_2'} = \mathbf{v}_{c_1'c}^T\mathbf{v}_{c_2'c}$  and  $\mathbf{v}_{ij} = -\mathbf{v}_{ji}$ , we premultiply each dot product by  $m^{ij,kl}$ , where  $m^{ij,kl}$  is determined as follows:
$$
m ^ {i j, k l} = \left\{ \begin{array}{l l} 1 & \text {i f} i = k \text {o r} j = l; \\ - 1 & \text {i f} i = l \text {o r} j = k; \\ 0 & \text {o t h e r w i s e .} \end{array} \right. \tag {7}
$$
Since edges  $(i,j),(k,l)$  are part of a triplet, the third case in Eqn. 7 will not arise, but it will be helpful in the dense network case. We premultiply  $m^{ij,kl}$  to the corresponding dot products. We take the inverse cosine of the sign-corrected dot products to get the angles and allocate  $\mathbf{A}_{\mathcal{G}}$ .
Step 3: It is easy to extract angles from  $\mathbf{A}_{\mathcal{G}}$  since edges corresponding to a triplet are known and  $\mathbf{A}_{\mathcal{G}}$  provides an easy way to index edges based on its rows and columns. Let  $Trp$  be the set of triplets in  $\mathcal{G}$ . We check if the angles of the triangles are greater than a minimum threshold and remove the triplets having skewed triangles. This creates two sets of triplets  $Trp_{Ret}$  and  $Trp_{Rem}$  denoting retained and removed triplets, both being mutually exclusive. Let the edges contributing to the two triplet sets be  $\mathcal{E}_{ret}$  and  $\mathcal{E}_{rem}$ , respectively, such that  $\mathcal{E} = \mathcal{E}_{ret} \cup \mathcal{E}_{rem}$ . We note that  $\mathcal{E}_{ret} \cap \mathcal{E}_{rem}$  is not necessarily empty. For a parallel rigid  $\mathcal{G}$ , the two edge sets are not mutually exclusive since there will be common edges between the triplets of  $\mathcal{E}_{ret}$  and  $\mathcal{E}_{rem}$ , as a consequence of Thm. 4. Let the filtered network be denoted as  $\tilde{\mathcal{G}}_F = (\tilde{\mathcal{V}}_F, \tilde{\mathcal{E}}_F)$ . There are two ways to remove edges: one is to remove edges aggressively such that  $\tilde{\mathcal{E}}_F = \mathcal{E} \setminus \mathcal{E}_{rem}$  and the other way is non-aggressive i.e.  $\tilde{\mathcal{E}}_F = \mathcal{E}_{ret}$ . Since all operations are vectorized, this makes the whole process of extracting the angles and removal of skewed triangles time efficient. Next, we construct the triplet network  $\mathcal{G}_T$  (as discussed in Sec. 4) from  $\tilde{\mathcal{G}}_F$  and extract the largest connected component of  $\mathcal{G}_T$ , to ensure that the network is connected and is parallel rigid. The edges of  $\tilde{\mathcal{G}}_F$  contributing to the largest connected component of  $\mathcal{G}_T$  gives the final network  $\mathcal{G}_F = (\mathcal{V}_F, \mathcal{E}_F)$ . The whole process is summarized in Algo 1. In our experiments, the network  $\mathcal{G}$  is sparse, and we choose the non-aggressive way of removing the edges, which ensures
Algorithm 1: Removal of Skewed Triangles from Sparse Networks
Input: Bearing-based network  $\mathcal{G} = (\mathcal{V},\mathcal{E})$ , containing only triplets and is parallel rigid, and the triplet list of  $\mathcal{G}$ .
Output: Bearing-based network  $\mathcal{G}_F = (\mathcal{V}_F, \mathcal{E}_F)$ , containing only triplets and is parallel rigid, without skewed triangles.
1 Compute the non-zero elements in angle matrix  $\mathbf{A}_{\mathcal{G}}$  using the boundary matrix  $\mathbf{B}_2$  (Eqn. 6).
2 Compute the dot product for the non-zero elements in  $\mathbf{A}_{\mathcal{G}}$
3 Get the signs of the dot product i.e.  $m^{ij,kl}$  using Eqn. 7.
4 Multiply dot products with their corresponding signs  $m^{ij,kl}$ .
5 Take the inverse cosine of dot products.
6 Allocate the matrix  $\mathbf{A}_{\mathcal{G}}$ . Extract the angles of the triplets from  $\mathbf{A}_{\mathcal{G}}$ .
7 Filter out the triplets with the minimum angle less than a threshold to get  $\tilde{\mathcal{G}}_F = (\tilde{\mathcal{V}}_F,\tilde{\mathcal{E}}_F)$
8 Construct the triplet network  $\mathcal{G}_T$  using  $\tilde{\mathcal{G}}_F$ .
9 Get the largest connected component of  $\mathcal{G}_T$
10 Get the edges of  $\tilde{\mathcal{G}}_F$  contributing to the largest connected component of  $\mathcal{G}_T$  to get  $\mathcal{G}_F = (\mathcal{V}_F, \mathcal{E}_F)$ , which is connected and is parallel rigid.
that the connected component of  $\mathcal{G}_F$  is large. We note that with non-aggressive pruning, we still ensure that the nodes are estimated reliably since the nodes are also a part of at least one triplet, which belong to the set of non-skewed triangles.
We consider SfM datasets provided in 1DSfM [55] for the experiments. It provides the relative motions and a reference reconstruction using Bundler [49, 50]. Since Bundler was published more than ten years ago, we use COLMAP [44] to generate the pairwise relative rotations and translations and use COLMAP's solution as the ground truth to get a better reconstruction. We take COLMAP solution and align it to the solution provided in 1DSfM to get absolute translations in meters. We compute absolute rotations using [11] and use them to align the relative translation directions into a global coordinate frame. The output of this process gives us a bearing-based network. Then, we extract triplets from the network and ensure parallel rigidity. Since the filtering process is independent of the cost function to solve the problem, we consider two representative cost functions. Revised LUD (an improvement on [41], provided by [57]), compares relative displacements, and BATA [57], compares relative directions. Please refer to appendix for the problem formulations. Our code is implemented in MATLAB. All experiments are performed on a PC with Intel Xeon Silver 4210 processor with 128 GB RAM. Finally, in each table, Mean-ATE and RMS-ATE denote the mean and RMS absolute translation errors, respectively, w/o and w/ filter denotes the network before and after removing skewed triangles and bold entries denote better performance between the solutions of the two networks.
6.1 Analysis of Real Data
In this subsection, we first provide an illustrative example using COLMAP [44] reconstruction and then analyze the real data. Fig. 2 shows an illustrative example of the existence of such skewed triangles in the SfM problem. For the Alamo dataset, most images capture the front part of the museum, and thus, the cameras are densely connected in the network. The blue triangle depicts a triplet which is Type-I ill-conditioned triangle and the green triangle shows Type-II ill-conditioned triangle.
Now, we analyze the real data to understand the frequency of occurrence of skewed triangles and their difference with outlier data. For the analysis, we compute the errors in relative directions with respect to ground truth. To check whether at least one outlier is present in the triplet, we check the maximum error of relative directions in a triplet. Since we identify skewed triangles with the minimum angle in each triplet, we compare the maximum error of relative directions with the minimum angle between directions for each triplet. In Fig. 3, we show scatter plots between the two compared quantities for all the triplets for three datasets with different edge densities. At first, we observe that there are a
(a) Piccadilly  $(ed = 1.16\%)$
Figure 3: Scatter plots of maximum error of relative directions in each triplet (with respect to ground truth) vs minimum angle between edges in each triplet on datasets from [55]. ed denotes edge density.
(b) Tower of London  $(ed = 3.91\%)$
(c) Union Square  $(ed = 2.76\%)$
considerable number of skewed triangles in the network since there are many points in the scatter plot which are close to  $0^{\circ}$  in the x-axis (representing the minimum angle in triplets). Next, we can also see that the minimum angle between edges in the triplets is independent of the maximum error in the triplets, implying that the presence of an outlier and the skewness of a triangle have no relation. Also, it can be seen that triplets with minimum angle  $>60^{\circ}$  are clear outliers and all of them have a high angular error with respect to ground truth. Based on this observation, we first provide results on outlier-free data, and then we show the results on the real data with outliers in the next subsections.
6.2 Outlier-Free Data
Figure 2: Reference reconstruction of Alamo [55] using COLMAP [44] for displaying skewed triangles. Blue triangle: Ill-conditioned triangle (Type-I), Green triangle: Ill-conditioned triangle (Type-II).
In this subsection, we examine the impact of skewed triangles on the quality of the translation estimate independent of outliers. First, we extract the component of the network for which the ground truth is available. For this experiment, to remove the effect of errors coming from absolute rotation estimates, we use ground truth rotations to align the relative directions to a common reference frame. We consider the edges as outliers if the relative direction on the edge differs from its ground truth equivalent by more than  $10^{\circ}$  and remove them. Then, we extract the triplets from the network and ensure parallel rigidity. This gives us a network with no outliers but still contains skewed triangles. We call it the unfiltered network. Now, we use Algo. 1 to remove skewed triangles (minimum angle  $< 5^{\circ}$ ) and denote the output as the filtered network and compare the solutions from the two networks.
In Table 1, we list the number of nodes and edges removed due to the removal of skewed triangles and check the absolute translation errors obtained using BATA. It can be seen with the removal of a small number of nodes and edges, the mean and RMS errors of the absolute translations decrease consistently (see appendix for the number of nodes and edges of the networks). We also check the errors of the nodes in the unfiltered network, which were removed due to the removal of skewed triangles. It can be seen that the mean and RMS errors of the removed nodes are high compared to the overall errors implying that absolute translations at these nodes are not well estimated. Absolute translation error obtained using Revised LUD is provided in the appendix, which also shows that removal of skewed triangles leads to improved translation estimates. This shows the impact of skewed triangles on the translation averaging and the benefits of removing them.
Table 1: Absolute translations errors (in meters) on 1DSfM [55] datasets without outliers using BATA [57]. Removed Node Errors: Errors of removed nodes in the unfiltered network,  $\# N_{rem}$ ,  $\# M_{rem}$ : No. of nodes and edges removed.
Dataset	#Nrem	#Mrem	Mean-ATE	RMS-ATE	Removed Node Errors
w/o filter	w/ filter	w/o filter	w/ filter	Mean	RMS
Alamo (ALM)	17	211	2.4	2.2	4.4	3.9	8.0	10.0
Ellis Island (ELS)	1	15	1.0	0.9	1.5	1.3	5.5	5.5
Gendarmenmarkt (GMM)	9	67	5.1	4.8	8.5	7.9	19.2	21.8
Madrid Metropolis (MDR)	20	184	7.0	6.0	13.6	10.6	23.6	29.7
Montreal Notre Dame (MND)	6	163	2.4	2.3	4.1	3.8	7.1	8.9
NYC Library (NYC)	20	185	2.5	2.3	5.1	5.0	6.2	8.2
Notre Dame (ND)	17	536	2.5	2.4	5.0	4.8	7.6	11.8
Piazza del Popolo (PDP)	10	247	2.7	2.6	4.2	4.5	4.3	5.6
Piccadilly (PIC)	49	780	2.3	2.1	5.4	4.6	8.6	17.0
Roman Forum (ROF)	30	391	9.2	8.9	19.1	16.7	26.9	42.9
Tower of London (TOL)	11	96	8.0	7.5	16.2	14.3	37.8	53.5
Trafalgar (TFG)	184	1879	8.0	6.9	17.1	17.0	21.7	27.9
Union Square (USQ)	21	239	4.9	4.5	6.7	6.0	10.6	13.2
Vienna Cathedral (VNC)	19	275	7.2	7.4	10.6	10.4	15.0	18.0
Yorkminster (YKM)	13	181	4.9	4.8	13.4	14.8	17.5	26.5
Table 2: Details of networks before and after removing skewed triangles from 1DSfM [55] datasets.  $\# {N}_{rem},\# {M}_{rem}$  : No. of nodes and edges removed,  ${\kappa }_{2}\left( {\mathbf{A}}_{\mathcal{G}}\right)$  : condition number of the angle matrix with matrix-2 norm,  ${t}_{filter}$  : time taken to remove skewed triangles.
Dataset	#Nodes	#Edges	#Nrem	#Mrem	κ2(AG)	tfilter (sec)
w/o filter	w/ filter	w/o filter	w/ filter	w/o filter	w/ filter
ALM	694	682	15619	15422	12	197	2.3e+08	2.4e+07	0.31
ELS	324	316	7411	7342	8	69	2.6e+07	3.8e+06	0.14
GMM	950	926	13913	13656	24	257	2.7e+09	1.8e+08	0.20
MDR	401	377	4367	4170	24	197	7.2e+07	5.6e+06	0.05
MND	564	560	18297	18150	4	147	2.1e+08	3.4e+07	0.67
NYC	450	437	6228	6017	13	211	6.0e+07	4.0e+06	0.08
ND	1421	1418	70759	70651	3	108	5.4e+09	1.2e+10	2.66
PDP	909	891	14770	14502	18	268	1.3e+08	3.1e+07	0.32
PIC	2706	2645	45306	44405	61	901	1.7e+09	6.5e+08	0.55
ROF	1361	1320	18855	18461	41	394	2.5e+09	4.9e+08	0.25
TOL	569	552	8710	8569	17	141	8.2e+07	2.0e+07	0.14
TFG	6327	6110	110876	108142	217	2734	1.5e+11	4.7e+09	1.83
USQ	866	840	12638	12406	26	232	2.7e+09	2.6e+07	0.23
VNC	1015	986	24793	24511	29	282	1.3e+09	1.2e+09	0.65
YKM	964	930	12033	11670	34	363	1.0e+12	1.0e+12	0.18
6.3 Real Data
In this subsection, we deal with real data in the context of SfM, which is obtained as described at the beginning of this section. We note that this data contains outliers, and our aim is to understand the impact of skewed triangles in the presence of outliers. We denote the network obtained as unfiltered and remove the skewed triangles (minimum angle  $< 5^{\circ}$ ) using Algo. 1, calling it the filtered network. In Table 2, we provide details of the unfiltered and filtered network. It can be observed that the removal of a small fraction of nodes and edges from skewed triangles leads to a significant decrease in the condition number of the angle matrix (with matrix-2 norm),  $\kappa_{2}(\mathbf{A}_{\mathcal{G}})$ , for all datasets expect ND. We employ non-aggressive pruning due to which some skewed triangles can remain in the filtered network making the condition number  $\kappa_{2}(\mathbf{A}_{\mathcal{G}})$  increase for ND and the same for YKM. We reiterate that non-aggressive pruning still ensures that the nodes are well estimated (see Step 3 in Sec. 5). This shows that the conditioning of the translation averaging improves for most datasets, even with the non-aggressive removal of skewed triangles.
In Table 3, we present the absolute translation errors obtained using BATA without and with filtering skewed triangles. It can be observed that the mean and RMS errors improve for most of the datasets after the removal of skewed triangles. Also, errors of the removed nodes in the unfiltered network are high, which indicates that the absolute translations at these nodes are not reliable in the unfiltered network. We note that from Tables 2 and 3, the filtering time is  $\sim 1\%$  of the time taken for translation averaging, which shows the practicality of Algo. 1. Next, we perform 3D reconstruction using
Table 3: Absolute translations errors (in meters) on 1DSfM [55] datasets using BATA [57]. Removed Node Errors: Errors of removed nodes in the unfiltered network,  $t_{BATA}$ : time taken by BATA.
Dataset	Mean-ATE	RMS-ATE	Removed Node Errors	tBA_TA (sec)
w/o filter	w/ filter	w/o filter	w/ filter	Mean	RMS
ALM	4.7	4.5	11.1	10.5	22.9	39.5	17
ELS	23.2	22.1	50.7	51.8	98.6	118.1	7
GMM	50.6	40.9	77.8	61.1	149.7	190.8	14
MDR	13.9	12.7	29.4	26.1	54.2	61.2	5
MND	4.4	4.3	10.0	9.9	31.2	34.1	17
NYC	6.5	5.2	15.8	12.6	28.7	38.1	7
ND	3.3	3.3	6.4	6.4	6.9	7.0	71
PDP	8.0	8.0	13.0	13.1	15.0	17.3	16
PIC	5.3	5.1	11.0	10.8	20.8	29.2	68
ROF	12.8	10.4	27.0	19.6	65.4	100.5	24
TOL	15.6	14.5	32.2	30.3	63.7	90.3	10
TFG	20.3	14.5	62.6	31.8	65.0	130.8	287
USQ	14.5	10.6	24.8	18.1	34.5	49.9	14
VNC	10.2	10.2	17.8	18.4	21.4	27.5	28
YKM	20.4	19.3	29.5	28.3	44.0	51.4	13
Table 4: No. of points triangulated  $\left( {{P}_{tri} \times  {10}^{3}}\right)$  and bundle adjustment iterations (BAiters) using the solutions obtained by BATA for unfiltered and filtered networks on 1DSfM [55] datasets.
Dataset	ALM	ELS	GMM	MDR	MND	NYC	ND
Ptri↑	w/o filter	142	57	101	46	115	77	376
w/ filter	144	58	104	49	118	79	375
BAiters↓	w/o filter	73	40	31	66	59	100	34
w/ filter	54	33	21	83	37	74	22
PDP	PIC	ROF	TOL	USQ	VNC	YKM
Ptri↑	w/o filter	91	231	196	107	57	219	175
w/ filter	94	234	196	110	56	222	168
BAiters↓	w/o filter	34	53	31	89	122	52	58
w/ filter	44	47	21	85	52	25	33
Theia [52] with the absolute translation solutions obtained in Table 3. Theia removes the triangulated 3D points which have reprojection errors greater than 15 pixels. It can be seen from Table 4 that more 3D points are triangulated in the filtered networks for most of the datasets. We note that filtered networks have lesser nodes than unfiltered networks, which implies removal of nodes coming from skewed triangles leads to better conditioning for 3D point triangulation. We also see that the bundle adjustment converges faster for the filtered networks indicating absolute translations are more stable in the filtered networks compared to unfiltered networks.
**Limitation:** Our sensitivity analysis of translation averaging is based on the triplets in the network. Although we do not lose much in terms of 3D reconstruction in SfM, further work is required to understand the sensitivity of a general bearing-based network.
This paper deals with sensitivity in translation averaging under input uncertainty. We study sensitivity in estimating edge scales in bearing-based networks which suggests skewed triangles are unstable. We define the conditioning of the translation averaging problem and provide a sufficient criterion to ensure that the problem is well-conditioned. Then, we propose an efficient algorithm to remove skewed triangles from the network while ensuring parallel rigidity. We demonstrate the effectiveness of our filtering scheme using structure-from-motion data without and with outliers leading to better absolute translation estimates, more 3D points triangulated and faster convergence of bundle adjustment for filtered networks.
Lalit Manam is supported by a Prime Minister's Research Fellowship, Government of India. This research was supported in part by a Core Research Grant from Science and Engineering Research Board, Department of Science and Technology, Government of India.
[56] Shiyu Zhao and Daniel Zelazo. Localizability and distributed protocols for bearing-based network localization in arbitrary dimensions. Automatica, 69:334-341, 2016.
[57] Bingbing Zhuang, Loong-Fah Cheong, and Gim Hee Lee. Baseline desensitizing in translation averaging. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4539-4547, 2018.
Sensitivity in Translation Averaging Appendix
8 Proofs for Theorems
Before we prove the theorems, we first state the results, which will be helpful in proving Thm. 1. We first state a result from first-order eigenvalue perturbation theory [30].
Result 1. Given a matrix  $\mathbf{X} \in \mathbb{R}^{M \times M}$  and a small additive perturbation on it by a matrix  $\delta \mathbf{X} \in \mathbb{R}^{M \times M}$ , the absolute change in eigenvalue, denoted as  $|\delta \lambda(\mathbf{X})|$ , due to the perturbation is bounded by
$$
| \delta \lambda (\mathbf {X}) | \leq \frac {\left\| \mathbf {w} \right\| _ {2} \left\| \delta \mathbf {X} \right\| _ {2} \left\| \mathbf {z} \right\| _ {2}}{\left| \mathbf {w} ^ {H} \mathbf {z} \right|}, \tag {8}
$$
where  $\mathbf{w},\mathbf{z}\in \mathbb{C}^{M}$ , and are the left and right eigenvectors of  $\mathbf{X}$  corresponding to the same eigenvalue, respectively.
Since  $\mathbf{w}$  and  $\mathbf{z}$  are eigenvectors,  $\| \mathbf{w}\| _2 = 1$  and  $\| \mathbf{z}\| _2 = 1$ . For a symmetric matrix  $\mathbf{X}$ , the left and the right eigenvectors corresponding to any eigenvalue are the same due to which  $|\mathbf{w}^H\mathbf{z}| = |\mathbf{w}^H\mathbf{w}| = 1$ . Hence, for symmetric matrix  $\mathbf{X}$ , Result 1 can be rewritten as
$$
| \delta \lambda (\mathbf {X}) | \leq \| \delta \mathbf {X} \| _ {2} = \sigma_ {\max } (\delta \mathbf {X}), \tag {9}
$$
where  $\sigma_{max}(\delta \mathbf{X})$  is the maximum singular value of  $\delta \mathbf{X}$ . Next, we provide our result on the singular value decomposition of a specific matrix, which will be used further.
Result 2. Given a matrix  $\mathbf{X} \in \mathbb{R}^{3 \times 3}$  such that