1. Introduction
The factorization of a matrix
by an orthogonal (or unitary) matrix
and a triangular matrix
, which is known as the QR-factorization, or the QR-decomposition, is a fundamental technique which is widely used in various applications in computing and data analysis. This factorization is computationally effective in solving a large linear system
(as
), to solve least squares problems [
1]-[
6], in signal and image processing [
7,
8], in image watermarking [
9,
10], in improving air traffic control radar [
11], to analyze the stability of linear systems in control theory [
12,
13], in solving linear regression problems in machine learning [
14,
15], for linear programming algorithms [
16], in quantum computing to build effective methods of calculation muti-qubit operations [
17]-[
20]. The matrix
is presented as the product of two matrices,
. The inverse matrix
is calculated as
. Here,
is the conjugate transpose to
, and the inverse matrix
can be easily calculated, by using an iterative process called back substitution. The QR factorization is a well-known method in linear algebra, but how to implement this in the most efficient way for big data in computing is still a question.
Many methods of QR-factorization have been introduced for real matrices
, and then were modified for complex matrices. We mention the Gram-Schmidt process [
21]-[
23], the method of Householder reflections (or Householder transformations) [
24]-[
27], and the Givens rotations [
28]-[
31]. We consider the QR-factorization with an upper triangular matrix
and will dwell on the factorization which is calculated by the discrete signal-induced heap transformations (DsiHT) [
32]. For a real matrix, the DsiHT can be composed by the elementary rotations. Together with these 2×2 basic operations, the DsiHT is determined by the path, or order, of processing the signal components. The description of these transformations for two particular cases which are called the DsiHT with the weak and strong 2-wheel carriages has been given in [
32,
33]. These DsiHT are called the weak and strong DsiHT, respectively. The first transformation operates on the signal
in the usual way, that is, the 2×2 rotations operate in the order
and
, then the renewed
and
, and so on. The strong DsiHT processes the signal components in the order
and
, then
with the renewed
and continuing in this manner, all the signal-generator energy is transferred to the first component of the transform. Every second output of the rotations is zeroed.
The present work is a continuation of the research in the QR-factorization of square matrices. From very beginning much attention was given to the path of the -point DsiHT, especially for large . Many paths can be chosen for the transformation and among them we are looking for paths which lead to effective calculation of the DsiHT-based QR-factorization. Each path of the transformation determines the structure of its matrix and the number of zero coefficients in it. Therefore, we are looking for paths that determines sparse matrices of the transformation. Such paths exist and they can be used instead of the paths in the above mentioned weak and strong DsiHTs. We present two such paths, which are call fast paths #3 and #4. The paths for the weak and strong DsiHT are referred to as paths #1 and #2, respectively. The DsiHTs with fast paths are defined by unitary matrices that are sparser than the matrices of the original two DsiHTs. For instance, the 256-point DsiHTs by the fast paths have 63,232 zero coefficients out of 65,536, whereas when using path #1 or #2, the number of zero coefficients is 32,325. It means that less operations are required to perform the transformation and therefore, less operations to calculate the QR-factorization.
The main contributions of this work are the following:
Description of the fast paths for the -point DsiHT with a sparse matrix. For instance, when , the matrix of the transformation has zero coefficients.
The concept of the DsiHT with new 22 complex matrices for the ‘complex Givens rotations.’
The reduced number of multiplications in the QR-factorization.
Algorithms with fast paths that allow us to perform all real and complex rotation in the QR-factorization only on the adjacent bit planes.
Encoded tables with angles for the real unitary matrix . Such tables can be used to generate random unitary matrices.
Illustrative examples that show advantage of using the DsiHT with fast paths when comparing with the Housholder reflection-based QR-factorization.
The rest of the paper is organized in the following way. In Section II, the concept of the
-point DsiHT is described with examples of different paths for the
case. The comparison with the method of the Housholder reflections is also given.
Section 3 describes all
-points DsiHTs with fast paths for
The matrices of the DsiHTs with five different paths are given and compared with the 8-point Housholder reflection. The algorithm for the
-points DsiHT with fast path #4 is also presented in the general case, when
. In
Section 4, the DsiHT-based QR-factorization is described with the example for a 5
5 real matrix. The concept of the complex DsiHT with the fast paths and different 2
2 basic operations is presented in
Section 5. Examples with 5
5 and 256
256 complex matrices are described and compared with the Housholder reflection-based QR-factorization calculated in MATLAB.
2. QR-Factorization
In this section, we consider the
-point DsiHT for the case when
is equal to or differs from a power of 2. The transformation requires
elementary rotations [
32]. There are many ways to calculate the transform. As example, we consider the 4-point DsiHTs which are defined by the diagrams shown in
Figure 1. The signal is considered real. These diagrams show different orders, or paths, to process the components of the input. In part (a), the components
and
of the input signal (generator)
are processed in the natural order. This is the traditional path of processing the signal. The DsiHT with such a path is called the weak carriage-wheel DsiHT (see [
32] for more detail). The first value of the transform is renewed three times. This is why it is denoted by
. Each 2-point unitary transform
, is the Givens rotation, or elementary rotation. In the figure, these rotations are depicted as butterflies. In the matrix form, the rotation
is described as
The rotation angle is defined by the inputs as
. If
, then
. The transform of the generator
is equal to
Thus, the energy
of the generator is transformed to the first component. The angles
,
are calculated from this generator. The set
is called the angular representation of the signal-generator. Once the angles have been calculated, the transform of an input
is calculated by using the same path,
The result of the transformation is the signal
The 4-point DsiHT is a unitary transform. Therefore, the energy of the signal is preserved,
Path #2 which is shown in the diagram in
Figure 1 part (b) corresponds to the DsiHT which is called the strong carriage-wheel DsiHT [
32]. Here, processing data starts with the last component
of the signal. The first component
is updated once at the end of the computation. Now, we consider two paths of the 4-point DsiHT shown in parts (c) and (d) in
Figure 1. There are two different partitions of data on the first stage of computation. Two rotations
and
can be calculated in parallel. Total number of rotations, or butterflies, is equal to 3. We will call paths #3 and #4 of calculation shown in part (c) and (d), respectively, the fast paths. Of greatest interest are these two paths, which allow the calculation of the transform to be performed in two stages (or the minimum number of stages). Here, we also mention the following. Methods of QR-factorization by rotations are widely used in quantum computation to build quantum circuits for multi-qubit operations [
33,
34]. All rotations are required to operate on adjacent bit-planes (BP). Such bit-planes differ only in one bit. In the above case, when the signals are 4-point vectors (or 2-qubit superpositions), we can consider that the components
and
lie on the bit-planes 0,1,2, and 3, that is 00, 01, 10, and 11, respectively. Three butterflies in the diagrams with fast paths operate only on adjacent BPs. For instance, the second butterfly
operates on BPs (10) and (11) when using path #3, and on BP (01) and (11), when using path #4. For comparison, the butterfly
in the diagram in part (a) operates on BPs (00) and (11), which are not adjacent BPs. Also, one can see that in the diagram in part (b), the second rotation
operates on non-adjacent BPs (01) and (10). In general, for any integer
, we call the path of the
-point DsiHT the fast path, if all butterflies (rotations) operate only on adjacent BPs.
Example 1.
Let the generator be with the energy The matrices of the 4-point DsiHTs generated byand four paths inFigure 1are the following:
The transforms
for
Each path determines the structure of the matrix. This can be well seen by the location and the number of zero coefficients in the above matrices. The number of zero coefficients in the first two matrices is equal to 3, and in the last two matrices this number is 4. The first rows in these matrices is the generator
normalized to the coefficient of
, that is,
All numbers are given with an accuracy of 4 decimal places. The angles
(in degrees) for these transformations are given in
Table 1.
For comparison, we consider the Householder transform matrix composed by the signal
, as follows [
4,
25]:
where
is the 4
4 identity matrix and the Householder vector
is calculated as
This matrix is symmetric (without zero coefficients) and orthogonal, and
All these five matrices are different. As an example, we consider the input signal
. Then, we obtain the following five different transforms:
3. -Point DsiHT, when
In this section, we describe
-point DsiHTs, starting from the number
and reducing it to 3. For each of these transformations, we consider two fast paths, which are similar to the fast paths in
Figure 1 in parts (c) and (d). First, we consider the 8-point DsiHTs with paths given in
Figure 2. Seven butterflies are used in each of the diagrams shown in parts (a) and (b) and all butterflies operate on adjacent BPs. Four butterflies are used in the first stage, and they can be calculated in parallel. Two butterflies operate in the second stage, and one butterfly in the last stage. It is difficult to say which of these two paths is better. One can note in the diagram in part (b) that the calculations after Stage 1 represent the 4-point DsiHT described in
Figure 1(d).
The paths which are similar to paths in
Figure 1(a) and (b) can also be used for the 8-point DsiHT. It should be noted that, other fast paths exist for calculating the 8-point DsiHT. As an example, we consider the transformation with the diagram shown in
Figure 3. The larger the value of
, the more paths can be found for computing the
-point DsiHT.
Example 2.
Let the generator be with the energy The matrices of the 8-point DsiHTs generated by and paths #1, 2, 3, and 4 are the following:
If we consider the 8-point DsiHT with path #5 shown in
Figure 3, we obtain the following matrix of the transformation:
Each path defines the structure of the transformation matrix. The first rows in these matrices are the normalized generator
, that is,
and
. The angles
(in degrees) of rotations in these transformations are given in
Table 2. The number of zero coefficients in these matrices is also shown in the table (in the last column)
Now, we consider the Householder transform matrix calculated as / and equal to
There is no zero coefficient in the matrix. The determinant of this matrix is equals to
and the transform
The vector
is calculated as
One can notice that the number of zero coefficients in the matrices and (and ) is much greater than in the matrices and . These numbers are equal to 32 and 21, respectively. The number, of zero coefficients in the matrices and is the same. The same for the numbers, of zero coefficients in the matrices and . In the case when these numbers are calculated as follows:
Figure 4 shows the graphs of these functions in percentage terms, for
, for
. That is, the number of zeros as a percentage of the matrix size
is calculated for each of these functions,
For comparison, the first nine values of these numbers are given in
Table 3. The table also shows the difference
between the numbers
and
and their percentage to all
coefficients in the matrices.
For , the difference of zero coefficients and is equal to 514,559. When multiplying matrices of the 1024-point DsiHT by a 1024-D vector , the calculation requires multiplications, if using the transforms with paths #3 and 4. For matrices with paths #1 and #2, the calculation requires multiplications, or more than 46 times. In the general case of , the number of multiplications when multiplying the matrices by the vector is estimated as
and when multiplying
, the number of multiplications is estimated as
The number of operations saved when using the fast paths #3 and #4 is
These numbers are shown in the column number 4 in
Table 3.
Next, we show that the diagrams of the 8-point DsiHT, which are shown in
Figure 2 for two different paths, can be used and simplified when calculating the 7, 6, and 5-point DsiHTs, by removing the last inputs on the diagrams.
3.1. The -Point DsiHT
Let us consider the
case and the signal-generator
. It is possible to consider the extended zero padded 8-D vector
and use the diagrams in
Figure 2, after removing the rotations number 4 and then changing the numbers of the next three rotations. The corresponding diagrams are shown in
Figure 5. On stage 1, three rotations are used. The total number of rotations is equal to six.
3.2. The -Point DsiHT
The diagrams for calculating the 6-point DsiHTs by paths #3 and #4 are shown in
Figure 6 in parts (a) and (b), respectively. For that, the diagrams in
Figure 5 were used, after removing the last component
from the input. In these two diagrams, the number of rotations on stages 1 and 2 are different. The total number of rotations is five.
3.3. The -Point DsiHT
The last two simplifications of the diagrams of the 8-point DsiHT for the 5-point DsiHT are shown in
Figure 7. Total four butterflies are used in both diagrams.
3.4. The -Point DsiHT
The diagrams of the 4-point DsiHTs are given in
Figure 1. For the 3-point DsiHT, there are only two paths can be considered. The diagrams with these paths are shown in
Figure 8. Two butterflies are used for these transforms.
3.5. Algorithm of the DsiHT by Path #4
We stand on path #4, for any order of the DsiHT. The algorithm of the transformation with this path can be described as follows. Let us consider the smallest power of two, The calculation of the transform generated by the signal can be performed in two steps as follows:
We will receive the signal
- 2.
The -point DsiHT with the fast path #4 is applied to the 2-point signal
The total number of rotations is equal to
.
As an example, we consider the diagram of the 7-point DsiHT, which is shown in
Figure 5 part (b), when
. The first three rotations are applied to the pairs
,
, and
. Then, the first outputs of these rotations
together with the input component
are used as the input signal,
, for the 4-point DsiHT. The composition of the 7-point DsiHT is described by the following six matrices of rotation:
Here,
, when
, denotes the matrix composed by the 7
7 identity matrix [
] and coefficients of the matrix rotation
at the points (
i,
i), (
i,
), (
,
i), and (
,
). Thus,
where
and
,
The transform of the signal-generator
is the vector
3.6. Number of Zero Coefficients in the DsiHT Matrices
For the -point DsiHT calculated by paths #3 and 4, the number of zero coefficients is estimated as follows. If , where the following recurrence formula is valid:
In other words, in the matrix of the -point DsiHT there is more zero coefficients than in the matrix of the -point DsiHT. If we denote where then the number can be calculated as
If
, then
calculated by Equation (20). A few values of these numbers are shown in
Table 4.
The number of multiplications when multiplying the matrices
by the
-dimensional vector
can be estimated as
These numbers are also given in
Table 4 along with the maximum number of multiplications
for comparison. Note that for the
-point DsiHT with path #1, the number of zero coefficients is calculated by
, for any
4. DsiHT-Based QR Factorization
In this section, we describe the QR-factorization of a square matrix of size by the Givens rotations. The unitary matrix is considered with real coefficients. In the QR- factorization, DsiHTs are used. This factorization is illustrated below for a unitary matrix,
The first 5-point DsiHT,
is generated by the first column of the matrix
and then it is applied to each of its columns. Four zero coefficients will be obtained in the new matrix
in its first column, as shown above. A similar transform will be applied on the 4
4 submatrix (highlighted in red) of
. Namely, the 4-point DsiHT,
, will be generated by the last four components of the second column of the matrix
. This transform will be applied to each column of the 4
4 submatrix.
In the new matrix , another three zero coefficients in the 2nd column will be obtained. Then, the 3-point DsiHT, , will be generated by the first column of the 33 sub-matrix of and applied on this sub-matrix. We will obtain a new matrix with 9 zero coefficients, as shown in Equation (32). The last 2-point DsiHT, , will be generated by the last two coefficients of the 4th column of and applied to its 22 sub-matrix. Thus, the matrix triangularization is completed as
Here, is the identity matrix. If we denote the unitary matrix and its inverse
then, we can write This is the result of the QR-factorization. The matrix is upper-triangular and is the unitary matrix. The matrix operation ‘’ stands for the matrix transposition.
Let us estimate the number of multiplications in the QR-factorization of the 55 matrix . The first 5-point DsiHT is applied to five columns of . Then, the second 4-point DsiHT is applied to four columns of the 44 submatrix of , and so on. Thus, considering the number of zero coefficients in the matrices of the DsiHTs, we obtain the following estimation:
The number of rotations that perform the QR-factorization of the matrix is equal to If use the Householder transformations in the QR- factorization of the same 55 matrix, the number of multiplications will be estimated by
Example 2.
Consider the following randomly generated 55 matrix:
The QR-factorization of the matrix,
, where the upper triangular matrix
, is calculated as follows. The first 5-point DsiHT with fast path #4 is generated by the column
The matrix in this factorization is equal to
At the next three stages of the matrix factorization, the matrices are composed by the matrices of the 4-,3-, and 2-point DsiHTs and are equal to
The unitary matrix
is calculated as
and is equal to
Ten angles of rotations in these four DsiHTs are given in
Table 5 (in degrees). This is an encoded table of the QR-factorization by the DsiHTs with path #4.
We remind that in the QR-factorization, the triangularization is accomplished by a unitary matrix . The original matrix is integer-valued, and it always possible to fulfil the triangularization by the integer matrices only, as shown below
The determinant of the matrix
is equal to
, but this matrix is not unitary. To calculate the matrix
from this equation as
, the inverse of the matrix
is required, which is not the transpose matrix, that is,
The QR-factorization of the same matrix
by the Householder reflections results in the matrices
It can be noted that the coefficients of these matrices differ only in signs from the corresponding matrices of the DsiHT-based QR factorization, given in Equations (40) and (41). This example illustrates the advantage of the DsiHT-based method over the Householder reflection method. The results are almost the same, but the DsiHTs reduce the operations of multiplication by the number
, plus the encoded QR-factorization table is generated. Such a table can be used to create a unitary matrix 5
5.
The numbers of operations of multiplication for the QR-factorization by the Housholder reflections and DsiHT with paths #1 and #4, are calculated as
where
is calculated by Equation (31). The values of these estimations for small values of
and for powers of two,
and
, are given in
Table 6.
One can note that the DsiHT-based method with the fast path #4 required a smaller number of multiplications when comparing with the path #1, as well as the Householder reflection-based method. The graphs of the functions
and
are shown in
Figure 9 in part (a), when
, and in part (b) when
.
For comparison with the method of DsiHT with path #4,
Figure 10 illustrates the ratios of functions
and
in the integer interval [2,2048]. These two curves are approximately equal to the lines with the slops
and
5. Complex QsiHT
In this section, we describe the complex DsiHT. As shown in [
33], there are different complex matrices
that can be used as the basis elements to compose the
-point complex DsiHT.
A. First, we consider the following 2×2 matrix:
Numbers
and
are complex. The matrix
is unitary and its determinant
and
The matrix product
It should be noted that such matrices are used in quantum computation for realization of complex multi-qubit operations [
34]. Therefore, this matrix is decomposed by basic 2
2 operations, or gates. For that, the polar form of the numbers is considered, that is,
and
. Then, Equation (48) can be written as
This complex matrix can be encoded by four angles in the following way. First, we calculate the angle
) and then denote the cosine and sine coefficients
The matrix
can be written as
The first matrix in this factorization is known as the phase shift, the 2
nd and 4
th ones are
-rotations [
35], and the 3
rd matrix is the matrix of the elementary rotation. Thus, we can encode the matrix
by four angles as
The QR-factorization of a complex matrix by such complex
matrices is described in detail in [
34]. For this purpose, the concepts of the complex DsiHT with the strong and weak carriage-wheels are used.
Other 2
2 matrices also can be used, instead of the matrix
. We mention the known complex Givens rotation with the matrix [
4]
When applying the matrix
on the vector-generator
we obtain
. Two coefficients of this matrix are real, and in the matrix
, only one coefficient is real. We can consider the complex matrix with all complex coefficients. For instance, the unitary matrix is defined as
for which
=
The complex vector
is rotated to the positive or negative direction of the real axis. The matrices
and
can be expressed by the matrix
as
The comparison of QR-factorizations of a complex square matrix by the matrices
,
, and
, when using the weak and strong DsiHT, is given in [
33] together with examples and MATLAB-based codes.
The following should be noted about the matrix
. The QR-factorization by this matrix can be calculated analytically without rotation angles and matrices [
32]. For simplicity of calculations, we consider the weak DsiHT. First, let the matrix
be real. The following notations for an input
-dimensional vector
and the vector generator
are used:
and
for the partial energies of the signal generator. The DsiHT of the input vector , that is, can be calculated by the correlation data, as follows:
For a given generator
, all values of
and
can be calculated in advance. The coefficients
of the matrix
can be obtained from Equations (57)–(60). For that, the standard procedure is used. The m-th column of this matrix is the DsiHT of the unit vector
, with 1 on the m-th position. Therefore, all coefficients can be calculated using the formulas
The diagonal coefficients of this matrix
represent the ratios of the energies of the first n components of the signal to the
components.
When the matrix is complex, the complex DsiHT can be calculated by using the similar formulas. The partial cross-correlations of the complex input with the complex generator are calculated by
and the partial energies of the generator are calculated by
The above matrices , , and can be used for calculating the DsiHTs with fast paths #3 and #4. However, we consider another and more effective way to perform the basic operation on complex data.
B. We introduce a new matrix instead of the above matrix . First, we remove the phases from the complex numbers and , as In the matrix form, this operation can be written as
Then, the elementary rotation can be used on the real vector,
Here, the rotation angle is calculated as
. If
, then
. We obtain the following complex-to-real transformation:
This matrix is simple when compared to the matrix
and it can be encoded by three angles
We also can write
. If the input
and
are real, we prefer to use the original matrix of rotation, which is defined in Equation (1). Then, the matrix will be encoded as
.
Example 3. Let us consider the complex 5-point signal
The matrix of the 5-point DsiHT degenerated by
and path #4 has the following complex unitary
matrix:
This matrix has eight zero coefficients, as in the case of real matrices. The determinant of the matrix is equal to
and
Up to the constant
, the first row of the matrix is the generator
, that is, it is equal to
The diagram of this transformation is shown in
Figure 11 and it looks like what is shown in
Figure 7 in part (b). Only, the butterflies with rotations
are changed by the complex operations
.
All angles of the complex operations
in this DsiHT are given in
Table 7.
Now, we consider the example of the QR-factorization of a complex matrix by the DsiHT with path #4.
Example 4.
Consider the following 55 complex matrix:
The QR-factorization of this matrix,
by four complex DsiHTs each with path #4, results in the following matrices:
We need to mention that the coefficients in the diagonal of the upper triangular matrix
are real, except the last coefficient. Therefore, the imaginary part of the matrix has four more zeros than the real part. The angles of all ten complex operations
in this QR-factorization are given in
Table 8.
The unitary matrix is equal to
.
Table 7 can be considered as an encoded table of angles for
. Any such encoded table, namely the set of 30 angles, can be used to generate a complex unitary 5
5 matrix. In the general case of
, such encoded tables of angles for
DsiHTs with path #4 can be used to generate a complex unitary
matrix. The number of angles in the encoded table is equal to
Now, we analyze the MATLAB version of QR-factorization of the same matrix, , which is calculated by the function ‘qr.m,’ as ‘[Q_M,R_M]=qr(A).’ The method of the Householder transformations is programmed in this function. Many coefficients of these two matrices are equal up to the sign to the coefficients of the corresponding matrices and . Therefore, we consider the pointwise ratio of the matrices,
Here, the symbol ‘*’ is used at points where the coefficients of the matrices are zero (as 0/0). The last coefficients of the triangular matrices
and
The major difference of these matrices is in the coefficients of the last columns.
Although we are writing and , there are small errors in calculation of the matrix by and matrices. To compare the results of the QR-factorization, the precision of computation has been estimated by the 2-norms of the matrix and matrix , by using the MATLAB function “norm.m.” The results of the calculation are
Relative to the 2-norm, the error of the QR-factorization by the DsiHTs with fast path #4 is more than two times less than the error when using the method of the Householder transformations.
As mentioned above, the fast paths, like paths #3 and #4, allow us to decompose the matrix by using matrices with more zero coefficients than when using the paths #1 and #2. It means that less operations of multiplication and addition will be used, and results will be more accurate. That can be verified in this example as well. For instance, we consider the QR-factorization by DsiHTs with path #1 (that is, the DsiHTs with the weak wheel-carriage). The calculations by the analytical Equation (56) result in the following complex matrices:
Here, only those coefficients in the matrices
and
are given that differ from the coefficients of the corresponding matrices
and
. All other coefficients are equal and marked by ‘
.’ Note that all coefficients in the above matrices are given with an accuracy of up to 4 decimal places.
The results of the calculation of the 2-norm o the matrix are the following:
Relative to the 2-norm, the error of the QR-factorization by the DsiHTs with fast path #1 is smaller than the error when using the Householder transformations. However, this 2-norm is larger than the 2-norm
of the factorization by the fast paths. Namely,
In conclusion, we consider the example of a complex matrix of a large size, and we compare the results of the QR-factorization by the DsiHTs with path #4 with the MATLAB version of the factorization.
Example 5.
The 256256 complex matrix is composed by two real images, as shown in Figure 12 part (a).The real part of this matrix is the ‘cameramen.tif’ image of 256256 pixels. The imaginary part of this matrix represents the grayscale ‘peppers.tiff’ image of 512 pixels after down-sampling to the size of 256256 pixels. The real and imaginary parts of this complex matrix are integer-valued non-negative matrices. The result of the DsiHT based QR-factorization of this 256256 complex image is shown in part (b). Visually it is difficult to see the difference between these two images in this figure. The difference matrix has values in the small interval and is shown in part (c) as the image after scaling, by using the MATLAB function ‘imagesc.m.’ The 2-norm of the difference matrix is equal to
Figure 13 shows the image of the unitary matrix
together with the image of the triangular matrix
. Since the value of the matrix
are small, this matrix is displayed in an absolute scale with the factor of 2000. The matrix of
is also displayed in the absolute scale with the factor of 3.
For comparison,
Figure 14 shows the result
obtained when using MATLAB code ‘qr(A).’ The 2-norm of the difference matrix
is equal to
This 2-norm is 1.2337 times larger than the 2-norm
Since the original images are integer-valued, the results
and
can be rounded before displaying them. The rounding of the matrix
is shown in
Figure 14 in part (b). There is a zero error between the rounded matrix
and the matrix
. The same is true for the rounded matrix
.
Figure 1.
Four diagrams for calculating the 4-point DsiHT.
Figure 1.
Four diagrams for calculating the 4-point DsiHT.
Figure 2.
The diagrams for calculating the 8-point DsiHT with (a) path #3 and (b) path #4.
Figure 2.
The diagrams for calculating the 8-point DsiHT with (a) path #3 and (b) path #4.
Figure 3.
The diagram for calculating the 8-point DsiHT with path #5.
Figure 3.
The diagram for calculating the 8-point DsiHT with path #5.
Figure 4.
The graphs of the number of zero coefficients in the matrices of the -point DsiHTs.
Figure 4.
The graphs of the number of zero coefficients in the matrices of the -point DsiHTs.
Figure 5.
The diagrams for calculating the 7-point DsiHT with (a) path #3 and (b) path #4.
Figure 5.
The diagrams for calculating the 7-point DsiHT with (a) path #3 and (b) path #4.
Figure 6.
The diagrams for calculating the 6-point DsiHT with (a) path #3 and (b) path #4.
Figure 6.
The diagrams for calculating the 6-point DsiHT with (a) path #3 and (b) path #4.
Figure 7.
The diagrams for calculating the 5-point DsiHT with (a) path #3 and (b) path #4.
Figure 7.
The diagrams for calculating the 5-point DsiHT with (a) path #3 and (b) path #4.
Figure 8.
The diagrams for calculating the 3-point DsiHT with (a) path #3 and (b) path #4.
Figure 8.
The diagrams for calculating the 3-point DsiHT with (a) path #3 and (b) path #4.
Figure 9.
The curves of the functions and in the integer intervals (a) [2,512] and (b) [512,2048].
Figure 9.
The curves of the functions and in the integer intervals (a) [2,512] and (b) [512,2048].
Figure 10.
The curves of the functions (a) and (b) .
Figure 10.
The curves of the functions (a) and (b) .
Figure 11.
The diagram for calculating the 5-point complex DsiHT with path #4.
Figure 11.
The diagram for calculating the 5-point complex DsiHT with path #4.
Figure 12.
(a) The original complex image , (b) the complex image , and (c) the difference of images.
Figure 12.
(a) The original complex image , (b) the complex image , and (c) the difference of images.
Figure 13.
The image of the matrix and the image of .
Figure 13.
The image of the matrix and the image of .
Figure 14.
(a) The complex image and (b) the rounded image of .
Figure 14.
(a) The complex image and (b) the rounded image of .
Table 1.
The angles of rotation in the matrices of the 4-point DsiHT.
Table 1.
The angles of rotation in the matrices of the 4-point DsiHT.
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 2.
Angles of rotations in the 8-point DsiHTs by paths #1, 2, 3, 4, and 5.
Table 2.
Angles of rotations in the 8-point DsiHTs by paths #1, 2, 3, 4, and 5.
| |
|
|
|
|
|
|
|
#0 |
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
32 |
|
|
|
|
|
|
|
|
32 |
|
|
|
|
|
|
|
|
32 |
Table 3.
Comparison of four matrices of the -point DsiHTs, when is a power of
Table 3.
Comparison of four matrices of the -point DsiHTs, when is a power of
|
|
|
|
|
100
|
100
|
| 4 |
3 |
4 |
1 |
16 |
18.75% |
25% |
| 8 |
21 |
32 |
11 |
64 |
32.81% |
50% |
| 16 |
105 |
176 |
71 |
256 |
41.01% |
68.75% |
| 32 |
465 |
832 |
367 |
1,024 |
45.41% |
81.25% |
| 64 |
1,953 |
3,648 |
1,695 |
4,096 |
47.68% |
89.06% |
| 128 |
8,001 |
15,360 |
7,359 |
16,384 |
48.83% |
93.75% |
| 256 |
32,385 |
63,232 |
30,847 |
65,536 |
49.41% |
96.48% |
| 512 |
130,305 |
257,024 |
126,719 |
262,144 |
49.70% |
98.05% |
| 1024 |
522,753 |
1,037,312 |
514,559 |
1,048,576 |
49.85% |
98.93% |
| 2048 |
|
|
|
|
49.93% |
99.41% |
Table 4.
The number the zeros and operations of multiplication by matrices of the -point DsiHT.
Table 4.
The number the zeros and operations of multiplication by matrices of the -point DsiHT.
|
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
|
|
|
|
|
|
1 |
4 |
8 |
|
22 |
32 |
43 |
56 |
71 |
88 |
107 |
|
|
|
|
8 |
12 |
17 |
22 |
27 |
32 |
38 |
44 |
50 |
56 |
62 |
68 |
74 |
80 |
|
9 |
16 |
25 |
36 |
49 |
64 |
81 |
100 |
121 |
144 |
169 |
196 |
225 |
256 |
Table 5.
Angles of rotations in the QR factorization of the 55 matrix .
Table 5.
Angles of rotations in the QR factorization of the 55 matrix .
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 6.
Numbers of multiplication in the QR factorizations of the matrix.
Table 6.
Numbers of multiplication in the QR factorizations of the matrix.
|
|
|
|
|
|
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
|
|
|
440 |
|
1295 |
2024 |
3024 |
4355 |
6083 |
8280 |
11024 |
|
|
|
|
335 |
|
917 |
1394 |
2034 |
2870 |
3938 |
5277 |
6929 |
|
|
|
|
297 |
|
742 |
1084 |
1524 |
2074 |
2746 |
3552 |
4504 |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 7.
The angles of the 5-point complex DsiHT.
Table 7.
The angles of the 5-point complex DsiHT.
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 8.
The angles of the DsiHT-based QR-factorization of .
Table 8.
The angles of the DsiHT-based QR-factorization of .
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-12.4259 |
|
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
-42.6405 |
1 |
|
|
|
|
2 |
|
|
|
|
|
1 |