WO2005119507A1 - 行列の高速高精度特異値分解方法、プログラムおよび装置 - Google Patents

行列の高速高精度特異値分解方法、プログラムおよび装置 Download PDF

Info

Publication number
WO2005119507A1
WO2005119507A1 PCT/JP2005/010084 JP2005010084W WO2005119507A1 WO 2005119507 A1 WO2005119507 A1 WO 2005119507A1 JP 2005010084 W JP2005010084 W JP 2005010084W WO 2005119507 A1 WO2005119507 A1 WO 2005119507A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
singular value
singular
calculating
transformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2005/010084
Other languages
English (en)
French (fr)
Inventor
Yoshimasa Nakamura
Masashi Iwasaki
Shinya Sakano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to CA2568852A priority Critical patent/CA2568852C/en
Priority to JP2006514122A priority patent/JP4325877B2/ja
Priority to EP05746027A priority patent/EP1752884B1/en
Priority to US11/569,898 priority patent/US8306361B2/en
Publication of WO2005119507A1 publication Critical patent/WO2005119507A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images

Definitions

  • the present invention relates to a method, a program, and an apparatus for performing singular value decomposition on an arbitrary matrix A with high speed and high accuracy, and more particularly, calculates a singular value of a matrix, and calculates the calculated characteristic.
  • the present invention relates to a method, a program, and an apparatus for performing singular value decomposition at high speed and with high accuracy by calculating a singular vector for a value.
  • the standard method used for performing singular value decomposition on a computer is the DBDSQR routine published by the international numerical library LAPACK.
  • the DBDSQR routine is based on the QR method, and can be divided into three parts: preprocessing, main loop, and postprocessing.
  • preprocessing the upper and lower limits of the singular value are calculated, and the accuracy used for convergence determination is calculated.
  • main loop the matrix is divided and reduced gradually while repeating the QR method, and the loop ends when the matrix size finally becomes 1. If a 2 X 2 matrix block appears on the way, another process is performed.
  • is the singular value of ⁇
  • is the eigenvalue of ⁇ ⁇ ⁇
  • v is the eigenvector for the eigenvalue
  • B TB is a symmetric tridiagonal matrix.
  • the eigenvalues of B T B are all positive, and the singular value ⁇ ( ⁇ ⁇ ⁇ ⁇ ... ⁇ ⁇ ⁇ 0) of B is j 1 2 m
  • the singular value decomposition can be replaced with the diagonalization of B T B problem. This principle is based on the fact that at least one singular value and It can also be applied to the case of finding the singular vector.
  • the singular value decomposition of a general matrix A comprises diagonalization problems symmetric tridiagonal matrix B T B.
  • DBDSQR / Rachin has a very large amount of calculation, and especially in large-scale problems, it has been difficult to perform singular value decomposition at high speed.
  • the DLASQ routine is capable of finding singular values at high speed and with high accuracy. Was difficult to do.
  • One of the objects of the present invention by executing the diagonalization of symmetric tridiagonal matrix B T B at a high speed and with high precision, high speed and high singular value decomposition of an arbitrary matrix A It is an object of the present invention to provide a method, a program, and an apparatus which can execute the program with high accuracy.
  • the matrix B is an upper diagonal matrix obtained by performing a Householder transformation of the matrix A.
  • Miura inverse transformation, SdLVvs conversion by performing the O that Twisted ('isutiddo) decomposed into rdLVvs transformation and Miura type conversion, diagonalizing matrix B T B.
  • the matrix B is an upper bidiagonal matrix having the same singular value as the matrix A.
  • the transformation from matrix A to matrix B can be performed, for example, by the Householder method.
  • the diagonalization of the matrix B T B according to the present invention unlike the DBDSQR / Rechin obtaining eigenvalues and eigenvectors simultaneously, as DSTEG R routine, the eigenvalues calculated first, intrinsic then using the computed eigenvalues Ask for a vector.
  • a method for performing singular value decomposition on an arbitrary matrix A using a computer comprising: performing upper diagonalization on matrix A; The step of obtaining an angular matrix B, the step of obtaining at least one singular value ⁇ of the matrix B as a singular value of the matrix A, and the step of obtaining a singular vector of the matrix ⁇ ⁇ ⁇ ⁇ with respect to ⁇ .
  • the step of finding the singular vector is to perform a twisted decomposition on the matrix ⁇ ⁇ ⁇ — ⁇ 2 ⁇ using Miura-type inverse transform, sdLVvs transform, rdLVvs transform, and Miura-type transform. More, comprising the steps of diagonalized matrix B T B, I is a unit matrix, a method is provided, thereby the objective described above being achieved.
  • determining a singular vector of the matrix A, the matrix B T B the after Sutetsu flop diagonalized, Yo ⁇ also include the step of performing an inverse iteration method.
  • the step of obtaining the singular vector of the matrix A may include the step of performing the Gram-Schmidt method after the step of performing the inverse iterative method.
  • the step of obtaining the singular value ⁇ of the matrix B may include the step of executing a dLVs routine.
  • the step of obtaining the singular value ⁇ of the matrix B may include a step of determining whether to execute the dLVs routine or the DLASQ routine according to the required calculation time and accuracy.
  • the step of performing upper bidiagonalization on the matrix A and obtaining the upper bidiagonal matrix B includes a step of executing an upper bidiagonalization method (for example, a Novus Holder method). But.
  • the step of calculating a matrix M representing the transformation into coordinates is a step of performing upper diagonalization on the matrix D to obtain an upper bidiagonal matrix B of the matrix D.
  • the step of obtaining the singular vector of the column D is performed by performing a twisted decomposition on the matrix ⁇ ⁇ ⁇ — ⁇ 2 1 using the inverse Miura transformation, sdLVvs transformation, rdLVvs transformation, and Miura transformation. , And diagonalizing the matrix ⁇ ⁇ , wherein I is an identity matrix, thereby achieving the above object.
  • a method for searching for information included in a given document and related to a given keyword comprising: receiving a question vector q corresponding to the keyword; Performs upper diagonalization on the corresponding index word document matrix D, The step of obtaining the upper diagonal matrix B of the matrix D, and the singular value ⁇ of the matrix B as a singular value of the matrix D ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ > 0, r is equal to the rank of the matrix D) And kj 1 2 r
  • Matrix D is a matrix ⁇ , ⁇ k 1 2 k k with ⁇ , ⁇ , ⁇ , ⁇ being diagonal elements and other elements being 0
  • the step of obtaining the right and left orthogonal matrices U, V of the matrix D is performed by the Miura type inverse transformation. kkk
  • a method comprising the step of diagonalizing ⁇ ⁇ , wherein I is an identity matrix, thereby achieving the above object.
  • a program for causing a computer to execute singular value decomposition processing for executing singular value decomposition for an arbitrary matrix ⁇ wherein the singular value decomposition processing Performing diagonalization and obtaining an upper bidiagonal matrix B of matrix A; obtaining at least one singular value ⁇ of matrix B as a singular value of matrix A; obtaining a singular vector of matrix ⁇ ⁇ ⁇ ⁇ for ⁇
  • the step of obtaining the singular vector of the matrix A is a twisted manner for the matrix B T B— ⁇ 2 1 using the Miura-type inverse transform, the sdLVvs transform, the rdLVvs transform, and the Miura-type transform.
  • a program is provided, wherein I is an identity matrix, thereby achieving the above object.
  • the step of calculating the matrix ⁇ representing the transformation of the three-dimensional coordinates Si (XY,) and the two-dimensional coordinates into the three-dimensional coordinates of is performed by performing the upper diagonalization on the matrix D, and This is the step of finding the diagonal matrix ⁇ , and the matrix D is
  • the step of obtaining the singular vector of the column D is performed by performing a twisted decomposition on the matrix ⁇ ⁇ ⁇ — ⁇ 2 1 using the inverse Miura transformation, sdLVvs transformation, rdLVvs transformation, and Miura transformation.
  • I is the identity matrix, the program Is provided, whereby the above object is achieved.
  • a program for causing a computer to execute a document search process for searching for information included in a given document and related to a given keyword.
  • r is equal to the rank of matrix D), selecting k such that k ⁇ r, and calculating pseudo matrix D of matrix D, D is ⁇ , kk 1 ⁇
  • a step defined as U ⁇ V T , that computes the similarity between the matrix D and the query q
  • the step of obtaining the right and left orthogonal matrices U and V of the matrix D includes the Miura-type inverse transform and the sdLVvs transform k k k
  • an apparatus for performing singular value decomposition on an arbitrary matrix A means for receiving the matrix A as an input, and performing upper diagonalization on the matrix A
  • An apparatus including means for diagonalizing ⁇ ⁇ , wherein I is a unit matrix, thereby achieving the above object.
  • Means of singular vectors of corresponding D are also arranged in the order of left force, means for calculating matrix C from matrix ⁇ , and means for calculating matrix C from matrix ⁇ , and the three-dimensional coordinates s (X, ⁇ , ⁇ ) And means for calculating a matrix ⁇ representing the transformation, wherein the singular vectors of the matrix D for ⁇ , ⁇ and ⁇
  • the means for finding is to perform the twisted decomposition on the matrix B TB — ⁇ 2 1 using the inverse Miura type transformation, the sdLVvs transformation, the rdLVvs transformation, and the Miura type transformation to obtain the matrix ⁇ ⁇ ⁇
  • An apparatus is provided, including means for diagonalization, wherein I is a unit matrix, thereby achieving said objective.
  • a device for searching for information included in a given document and related to a given keyword and means for receiving a question vector q corresponding to the keyword, Means for performing upper bidiagonalization on the index term document matrix D corresponding to the document to obtain an upper bidiagonal matrix B of the matrix D, and a singular value ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ > 0, r is equal to the rank of the matrix D) and k
  • the matrix D is a matrix ⁇ in which ⁇ , kk 1 ⁇ ,..., ⁇ are diagonal elements and other elements are 0. , ⁇ , ⁇ ,
  • the means for obtaining the right and left orthogonal matrices U and V of the matrix D are Miura-type inverse transform, sdLVvs transform, and rdLVv. kkk
  • An apparatus including means for keratinizing, wherein I is a unit matrix, thereby achieving the above object.
  • the matrix B T B is diagonalized by executing the inverse decomposition of the Miura type, the sdLVvs conversion, the rdLVvs conversion, and the twisted decomposition by the Miura type conversion.
  • the computational flow of determining the eigenvalues and eigenvectors simultaneously or determining the eigenvectors using the calculated eigenvalues Due to this difference, the calculation time can be further reduced for the two-dimensional to three-dimensional image restoration problem and document search problem described below.
  • FIG. 1 is a flowchart showing a procedure of processing of an I—SVD routine for singular value decomposition provided by the present invention.
  • Figure 2 is a flow chart showing the procedure of sqds and rpqds conversion processing by the method of Parlett et al.
  • FIG. 3 is a flowchart showing the processing procedure of Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 4 is a flowchart showing the procedure of the Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 5 is a flowchart showing a procedure of Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 6 is a flowchart showing the processing procedure of Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 7 is a flowchart showing a procedure of Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 8 is a flowchart showing the processing procedure of Miura-type inverse conversion, sdLVvs conversion, rdLVvs conversion, and Miura-type conversion according to the present invention.
  • FIG. 9 is a diagram showing a difference in a calculation path between the Parlett method and the method according to the present invention, which reduces the error in the present invention.
  • FIG. 10 is a diagram showing a computer which is one embodiment of a singular value decomposition device according to the present invention.
  • FIG. 11 is a flowchart showing one embodiment of image processing for restoring a plurality of two-dimensional images of an object into a three-dimensional image using the singular value decomposition method according to the present invention.
  • FIG. 12 is a flowchart showing one embodiment of a document search method using the singular value decomposition apparatus according to the present invention.
  • FIG. 1 shows the procedure of processing an I-SVD routine for singular value decomposition provided by the present invention.
  • the process of FIG. 1 may be provided in the form of a computer program.
  • step 102 upper diagonalization is performed on the general matrix A using the Householder method.
  • the upper diagonalization method used at this time may be the house holder method or another upper diagonalization method.
  • an upper diagonal matrix B is obtained.
  • the singular value ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 0, m of the matrix B is the matrix size j 1 2 m of the matrix ⁇ ⁇ ⁇
  • the singular value calculation routine dLVs provided by the present invention and the DLASQ routine provided by LAPACK can be used.
  • Japanese rice matrix B, etc Sig and the singular values of matrix A equal to the positive square root example 1/2 of the eigenvalues of the matrix B T B.
  • the dLVs routine calculates the singular value ⁇ of B with high accuracy. Details of the dLVs routine will be described later.
  • the singular values obtained by dLVs are the most accurate compared to conventional LAPCK routines (DBDS QR, DLASQ, etc.). In terms of speed, in most cases it is inferior to the DLASQ routine, but it is very reliable!
  • step 104 it is determined whether high accuracy is required. If you want to perform the most accurate singular value decomposition, use dLVs in step 106.If you want to achieve both high accuracy and high speed, use the conventional DLASQ routine in step 108 as the singular value calculation routine. Good. In addition, the DLASQ routine stops after a finite number of operations. Although it is not clear whether to stop, the dLVs routine is guaranteed to converge, so if reliability is important, it is better to use the dLVs routine.
  • step 110 the calculated singular value of ⁇ (ie, the singular value of
  • step 114 When ⁇ (, 1,0,-, 0) ⁇ is obtained, the singular vector V of the matrix ⁇ is obtained (that is, the diagonalization matrix V of ⁇ ⁇ ⁇ is obtained). That is, ⁇ ⁇ ⁇ is diagonalized.
  • ⁇ diag (a) the singular vector V of the matrix ⁇ is obtained (that is, the diagonalization matrix V of ⁇ ⁇ ⁇ is obtained). That is, ⁇ ⁇ ⁇ is diagonalized.
  • the left and right orthogonal matrix obtained at this time that is, the result of the singular vector calculation, is inferior in accuracy as compared with the result obtained by the DBDSQR routine. Therefore, by using the inverse iteration method in step 116, it is possible to obtain the same level of accuracy as the DBDSQR routine. If even higher accuracy is required, in step 120, re-orthogonalization by the Gram-Schmitt method can achieve more accurate calculation than DBDSQR. It is understood from Table 2 that the I SVD routine can be significantly reduced in speed as compared to DBDSQR. Also, as can be seen from Table 1, the I-SVD routine can perform singular value decomposition with high accuracy even when extremely poor accuracy due to DSTEGR is observed.
  • each step shown in FIG. 1 is realized by software (for example, a program). However, the present invention is not limited to this.
  • the function of each step shown in FIG. 1 may be realized by one piece of hardware (for example, a circuit, a board, a semiconductor chip), or may be realized by a combination of software and hardware.
  • Table 1 after executing the matrix B T B Taikakui ⁇ routine according to the present invention, is a table comparing the error of the prior art and the present invention when executing the inverse iteration method.
  • Table 2 after performing the matrix B T B Taikakui ⁇ routine according to the present invention, is a table comparing the calculation time of the prior art and the present invention when executing the inverse iteration method.
  • Section 1.3 explains the reason why the error of the method of the present invention is reduced as compared with the DSTEGR routine.
  • B (+1) and B ( _1) are upper diagonal and lower bidiagonal matrices, respectively.
  • k be the minimum value of (e () + q. (0) - ⁇ ).
  • B (0) Given the component ⁇ b (0) , b ( 0) ⁇ of B, that is, given ⁇ q (0) , e (0) ⁇
  • the routine according to the present invention employs a new transformation that replaces the st qds and rpqds transformations.
  • the routine according to the present invention employs a new transformation that replaces the st qds and rpqds transformations.
  • the present invention in order to diagonalize the matrix B TB, performing'isutiddo decomposition for matrix ⁇ ⁇ ⁇ - ⁇ 2 ⁇ using sdLVvs conversion and rdLVvs conversion.
  • la the above (1) into the following three steps (la), (lb) and (lc)
  • FIGS. 3 to 8 show processing procedures for executing the Miura-type inverse conversion, the sdLVvs conversion, the rdLVvs conversion, and the mirror-type conversion according to the present invention.
  • u (1) u (0) > f (l + 6 (0) u (0) ) / (l + 6 (1) u
  • Miura-type inverse conversion is called Miura conversion
  • Miura-type conversion is called reverse Miura conversion
  • sdLVvs conversion is called stLVv conversion
  • rdLVv conversion is called rLVv conversion.
  • DLVs routine Ri same der as DLASQ routine is the basic framework, (singular vectors or B) eigenvectors only eigenvalues of B T B (or singular values of B) is obtained B T B is determined I can't stop.
  • the calculation method used for the core part of the routine is different from DLASQ.
  • Y (n) diag (l, ⁇ , ⁇ ⁇ ⁇ , ⁇ ).
  • is the eigenvalue of ⁇ ⁇ ⁇ .
  • is the eigenvalue of ⁇ ⁇ ⁇ .
  • LAPCAK's singular value calculation routine DLASQ adopts the differential type of the qd method. This is called the dqd method.
  • One step is
  • s is the origin shift amount, and is the minimum eigenvalue of Y (n ) estimated by the Gersgorin type boundary condition. Therefore, at the core of the main loop of the DLASQ routine, the minimum eigenvalue is estimated. If s> ⁇ ( ⁇ : a positive number that can be regarded as very small), the dq ds method is used. Otherwise, the dqd method is used. Can be Other parts of the main loop (matrix partitioning, reduced order) are almost the same as DBDSQR / Rachin. That is, the DLAS Q routine is obtained by replacing the QR method included in DBDSQR / Rachin with the dqd method and the origin shift QR method with the dqds method. (Because the variables handled by the QR method and the dqd method, and the QR method with the origin shift and the dqds method are different, the judgment formulas are slightly different, but they are essentially the same.)
  • the dLVs routine uses the dLV method instead of the dqd method, and the dLVs method instead of the dqds method.
  • the dLVs routine is guaranteed to converge, unlike the DLA SQ routine.
  • One step is given below.
  • the core shift of the main loop determines the origin shift amount s by estimating the minimum singular value, and determines whether to use the dLV method or the dLVs method. However, the point to determine the s After you determine the auxiliary variable V ⁇ different from the DLASQ routine.
  • a rounding error As the error due to the computer calculation, a rounding error, an error due to cancellation of a digit, and the like are known.
  • the rounding error alone does not result in a large error at the last significant digit that differs at most from the true value. Also, if at least one operation of addition, multiplication, and division of two real numbers having different exponents is performed, a rounding error still occurs, but no further error occurs. Furthermore, even if such a rounding error-producing operation is repeated, if the rounding mode is near (rounding), the error may be rounded up or down unilaterally. Rarely accumulates extremely. Therefore, in many numerical calculation methods, special attention should be paid to the rounding error generated by at least one operation of addition, multiplication, and division. do not do.
  • the problem is the cancellation of digits caused by subtraction of real numbers of the same sign and addition of real numbers of different signs. If a value becomes 0 due to an error caused by a digit loss, and division is performed by that value, the result becomes an indefinite form in which 0 comes to the denominator, making it impossible to calculate. In this case, the calculation does not end indefinitely. Since the calculation of subtraction ⁇ division exists in both the method of Parlett and the method of the present invention, it is necessary to pay close attention to the digit cancellation error.
  • ⁇ Ql [k], el [k] ⁇ and ⁇ q2 [k], e2 [k] ⁇ can be calculated in various paths. Thus, it is possible to avoid a case where a digit loss occurs.
  • the device that executes the singular value decomposition is, for example, a device having the function of each step shown in FIG.
  • One embodiment of an apparatus for performing singular value decomposition is a computer that executes a singular value decomposition program. That A program is, for example, a program that causes the CPU to execute the steps shown in Fig. 1.
  • FIG. 10 shows a computer 10 that executes the processing of FIG. 1 as a computer program.
  • the computer 10 includes a CPU 1001, a memory 1002, an input interface unit 1003, an output interface unit 1004, and a bus 1005.
  • the CPU 1001 executes a program.
  • the program is a program that executes the processing of FIG.
  • the program and data necessary for executing the program are stored in the memory 1002, for example.
  • the program may be included in memory 1002 in any manner.
  • the program may be stored in the memory 1002 by loading the program from outside the computer 1002.
  • the program may be stored in the memory 1002 in a format to be printed on the memory 1002.
  • the input interface unit 1003 functions as an interface for receiving a matrix A to be subjected to singular value decomposition as well as an external force.
  • the output interface unit 1004 functions as an interface for outputting a calculation result.
  • the bus 1005 is used to interconnect the components 1001 to 1004 in the computer 10.
  • the singular value decomposition method according to the present invention can be applied to various fields.
  • the following shows an example of application to image processing for restoring a 2D image to a 3D image, and an example of application to document retrieval.
  • these two application examples are merely examples, and the application of the singular value decomposition method according to the present invention is not limited to these two application examples.
  • the application of the singular value decomposition method according to the present invention can be applied to all fields using singular value decomposition.
  • FIG. 11 illustrates one embodiment of image processing for restoring a plurality of two-dimensional images of an object into a three-dimensional image using the singular value decomposition method according to the present invention.
  • the steps required to perform three-dimensional restoration from a plurality of two-dimensional images include: extracting feature points from the two-dimensional image; Data on coordinate data) and rotation (conversion to 3D data, feature point data) And a step of performing visualization based on shape and rotation data.
  • the two-dimensional image to be handled is preferably a weak center projected image.
  • j 1 and j 2 are the first and second rotation matrices of the j-th camera coordinate system relative to the object coordinate system, respectively.
  • the coordinates of all n points in all m images are arranged as elements of matrix D,
  • D has a rank of 3.
  • D is given from step 1102.
  • data M and shape S relating to rotation are obtained.
  • step 1104 in order to calculate the singular value decomposition of the matrix D, the matrix D is upper-diagonalized to obtain an upper-diagonalized matrix B.
  • step 1106 the singular value of matrix B, ie, D, is calculated.
  • a dLVs routine, a DLASQ routine, another singular value calculation routine, or a combination thereof according to the present invention may be used.
  • three or more non-zero singular values appear due to digital errors in the image.
  • the fourth and subsequent singular values are due to noise and are much smaller than the first three singular values. Therefore, in step 1108, singular vectors are calculated for the first three singular values.
  • Step 1108 may utilize steps 110-120 of FIG. The three equations used are summarized as follows.
  • M, L, ( ⁇ ,) 1/2
  • step 1112 C is obtained from E.
  • the degree of freedom of C (9) is greater than the degree of freedom of E (6).
  • r [0, 1, 0]
  • the vector space model After extracting index words related to the contents of the document from the document and calculating the weight of the index word, the vector space model expresses the document by a vector having the weight of the index word as an element. Assume that the documents to be searched are D, D,..., D
  • d is the weight of the index word w in the document D.
  • the entire document set can be represented by the following mXn matrix D.
  • the matrix D is called an index document matrix.
  • each column of the index word document matrix is a document vector representing information about a document.
  • each row of the index word document matrix is a vector representing information about an index word, which is called an index word vector.
  • a search query can be represented by a vector that uses the weight of an index word as an element. Assuming that the weight of the index word w included in the search question sentence is q, the search question vector q is expressed as follows. [0092] [Number 26]
  • FIG. 12 illustrates one embodiment of a document search method using the singular value decomposition device according to the present invention.
  • step 1202 a question vector q is received.
  • step 1204 in order to calculate the singular value decomposition of the matrix D, the matrix D is upper-diagonalized to obtain an upper-diagonalized matrix B.
  • step 1206 the singular value of the matrix B, that is, the matrix D is obtained.
  • a dLVs routine, a DLASQ routine, another singular value calculation routine, or a combination thereof according to the present invention may be used.
  • the search is performed by calculating the similarity between the vector q and each document vector d in the index word document matrix D.
  • D is used instead of D.
  • D is used instead of D.
  • LTI Latent semantic indexing
  • index term "car” and the index term “automobile” are completely different, and a query using one index term searches for documents containing the other index term. Can not.
  • these semantically related index terms can be expected to be reduced to one dimension, so a search query for "car” can be used to force documents containing "car”. It is also possible to search for documents that contain 'automobile'.
  • Latent semantic indexing reduces the dimensions of high-dimensional vectors by singular bond decomposition, which is basically the same as principal component analysis in multivariate analysis. Are equivalent.
  • a value of k that is kr is selected.
  • the value of k may be given in advance, or may be selectable for each calculation.
  • V is n k, which consists only of the first k right singular vectors.
  • Step 1210 may utilize steps 110-120 of FIG.
  • step 1212 the similarity between the matrix D and the question vector q is calculated.
  • the j-th document vector of D is represented by De.
  • step 1214 a search result is output based on the similarity calculated in step 1212.
  • the present invention is useful as a method, a program, an apparatus, and the like that enable high-speed and high-accuracy singular value decomposition of an arbitrary matrix A.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 本発明による特異値分解方法は、コンピュータを用いて任意の行列Aに対して特異値分解を実行する方法であって、行列Aに対して上2重対角化を行い、行列Aの上2重対角行列Bを求めるステップと、行列Aの特異値として行列Bの特異値σを求めるステップと、σに対する行列Aの特異ベクトルを求めるステップとを包含する。行列Aの特異ベクトルを求めるステップは、ミウラ型逆変換と、sdLVvs変換と、rdLVvs変換と、ミウラ型変換とを用いて行列BTB-σ2I(Iは単位行列)に対してツイスティッド分解を実行することにより、行列BTBを対角化するステップを含む。

Description

行列の高速高精度特異値分解方法、プログラムおよび装置 技術分野
[0001] 本発明は、任意の行列 Aに対して高速かつ高精度に特異値分解を実行する方法、 プログラムおよび装置に関し、より詳細には、行列の特異値を計算し、計算された特 異値に対する特異ベクトルを計算することによって、高速かつ高精度に特異値分解 を実行する方法、プログラムおよび装置に関する。
背景技術
[0002] 現在、コンピュータ上で特異値分解を行うために用いられる標準的な方法は、国際 的な数値計算ライブラリ LAPACKにより公開されている DBDSQRルーチンである。 DBDSQRルーチンは、 QR法に基づいて作られたものであり、前処理、メインループ 、後処理の 3つの部分に分けることができる。前処理では、特異値の上限および下限 を計算し、収束判定に用いる精度を計算する。メインループでは、 QR法を繰り返しな がら、除々に行列の分割および減次を行い、最終的に行列サイズが 1となった時点 でループを終了する。途中で 2 X 2行列のブロックが現れたならば別処理を行う。後 処理では、特異値として計算された値が負ならば正に直し、必要ならば特異ベクトル をスカラー倍する。特異値を降順に、それに対応するように特異ベクトルも並べ替え る。 DBDSQRは、計算量が非常に多ぐ特に大規模問題では計算時間の増大が避 けられない。 DBDSQR/レーチンでは、特異値および特異ベクトルが同時に計算され る。また、 LAPACKには、特異値を計算する DLASQルーチン、および、計算され た特異値を用 、て特異べクトルを計算する際に用いる対角化のための DSTEGR/レ 一チンがある。 DLASQルーチンは、高速高精度に特異値を求めることができるが、 特異ベクトルを計算できない。 DSTEGR/レーチンは、その数値的な欠点から、実際 に特異値分解に使用することは難しい。
[0003] LAPACKによる DBDSQR/レーチンを例として、従来の特異値分解方法を説明す る。 DBDSQRルーチンでは、 1 X Iの一般行列 Aを特異値分解するために、まず、
1 2
行列 Aに対して Householder (ハウスホルダー)変換を適用する。すなわち、行列 A は、直交行列 U 、 Vを用いて、
[0004] [数 4]
UjAVA =
Figure imgf000004_0001
U UA = I, VA = I, m = mm{£12} と表わすことができる。このとき得られる Bを、上 2重対角行列という。ここで、 Aの特異 値 =Bの特異値であることに注意する。このように、一般行列 Aに対する特異値分解 問題を上 2重対角行列 Bに対する特異値分解問題
B = U ∑V T
Figure imgf000004_0002
σは Βの特異値
に置き換える。
[0005] 次に、行列 ΒΤΒを考える。この行列 ΒΤΒの対角化
Λ =VTBTBV
A≡diag(l , λ , ···, λ ) λ ≥λ ≥-"≥λ ≥0
1 2 m 1 2 m
V≡(v , v , ···, v )
λは ΒΤΒの固有値
j
vは固有値えに対する固有ベクトル
を行う。ここで、一般に、以下のことが成り立つ。(1)BTBは対称な 3重対角行列であ る。(2) BTBの固有値は全て正であり、 Bの特異値 σ (σ ≥ σ ≥···≥ σ ≥0)は、 j 1 2 m
BTBの固有値え (λ ≥λ ≥-"≥λ ≥0)の正の平方根に等しい。 (3)V =V、す j 1 2 m B なわち、 BTBの固有ベクトル vは、 Bの右特異ベクトルに等しい。従って、行列 BTBの 対角化が求まると、(2)より Λ =∑2であることから、∑が求まり、さらに(3)より左直交 行列 U =BV ∑_1 = BV∑_1が求まるので、 Bが特異値分解される。すなわち、 Bの
B B
特異値分解を、 BTBの対角化の問題に置き換えることができる。この原理は、 m個全 ての特異値および特異ベクトルを求める場合だけでなぐ少なくとも 1つの特異値およ び特異ベクトルを求める場合にも適用され得る。
[0006] 以上のように、一般行列 Aの特異値分解は、対称な 3重対角行列 BTBの対角化の 問題を含む。
発明の開示
発明が解決しょうとする課題
[0007] DBDSQR/レーチンでは、計算量が非常に多いため、特に大規模問題では、高速 に特異値分解を実行することが困難であった。一方、 DLASQルーチンは、高速か つ高精度に特異値を求めることができる力 DSTEGRルーチンは、場合によっては 特異ベクトルを低精度で計算するため、 DSTEGR/レーチンでは、常に高精度に特 異値分解を実行することは困難であった。
[0008] 本発明の目的の 1つは、対称な 3重対角行列 BTBの対角化を高速かつ高精度で実 行することにより、任意の行列 Aの特異値分解を高速かつ高精度に実行することを可 能にする方法、プログラム、および装置を提供することにある。ここで、行列 Bを、行列 Aをハウスホルダー変換することで得られる上 2重対角行列とする。
課題を解決するための手段
[0009] 本発明では、ミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ型変換によ る Twisted (ッイスティッド)分解を実行することにより、行列 BTBを対角化する。ここで 、行列 Bを、行列 Aと特異値が同じ上 2重対角行列とする。行列 Aから行列 Bへの変 換は、例えばハウスホルダー法で実行できる。本発明による行列 BTBの対角化では、 固有値および固有ベクトルを同時に求める DBDSQR/レーチンとは異なり、 DSTEG Rルーチンのように、まず固有値を計算し、次に計算された固有値を用いて固有べク トルを求める。
[0010] 本発明により、コンピュータを用いて任意の行列 Aに対して特異値分解を実行する 方法であって、行列 Aに対して上 2重対角化を行い、行列 Aの上 2重対角行列 Bを求 めるステップと、行列 Aの特異値として行列 Bの少なくとも 1つの特異値 σを求めるス テツプと、 σに対する行列 Αの特異ベクトルを求めるステップとを包含し、該行列 Aの 特異ベクトルを求めるステップは、ミウラ型逆変換と、 sdLVvs変換と、 rdLVvs変換と 、ミウラ型変換とを用いて行列 ΒΤΒ— σ 2Ιに対してッイスティッド分解を実行することに より、行列 BTBを対角化するステップを含み、 Iは単位行列である、方法が提供され、 これにより上記目的が達成される。
[0011] 前記行列 Aの特異ベクトルを求めるステップは、前記行列 BTBを対角化するステツ プの後に、逆反復法を実行するステップを含んでもょ ヽ。
[0012] 前記行列 Aの特異ベクトルを求めるステップは、前記逆反復法を実行するステップ の後に、グラムシュミット法を実行するステップを含んでもょ 、。
[0013] 前記行列 Bの特異値 σを求めるステップは、 dLVsルーチンを実行するステップを 含んでもよい。
[0014] 前記行列 Bの特異値 σを求めるステップは、要求される計算時間および精度に応 じて、 dLVsルーチンもしくは DLASQルーチンのどちらを実行するのかを判定するス テツプを含んでもよい。
[0015] 前記行列 Aに対して上 2重対角化を行い、上 2重対角行列 Bを求めるステップは、 上 2重対角化法 (たとえばノヽウスホルダー法)を実行するステップを含んでもょ 、。
[0016] 本発明により、物体の複数の 2次元画像から 3次元画像を復元する方法であって、 2次元画像; j (j = l, · · · , m、 mは 3以上の整数)における特徴点 i(i= l, · ' · , η、 ηは 2以上の整数)の座標 d (X , y )を抽出するステップと、該特徴点の 2次元座標 d (X
, y )より、該特徴点の 3次元座標 s (X , Y , Z )および 2次元座標から 3次元座標へ の変換を表す行列 Mを計算するステップとを包含し、該特徴点の 3次元座標 s (X , Y , Z )および 2次元座標から 3次元
座標への変換を表す行列 Mを計算するステップは、行列 Dに対して上 2重対角化を 行い、行列 Dの上 2重対角行列 Bを求めるステップであって、行列 Dは、
[0017] [数 5]
Figure imgf000007_0001
と定義される、ステップと、行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · · j 1 2
≥ σ >0、rは、行列 Dのランクに等しい)を求めるステップと、 σ 、 σ および σ に対 r 1 2 3 する行列 Dの特異ベクトルを求めるステップと、 M = M' Cなる行列 Cに対して、 E = C CTを満たす行列 Eを計算するステップであって、 M, =L,(∑,) 1/2、∑,は σ 、 σ お
1 2 よび σ を対角要素に持ちそれ以外の要素が 0である 3 X 3行列、 L'は σ 、 σ およ
3 1 2 び σ に対応する Dの特異ベクトルを左から順に並べた行列である、ステップと、行列
3
Εから、行列 Cを計算するステップと、行列じから、該 3次元座標 s (X , Υ , Ζ )および 該変換を表す行列 Μを計算するステップとを含み、該 σ 、 σ および σ に対する行
1 2 3
列 Dの特異ベクトルを求めるステップは、ミウラ型逆変換と、 sdLVvs変換と、 rdLVvs 変換と、ミウラ型変換とを用いて行列 ΒΤΒ— σ 21に対してッイスティッド分解を実行す ることにより、行列 ΒΤΒを対角化するステップを含み、 Iは単位行列である、方法が提 供され、これにより上記目的が達成される。
本発明により、与えられた文書に含まれる情報であって、与えられたキーワードに関 連する情報を検索する方法であって、該キーワードに対応する質問ベクトル qを受け 取るステップと、該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、 行列 Dの上 2重対角行列 Bを求めるステップと、行列 Dの特異値として行列 Bの特異 値 σ ( σ ≥ σ ≥· · ·≥ σ >0、 rは、行列 Dのランクに等しい)を求めるステップと、 k j 1 2 r
<rなる kを選択するステップと、行列 Dの擬似行列 Dを計算するステップであって、 k
行列 Dは、 σ , σ , · · · , σ を対角要素としそれ以外の要素が 0である行列∑、 σ k 1 2 k k
, σ , · · · , σ に対応する特異ベクトルのみを左力 順に並べた左右直交行列 U ,
1 2 k k
Vを用いて、 D =U ∑ V Tと定義される、ステップと、行列 Dと質問ベクトル qとの類 k k k k k k
似度を計算するステップと、該計算された類似度を基準に、検索結果を出力するステ ップとを包含し、該行列 Dの左右直交行列 U , Vを求めるステップは、ミウラ型逆変 k k k
換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 B¾— σ 2l (j = l , 2, · · · , k)に対してッイスティッド分解を実行することにより、行列 ΒΤΒを対角化する ステップを含み、 Iは単位行列である、方法が提供され、これにより上記目的が達成さ れる。
[0019] 本発明により、任意の行列 Αに対して特異値分解を実行する特異値分解処理をコ ンピュータに実行させるプログラムであって、該特異値分解処理は、行列 Aに対して 上 2重対角化を行い、行列 Aの上 2重対角行列 Bを求めるステップと、行列 Aの特異 値として行列 Bの少なくとも 1つの特異値 σを求めるステップと、 σに対する行列 Αの 特異ベクトルを求めるステップとを包含し、該行列 Aの特異ベクトルを求めるステップ は、ミウラ型逆変換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 BTB— σ 21に対してッイスティッド分解を実行することにより、行列 ΒΤΒを対角化する ステツ
プを含み、 Iは単位行列である、プログラムが提供され、これにより上記目的が達成さ れる。
[0020] 本発明により、物体の複数の 2次元画像から 3次元画像を復元する画像復元処理 をコンピュータに実行させるプログラムであって、該画像復元処理は、 2次元画像; j (j = 1, · · · , m、mは 3以上の整数)における特徴点 i (i= l, · · · , n、 nは 2以上の整数 )の座標 d (X , y )を抽出するステップと、該特徴点の 2次元座標 d (X , y )より、該 特徴点の 3次元座標 s (X , Υ , Z )および 2次元座標から 3次元座標への変換を表す 行列 Mを計算するステップとを包含し、該特徴点 の 3次元座標 Si (X Y , )および 2次元座標から 3次元座標への変換を表す行列 Μ を計算するステップは、行列 Dに対して上 2重対角化を行い、行列 Dの上 2重対角行 列 Βを求めるステップであって、行列 Dは、
[数 6]
Figure imgf000009_0001
と定義される、ステップと、行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · · j 1 2
≥ σ >0、rは、行列 Dのランクに等しい)を求めるステップと、 σ 、 σ および σ に対 r 1 2 3 する行列 Dの特異ベクトルを求めるステップと、 M = M' Cなる行列 Cに対して、 E = C CTを満たす行列 Eを計算するステップであって、 M, =L,(∑,) 1/2、∑,は σ 、 σ お
1 2 よび σ を対角要素に持ちそれ以外の要素が 0である 3 X 3行列、 L'は σ 、 σ およ
3 1 2 び σ に対応する Dの特異ベクトルを左から順に並べた行列である、ステップと、行列
3
Εから、行列 Cを計算するステップと、行列じから、該 3次元座標 s (X , Υ , および 該変換を表す行列 Mを計算するステップとを含み、該 σ 、 σ および σ に対する行
1 2 3
列 Dの特異ベクトルを求めるステップは、ミウラ型逆変換と、 sdLVvs変換と、 rdLVvs 変換と、ミウラ型変換とを用いて行列 ΒΤΒ— σ 21に対してッイスティッド分解を実行す ることにより、行列 ΒΤΒを対角化するステップを含み、 Iは単位行列である、プログラム が提供され、これにより上記目的が達成される。
[0022] 本発明により、与えられた文書に含まれる情報であって、与えられたキーワードに関 連する情報を検索する文書検索処理をコンピュータに実行させるプログラムであって 、該文書検索処理は、該キーワードに対応する質問ベクトル qを受け取るステップと、 該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、行列 Dの上 2重 対角行列 Bを求めるステップと、行列 Dの特異値として行列 Bの特異値 σ ( σ ≥σ j 1 2
≥· · ·≥ σ >0, rは、行列 Dのランクに等しい)を求めるステップと、 k<rなる kを選択 するステップと、行列 Dの擬似行列 Dを計算するステップであって、行列 Dは、 σ , k k 1 σ
2
, · · · , σ を対角要素としそれ以外の要素が 0である行列∑ 、 σ , σ , · · · , σ に k k 1 2 k 対応する特異ベクトルのみを左力 順に並べた左右直交行列 U , Vを用いて、 D = k k k
U ∑ V Tと定義される、ステップと、行列 Dと質問べ外ル qとの類似度を計算するス k k k k
テツプと、該計算された類似度を基準に、検索結果を出力するステップとを包含し、 該行列 Dの左右直交行列 U , Vを求めるステップは、ミウラ型逆変換と、 sdLVvs変 k k k
換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 BTB— σ
2l (j = l, 2, · · · , k)に対してッイスティッド分解を実行することにより、行列 BTBを対 角化するステップを含み、 Iは単位行列である、プログラムが提供され、これにより上 記目的が達成される。
[0023] 本発明により、任意の行列 Aに対して特異値分解を実行する装置であって、行列 A を入力として受け取る手段と、行列 Aに対して上 2重対角化を行い、行列 Aの上 2重 対角行列 Bを計算する手段と、行列 Aの特異値として行列 Bの少なくとも 1つの特異 値 σを計算する手段と、 σに対する行列 Αの特異ベクトルを求める手段とを備え、該 行列 Aの特異ベクトルを求める手段は、ミウラ型逆変換、 sdLVvs変換および rdLVvs 変換、ならびにミウラ型変換を用いて行列 ΒΤΒ— σ 2Ιに対してッイスティッド分解を実 行することにより、行列 ΒΤΒを対角化する手段を含み、 Iは単位行列である、装置が提 供され、これにより上記目的が達成される。
[0024] 本発明により、物体の複数の 2次元画像を 3次元画像に復元する装置であって、 m 枚 (mは 3以上の整数)の 2次元画像を受け取る手段と、 2次元画像; j (j = l, · · · , m) における特徴点 i(i=l, ···, n、 nは 2以上の整数)の座標 d (x , y )を抽出する手 段と、該特徴点の 2次元座標 d (X , y )より、該特徴点の 3次元座標 s (X, Υ, Z)お よび 2次元座標から 3次元座標への変換を表す行列 Mを計算する手段とを備え、該 特徴点の 3次元座標 s (X, Υ, Z)および 2次元座標から 3次元座標への変換を表す 行列 Mを計算する手段は、行列 Dに対して上 2重対角化を行い、行列 Dの上 2重対 角行列 Bを求める手段であって、行列 Dは、
[数 7]
Figure imgf000011_0001
と定義される、手段と、行列 Dの特異値として行列 Bの特異値 σ (σ ≥σ ≥···≥ j 1 2 σ >0、rは、行列 Dのランクに等しい)を求める手段と、 σ 、 σ および σ に対する r 1 2 3 行列 Dの特異ベクトルを求める手段と、 M = M'Cなる行列 Cに対して、 E = CCTを満 たす行列 Eを計算する手段であって、 M, =L,(∑,) 1/2、∑,は σ 、 σ および σ を
1 2 3 対角要素に持ちそれ以外の要素が 0である 3X3行列、 L'は σ 、 σ および σ に対
1 2 3 応する Dの特異ベクトルを左力も順に並べた行列である、手段と、行列 Εから、行列 C を計算する手段と、行列じから、該 3次元座標 s (X, Υ, Ζ)および該変換を表す行 列 Μを計算する手段とを含み、該 σ 、 σ および σ に対する行列 Dの特異ベクトル を求める手段は、ミウラ型逆変換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換と を用いて行列 BTB— σ 21に対してッイスティッド分解を実行することにより、行列 ΒΤΒ を対角化する手段を含み、 Iは単位行列である、装置が提供され、これにより上記目 的が達成される。
[0026] 本発明により、与えられた文書に含まれる情報であって、与えられたキーワードに関 連する情報を検索する装置であって、該キーワードに対応する質問ベクトル qを受け 取る手段と、該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、行 列 Dの上 2重対角行列 Bを求める手段と、行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · ·≥ σ >0、 rは、行列 Dのランクに等しい)を求める手段と、 k<rなる k
1 2 r
を選択する手段と、行列 Dの擬似行列 Dを計算する手段であって、行列 Dは、 σ , k k 1 σ , · · · , σ を対角要素としそれ以外の要素が 0である行列∑、 σ , σ , · · · , σ
2 k k 1 2 k に対応する特異ベクトルのみを左力 順に並べた左右直交行列 U , Vを用いて、 D k k k
=U ∑ V Tと定義される、手段と、行列 Dと質問べ外ル qとの類似度を計算する手 k k k k
段と、該計算された類似度を基準に、検索結果を出力する手段とを包含し、該行列 D の左右直交行列 U , Vを求める手段は、ミウラ型逆変換と、 sdLVvs変換と、 rdLVv k k k
s変換と、ミウラ型変換とを用いて行列 BTB— σ 2l (j = l, 2, · · · , k)に対してツイステ イツド分解を実行することにより、行列 BTBを対角化する手段を含み、 Iは単位行列で ある、装置が提供され、これにより上記目的が達成される。
発明の効果
[0027] 本発明によれば、ミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ型変換 によるッイスティッド分解を実行することにより、行列 BTBが対角化される。それにより 、 DSTEGR/レーチンと比較した場合、精度の点ではるかに優れ、実用化に耐え得る 固有値計算を実現し、高精度の特異値分解が可能になる。また、逆反復法、 Gram Schmidt (グラムシュミット)法、本発明にお 、て提供する dLVsルーチンのうちの 少なくとも 1つを併用することにより、 DBDSQRと比較して精度の点では同等になる こともあるが、速度の点では圧倒的に高速である特異値分解を実現することができる 。さらに、 DBDSQRルーチンと比較すると、固有値および固有ベクトルを同時の求め るの力、または、計算された固有値を用いて固有ベクトルを求めるのかの計算フロー の違いにより、以下で説明する 2次元から 3次元への画像復元問題および文書検索 問題等においては、計算時間をさらに短縮することができる。
図面の簡単な説明
[図 1]図 1は、本発明により提供される特異値分解のための I— SVDルーチンの処理 の手順を示すフローチャート
[図 2]図 2は、 Parlettらの手法による sqds変換および rpqds変換の処理の手順を示 すフローチャート
[図 3]図 3は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート
[図 4]図 4は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート
[図 5]図 5は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート。
[図 6]図 6は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート
[図 7]図 7は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート
[図 8]図 8は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミウラ 型変換の処理の手順を示すフローチャート
[図 9]図 9は、本発明において誤差の低減をもたらす、 Parlettの手法と本発明による 方法との計算経路の違!、を示す図
[図 10]図 10は、本発明による特異値分解装置の 1つの実施形態であるコンピュータ を示す図
[図 11]図 11は、本発明による特異値分解方法を利用した物体の複数の 2次元画像 を 3次元画像へ復元する画像処理の 1つの実施形態を示すフローチャート
[図 12]図 12は、本発明による特異値分解装置を利用した文書検索方法の 1つの実 施形態を示すフローチャート
符号の説明 [0029] 10 コンピュータ
1001 CPU
1002 メモリ
1003 人力インターフェース咅
1004 出力インターフェース部
1005 パス
発明を実施するための最良の形態
[0030] 以下、図面を参照しながら、本発明の実施形態を説明する。
[0031] 1.特異値分解アルゴリズム I SVDルーチン
図 1を参照する。図 1は、本発明により提供される特異値分解のための I— SVDル 一チンの処理の手順を示す。図 1の処理は、コンピュータプログラムの形式で提供さ れ得る。
[0032] ステップ 102において、一般行列 Aに対してハウスホルダー法を用いて上 2重対角 化を行う。このとき利用される上 2重対角化方法は、ハウスホルダー法であってもよい し、他の上 2重対角化方法であってもよい。これにより、上 2重対角行列 Bが得られる 。次に、行列 Bの特異値 σ ( σ ≥ σ ≥· · ·≥ σ ≥0、 mは、行列 ΒΤΒの行列サイズ j 1 2 m
に等しい)を計算する。ここで、本発明により提供される特異値計算ルーチン dLVsお よび LAPACKにより提供される DLASQルーチンを利用し得る。なお、行列 Bの特 異値は、行列 Aの特異値に等しぐかつ、行列 BTBの固有値の正の平方根え 1/2に 等しい。 dLVsルーチンは、 Bの特異値 σを高精度で計算する。 dLVsルーチンの詳 細は、後述される。 dLVsで求められる特異値は、従来の LAPCKルーチン(DBDS QR、 DLASQ等)と比較して、最も高精度である。速度に関しては、ほとんどの場合 DLASQルーチンには劣るが、信頼性の高!、DBDSQR/レーチンの約 2分の 1の時 間で計算できる (CPUが Itanium2の場合は dLVsルーチンが最速)。そこで、ステツ プ 104において、高精度性が必要とされるかどうかを判定する。最も高精度な特異値 分解を行いたい場合には、ステップ 106において dLVsを、高精度性および高速性 を両立したい場合には、ステップ 108において従来の DLASQルーチンを、特異値 計算ルーチンとして用いるのがよい。さらに、 DLASQルーチンが有限回の演算で停 止するかは定かでないが、 dLVsルーチンは収束することが保証されているので、信 頼性を重視するならば、 dLVsルーチンを用いるのがよい。
[0033] 次に、ステップ 110において、計算された Bの特異値 σ (すなわち、 Αの特異値に j
等しい)用いて、 1. 1において説明される sdLVvs変換および rdLVvs変換によるツイ スティッド分解により、 BTBの対角化を行う。本発明による行列 BTBの対角ィヒルーチン の詳細は、 1. 1で説明する。さらに、ステップ 112において、以下の 1. 1にて詳細が 示される簡略化連立 1次方程式
[0034] [数 8]
≡ ( , 1,0,- ,0)τ を求めると、行列 Βの特異ベクトル Vが得られる(すなわち、 ΒΤΒの対角化行列 Vが得 られる)。すなわち、 ΒΤΒが対角化される。ステップ 114において、∑≡diag ( a
1, σ 2
, · · · , σ ) (ただし、 σ ≥σ ≥· · ·≥σ ≥0)とすると、行列 Βの右直交行列 V = m 1 2 m B
Vであるので、行列 Bの左直交行列 U =BV ∑_1 = BV∑_ 1から Uを得る。すなわ
B B B
ち、行列 Bが特異値分解される。ここでは、 m個全ての特異値および特異ベクトルを 計算したが、この原理は、少なくとも 1つの特異値および特異ベクトルを計算する場合 にも適用され得る。
[0035] このとき得られる左右直交行列、すなわち特異ベクトル計算の結果は、 DBDSQR ルーチンによって得られる結果と比較して精度の点で劣る。そこで、ステップ 116に おいて、逆反復法を用いることにより、 DBDSQRルーチンと同程度の精度を得ること ができる。さらなる高精度性が必要とされる場合は、ステップ 120において、グラムシ ュミット法による再直交化を行えば、 DBDSQRよりも高精度での計算を実現し得る。 I SVDルーチンでは、速度に関しては、表 2から、 DBDSQRと比較して大幅に短縮 され得ることが理解される。また、表 1から理解されるように、 I— SVDルーチンは、 D STEGRによる極度の精度悪ィヒがみられる場合でも、高精度に特異値分解すること ができる。なお、表 1、 2の誤差および計算時間に関するデータは、逆反復法を用い ているが、グラムシュミット法は用いていない場合の結果である。また、ステップ 116お よび 120を実行する順序は逆であってもよいし、あるいは、両ステップは、省略しても よい。 [0036] このように、図 1に示される各ステップの機能は、ソフトウェア(例えば、プログラム)に よって実現される。しかし、本発明は、これに限定されない。図 1に示される各ステツ プの機能をノ、一ドウエア(例えば、回路、ボード、半導体チップ)によって実現してもよ V、し、ソフトウェアとハードウェアとの組み合わせによって実現してもよ 、。
[0037] 以上により、 I SVDルーチンを用いると、従来技術と比較して高速かつ高精度の 特異値分解が実行される。
[0038] 表 1は、本発明による行列 BTB対角ィ匕ルーチンを実行した後に、逆反復法を実行し たときの従来技術および本発明の誤差を比較した表である。
[0039] [表 1]
Figure imgf000016_0001
I -SVD DBDSQR DSTEGR
(dLVsを含む)
II B-U∑VT L 1.69E-13 1.31E-13 4.40E+04
ΙΙ υτυ-HL· 2.09E-13 1.26E-13 ―
Ιΐντν-HL· 4.16E-13 1.21E-13 2.04E+04
表 2は、本発明による行列 BTB対角ィ匕ルーチンを実行した後に、逆反復法を実行し たときの従来技術および本発明の計算時間を比較した表である。
[表 2]
表 2 :計算時間 (秒)
I -SVD
行列サイズ DBDSQR DSTEGR
(dLVsを含む)
1000 1.12 56.85 0.20
2000 4.88 1175.34 0.84
3000 11.84 4879.39 1.78
また、 1.3に、本発明の方法において、 DSTEGRルーチンと比較して、誤差が低減 される理由を説明する。
[0041] 1. 1.本発明による行列 B¾の対角化ルーチン
DBDSQRは BTBの固有値えとともに対応する固有ベクトル vを求めることができる ので、他のルーチンを併用しなくても BTBの対角化 (Bの特異値分解)が得られる。し 力しながら、 DLASQおよび dLVsは上述したように固有ベクトル Vを計算する機能は ない。よって、別の固有ベクトル計算ルーチンが必要となる。ただし、 BTBの固有値え (Bの特異値 σ )が求まっているものとする。
まず、 DSTEGRによる固有ベクトルの計算方法を示す。 Parlettらは以下の(1)、 ( 2)、 (3)の手順で固有ベクトル計算ができることを示して 、る。
(1) stationary qd with shift変換、 stqds変換)およひ reverse— time progre ssive qd with shift変換 (rpqds変換)を用いた(B(°)) TB(°)— λ Iの Cholesky (コ
j
レスキー)分解 (B(±1)) TB(±1) = (B(0)) TB(0)— λ Iを求める。ただし、 B(0) =Bであり、
j
B(+1)および B(_1)はそれぞれ上 2重対角および下 2重対角行列とする。すなわち
[0043] [数 9]
Figure imgf000017_0001
Γ
となる。すなわち、 {q (± 1), e (±1) } ¾
k k
(2)コレスキー分解より(B(°)) TB(0) - λ Iのッイスティッド分解
[0044] [数 10]
Figure imgf000017_0002
を形成する。ただし
[0045] [数 11]
Figure imgf000018_0001
Dfc 三 diag^1),..., ^ , l,g 1 ),·· 一1)),
¾ , ひ ί—
(e ( ) +q. {0)-λ )が最小になる kを kとする。
とし、 k-l "k
(3)簡約化された連立 1次方程式
[0046] [数 12]
vJ = e^' 三 ( ,^ 1,0,一,0)丁
(t„ 1)Θ
を解く。
[0047] 図 2は、 Parlettらの手法で最も核となる(1)の処理手順を示す。 (1)で求めたいの は、 {q (n), e (n)}, n=±lである力 そのための変換として stationary qd with s k k
hift(stqds)変換
(1) , (1) (o) (o) . Ί
q 十 e =q 十 e —λ, ¾:=1, 2, ···, πι,
k k-l k k-l i
(o) (o) .
q e :q e , k= -, 2, …, m- k k k k
(0)_ (1)
=0, e
および re verse— time progressive qd with shift (rpqds)変換
(—1)1 (- -1) (0)_
[ +e =q 十 e λ , k=l, 2, ··■
k k k k- - 1 j
(-D (- 1) (0) (0)
% [ e k=l; , 2, ···, m— 1,
k+l k =qk ek ,
(- e : =0, e "ョ 0
0 c n 1
が採用されている。
[0048] 固有値; lが既知ならば反復的な計算は不要なため計算量力 SQRアルゴリズムに比 ベて圧倒的に少なく抑えられる力 常に数値安定かつ精度のよい方法とはいえない 。 stqds変換と rpqds変換ともに減算による桁落ちが発生する可能性がある。例えば、 stqds変換において q (0) + e (0) - λ〜e ("ならば、 q (1) (=q (0) + e (0) - λ
k k-1 j k-1 k k k-1 j
-e を求める際、倍精度計算であっても q (1)の有効桁はわず力 1桁になること k-1 k
もある。そ IIIの場合、 q (0)e (0)/q (1)を計算すると誤差が生じる、つまり、 e (1)が精度よ k k k k
く計算できないことになる。また、 q (1)を求めるのに e (1)が必要、 e (1)を求めるのに
\ k+1 k k
q (1)が必要と逐次的な計算が要求されるので、 1個所で発生した桁落ちによる誤差 k
が波及し、さらなる誤差増大の可能性も秘めている。その結果、理論上は q (1)≠0で k あるが誤差蓄積により q (1)=0となり、 q (G)e (0)/q (1)の計算においてオーバーフロ k k k k
一が起こると ヽつた数値不安定な状況も想定される。
B(0) = Bの成分 {b (0), b (0)}が与えられる、すなわち {q (0), e (0)}が与えられると
2k- 1 2k k k
、 λおよび e (1)がー意的に決まるので、この状況は避けることはできない。 rpqds j k-1
変換も同様の性質を持っため、実用的なレベルにまで達したとはいいがたい。 LAP ACKにお!/、て FORTRANルーチン DSTEGRとして改良版が公開されて!、るもの の欠点は完全に解決されては 、な 、。
[0049] 次に、本発明による対角化のルーチンを説明する。本発明によるルーチンでは、 st qds変換および rpqds変換にかわる新たな変換を採用している。本発明では、行列 B TBを対角化するために、 sdLVvs変換および rdLVvs変換を用いた行列 ΒΤΒ— σ 2Ι に対するッイスティッド分解を行う。正確には、上記(1)を以下の(la)、 (lb), (lc) の 3つの工程にわけることで数値安定なコレスキー分解を実現している。
[0050] 図 3〜図 8は、本発明によるミウラ型逆変換、 sdLVvs変換、 rdLVvs変換およびミゥ ラ型変換を実行する処理手順を示す。
(la)ミウラ型逆変換
[0051] [数 13]
を行う。
(0) (0)
[0052] u (0)= 7? k=l ·, m,
2k- 1 k
(0) (0)
u =e /t (0), k=l, ·, m— 1,
2k k k
/ (0) (0)) _ -, (o) _ / s (0)
( +u 1, =1/ 0
2k- 2
ただし、 δ (C))は任意に選ぶことができる。 (lb) stationary不等間隔差分 Lotka— Volterra (sdLVvs)変換
u (1)=u (0)>f (l+ 6 (0)u (0))/(l+ 6(1)u
k k k-1 k一 1
k=l, 2, ···, 2m— 1,
によって
[0053] [数 14]
4。) - 41)
reverse— time不等間隔差分 Lotka— Volterra (rdLVvs)変換
(-1) (0) ,Λ (0) (0ヽ / (Λ j. (-1)
u =u * (1+ δ u )/ (1+ δ u
k k k-1
k+1 (
k=l, 2, ···, 2m— 1,
によって
[0054] [数 15] ) - 4 - を実行する。ただし、 u (n)≡0, u (0)≡0とし、 L = 1Z δ (0)— 1/ δ (η), η=士
k 2m j 1を 満たすように δ ω, η=±1を設定する。
(lc)ミウラ型変換
[0055] [数 16]
q ω = * + δ (n)u ) * + δ (n)u ω),
k 2k- 2 2k- 1
k=l, 2, ···, m,
(n) s (n) . (n) . (n)
e = o 水 u 水 u
k 2k- 1 2k
k=l, 2, ···, m-1,
を行う。
[0056] qd型変換では見られない離散 Lotka— Volterra型変換の大きな特徴は、任意パ ラメータを持つことである。すなわち、え =1/ δ ()— 1Z δ (±1)を満たす範囲で δ (η) の値を任意に設定できる。 δ (η)を変動させると補助変数 u (η)の値も変化するが、桁 k
落ちによる誤差や数値不安定が発生するかどうかは事前に判定できる。この判定は、 if文によって実装されてもよい。この場合は、 δ (η)を再設定後に再度計算すればよい 。また、 u (±1)が求まればミウラ変換によって q (±1)および e (±1)が独立に計算されるの
k k k
で、誤差が伝播しないという性質を持つ。なお、ミウラ型逆変換をミウラ変換、ミウラ型 変換を逆ミウラ変換、 sdLVvs変換を stLVv変換、 rdLVv変換を rLVv変換と呼び変 えても問題はない。
[0057] 入力および出力の変数の対応は、 Parlettの手法と同じである。メモリ消費を抑える ために、補助変数 u (n)のための配列は必ずしも用意する必要はない。一方、 1 + δ (
k
のためのメモリ領域を確保し、 (la)〜(lc)のステップにまたがつてこの値を利用 することで、メモリ消費を抑え、計算量を低減することができる。これにより、誤差も低 減される。このように、 1. 3で説明する方法を利用して誤差を低減すること等、さらな る工夫を行い得る。
[0058] 上記の方法で BTB— λ Iのコレスキー分解を求めた後は、 Parlettらと同じ方法を用 いて特異ベクトル Vを計算する。そうすると、 BTBの固有値分解 A =V TBTBVが得
j B B られる。ただし Vの列ベクトル力^である。 U =BV ∑_1より Uを求めると、 Bの特異
B
値分解 B = U ∑V 1も得られる。
[0059] 1· 2.高精度特虽値 dLVsルーチン
本発明による dLVsルーチンは、基本的な枠組みでは DLASQルーチンと同じであ り、 BTBの固有値(あるいは Bの特異値)のみが得られ BTBの固有ベクトル(あるいは B の特異ベクトル)は求まらない。ただ、ルーチンの核となる部分に使用される計算法は DLASQと異なる。
[0060] まず、 DLASQルーチンによる固有値の計算方法を説明する。 qd法は固有べタト ルが計算できな!/、が、 1ステップは上 2重対角行列の要素を更新するのみなので高 速に特異値を求めることができる。かつ、計算量が少ないため丸め誤差の蓄積が抑 えられ高精度計算が期待できる。ここで、 Y(n)を対称な 3重対角行列
[0061] [数 17]
Figure imgf000021_0001
とする。また、変換 Y(n)→Y(n+1)が qd法の漸化式
q =q 十 e — e , k= 1, 2, · · m,
e =e 氺 q / q , k= l, 2, · · m—
e =0, e =0, n— 0, 1,
によって実現されるとする。そのとき、適切な R(n)が存在して Y(n+1) =R(n)Y(n) (R(n)) _ 1となることを Rutishauserは発見している。これは、 Y(n+1)と Y(n)の固有値が同じであ ることを意味し、すなわち、上記の漸化式によって固有値保存変形がなされる。この 変形を繰り返せば非対角成分が 0に近づき、 Υωが対角化されることも証明されてい る。よって Υ(°) = ΒΤΒとすると lim
Y(n) =diag ( l , λ , · · · , λ )となる。ただし、 λ は ΒΤΒの固有値である。さら に、 λ の正の平方根をとると Βの特異値 σ が得られる。
[0062] LAPCAKの特異値計算ルーチン DLASQでは、 qd法の differential型が採用さ れている。これは dqd法と呼ばれる。 1ステップは
[0063] [数 18] d - for k:= l, m— 1 ei"+1):= ef * ( ")
= (Οί""))
end for で与えられ、変換 ^Y^"が実現される。 differential型は減算を含まないため 、 qd法では起こりうる桁落ち誤差の心配もない。さらに高速版として原点シフト付き dq d (dqds)法も組み込まれて!/、る。高速ィ匕に伴う計算量の減少で丸め誤差の発生も抑 えることができる。ただし、収束するかどうかの保証はない。原点シフト版の 1ステップ は
[0064] [数 19] j (n)
a := q\ 7― s
Figure imgf000023_0001
end for
+1) := d
で与えられる。 sは原点シフト量であり、 Gersgorin型境界条件により見積もられた Y(n )の最小固有値とする。よって、 DLASQルーチンのメインループの核となる部分では 最小固有値の見積もりを行い、 s > ε ( ε:非常に小さいとみなせる正の数)ならば dq ds法が、そうでなければ dqd法が用いられる。メインループの他の部分 (行列の分割. 減次)はほとんど DBDSQR/レーチンと変わらない。すなわち、 DBDSQR/レーチン に含まれる QR法を dqd法に、原点シフト QR法を dqds法に置き換えたものが DLAS Qルーチンとなる。(QR法と dqd法、原点シフト付き QR法と dqds法で扱う変数が異な るので少しだけ判定式が異なる部分もあるが本質的に同じである。 )
次に本発明による dLVsルーチンを説明する。 dLVsルーチンでは dqd法のかわり に dLV法を、 dqds法のかわりに dLVs法を採用する。ここで、 dLVsルーチンは DLA SQルーチンとは違って収束することが保証されている。その 1ステップは以下で与え られる。
[数 20]
Figure imgf000024_0001
for = 2, 2m— 1
u : = + δ{η)* η ); νΆ = * (i + <5 (n) * n));
end for
(n) 一 M
u2m-l '― u2m~l
(原点シフト sの決定)
if (s > e) w^( +1): = v[n)― s;
for — 2, m end for
end if
else
for k = 1, 2m— 1 end for
end else
DLASQルーチン同様、メインループの核の部分では最小特異値の見積もりによつ て原点シフト量 sを決定し、 dLV法を使うか dLVs法を使うかを決定する。ただし、補助 変数 V ωを求めたあとで sを決定する点は DLASQルーチンと異なる。
k
[0066] 1. 3.本 明の方法による 差の低減
人間が理想的な状況、すなわち、無限桁の計算をいくらでもできるとすると、 Parlet tらの手法、本発明による特異ベクトル計算ルーチン(1. 1参照)のどちらを使っても 問題ない。しかしながら、コンピュータで計算を行う場合は注意が必要である。有限 桁の計算し力、行えな 、コンピュータ上では、数学的に正 、計算法を使ったとしても 必ずしも正 、結果が得られる訳ではな 、。そればかりか!、つまでたっても計算が終 了しないといった思わぬ数値的な問題が発生する場合もある。
[0067] コンピュータ計算による誤差には、丸め誤差および桁落ちによる誤差などが知られ ている。丸め誤差単独では、高々有効桁の最後の桁が真値と比べて異なる程度で大 きな誤差にはならない。また、指数部が異なる 2つの実数の加算、乗算、除算の少な くとも 1つの演算を行えばやはり丸め誤差が生じるが、それ以上の誤差は発生しない 。さらに、このような丸め誤差を発生するような操作が繰り返されても、丸めモードが n ear (四捨五入)ならば、一方的に切り上げられたりあるいは切り捨てられたりして誤差 が極端に蓄積することは少ない。よって、多くの数値計算法は加算、乗算、除算の少 なくとも 1つの演算によって発生する丸め誤差を特別注意することは少なぐ dLVsル 一チンによる特異値計算でも結果的に丸め誤差は一様に増大しない。
[0068] 問題となるのは、同符号の実数の減算および異符号の実数の加算により生じる、桁 落ちである。桁落ちによる誤差で値が 0となった後、その値による除算を行うと、 0が分 母にくるような不定形となり計算不可能となる。こうなるといつまでたつても計算が終了 しない。減算→除算と計算する部分が Parlettの手法、本発明による方法ともに存在 するので、桁落ち誤差には十分に注意する必要がある。
[0069] 本発明による計算方法では、上述の桁落ちによる誤差を含んで 、るかどうかは減算 によって得られた値が小さいかどうかで判断できる。 Parlettの手法の場合、図 2の D O文中の ql [k]、 q2 [k]をチェックすればよい。ところが、 Parlettの手法は桁落ち誤 差を含むことが分力 たとしても、それを回避することはできない。なぜならば、初期 値として {qO[k], eO[k]}が与えられると、 λは一意的に決定され、 {ql[k], el[k] }お よび {q2[k], e2[k]}も一意的に導出されるためである。すなわち、任意パラメータを 持たない自由度のない計算法であるためである。
[0070] それに対して本発明による方法は自由に設定できるパラメータ 7? 1 ( = ΐΖ δ ( ))を もっため、補助変数 u (η)の値を様々に変化させることができる(図 9参照)。すなわち
k
、様々な経路で {ql[k], el[k]}および {q2[k], e2[k]}を計算することができる。よつ て、桁落ちが発生する場合も回避できる。図 6〜図 8の条件判定によって桁落ちの影 響をチェックし、減算によって得られた値の絶対値力 、さな数 εより大きいという条件 が満たされなければ、パラメータ r? 1の設定に戻るというものである。この処理は、条 件が満たされるまで繰り返される。なお、精度よりも高速性を重視する場合は、数回 条件が満たさなければ (ql[k] = 0あるいは q2[k] = 0ならば)、例外処理 (文献 PDF 参照)を行ってもよい。
[0071] 2.本発明による特異値分解装置
特異値分解を実行する装置を説明する。特異値分解を実行する装置は、例えば、 図 1に示される各ステップの機能を有する装置である。特異値分解を実行する装置 の 1つの実施形態は、特異値分解プログラムを実行するコンピュータである。そのプ ログラムは、例えば、図 1に示される各ステップを CPUに実行させるプログラムである
[0072] 図 10は、図 1の処理をコンピュータプログラムとして実行するコンピュータ 10を示す 。コンピュータ 10は、 CPU1001と、メモリ 1002と、入力インターフェース部 1003と、 出力インターフェース部 1004と、バス 1005とを含む。
[0073] CPU1001は、プログラムを実行する。例えば、そのプログラムは、図 1の処理を実 行するプログラムである。そのプログラムおよびそのプログラムの実行に必要なデータ は、例えば、メモリ 1002に格納される。そのプログラムは、任意の様態でメモリ 1002 に含まれ得る。例えば、メモリ 1002が書き換え可能なメモリである場合には、コンビュ ータ 1002の外部からプログラムをローデイングすることにより、そのプログラムをメモリ 1002に格納してもよい。あるいは、メモリ 1002が読み出し専用メモリである場合には 、メモリ 1002に焼き付ける形式でそのプログラムをメモリ 1002に格納してもよい。
[0074] さらに、入力インターフェース部 1003は、特異値分解を実行する対象である行列 A を外部力も受け取るためのインターフェースとして機能する。出力インターフェース部 1004は、計算結果を出力するためのインターフェースとして機能する。バス 1005は 、コンピュータ 10内の構成要素 1001〜1004を相互に接続するために使用される。
[0075] 3.本発明による特虽値分解方法の 用
本発明による特異値分解方法は、様々な分野に応用可能である。以下に、 2次元 画像から 3次元画像へ復元する画像処理への応用例、ならびに、文書検索への応 用例を示す。しかし、これら 2つの応用例は例示に過ぎず、本発明による特異値分解 方法の応用は、これら 2つの応用例に限定されない。本発明による特異値分解方法 の応用は、特異値分解を利用するあらゆる分野に適用可能である。
[0076] 3. 1. 2次元から 3次元へ復元する画像処理への応用
図 11を参照する。図 11は、本発明による特異値分解方法を利用した物体の複数 の 2次元画像を 3次元画像へ復元する画像処理の 1つの実施形態を説明する。
[0077] 複数の 2次元画像から 3次元復元を行うために必要となるステップは、 2次元画像か ら特徴点を抽出するステップと、特徴点データより形状 (元の物体の特徴点の 3次元 座標データ)および回転(3次元データ力 特徴点データへの変換)に関するデータ を計算するステップと、形状および回転のデータより可視化を行うステップとを包含す る。
[0078] ステップ 1102において、 2次元画像 j (j = l, · · ·, m、 mは 3以上の整数)から特徴 点 i(i=l, ···, n、nは 2以上の整数)の座標 (xj, yj)を抽出する。取り扱う 2次元画 像は、弱中心射影画像であることが好ましい。このとき
[0079] [数 21]
Figure imgf000027_0001
が成り立つ。ここで、 sは物体のスケールに相対する j番目の画像のスケール、 r , r
j 1, j 2 はそれぞれ物体座標系に相対する j番目のカメラ座標系の回転行列の 1番目と 2番
, j
目の行ベクトル、 [X, Y, Z.]T«i番目の点の 3次元座標である。物体のスケールは 1 番目の画像のスケールと同じにし(s =1)、物体の座標系の姿勢は 1番目の画像の カメラ座標系と同じにする (r =[1, 0, 0]T, r =[0, 1, 0]T)。 m枚全ての画像に おける n個全ての点の座標を行列 Dの要素として並べると、
D = MS
が得られる。
ただし、
[0080] [数 22]
Figure imgf000028_0001
である。 Mと Sの形から分かるように、 Dのランクは 3である。いま、ステップ 1102より D が与えられている。以下、回転に関するデータ Mおよび形状 Sを求める。
そこで、行列 Dの特異値分解
D = U∑VT
を考える。ここで、∑は特異値を大小順に対角線上に並べたもので、 Uおよび Vはそ れぞれ左および右直交行列である。ステップ 1104では、行列 Dの特異値分解を計 算するために、行列 Dを上 2重対角化して上 2重対角化行列 Bを得る。ステップ 1106 において、行列 B、すなわち Dの特異値を計算する。ステップ 1106では、本発明によ る dLVsルーチン、 DLASQルーチン、その他の特異値計算ルーチン、あるいはその 組み合わせを利用し得る。このとき、画像のデジタル誤差のため、ゼロでない特異値 は 3つ以上出てくる。しかし、 4番目以降の特異値はノイズによるもので、最初の 3つ の特異値と比べて格段に小さい。 [0082] そこで、ステップ 1108において、最初の 3つの特異値に対して特異ベクトルを計算 する。ステップ 1108は、図 1のステップ 110〜120を利用し得る。採用する 3個のベタ トルをまとめると、次式となる。
[0083] D' =L'∑'R'T=M' S '
ただし、 M, =L,(∑,)1/2、 S, = (∑,)1/2R,T、 D,は II D-D' IIを最小にするラン ク 3の行列である。
[0084] 次に、 D'から Mおよび Sを求めたいが、その組合せは唯一ではない。なぜなら、任 意の正則行列じが
D, = (M,C) (C_ 1S,)
を満たす力もである。そこで、上式における Cを M = M' Cを満たすように決める。 ま 下記の式を満たす。
[0085] [数 23]
Figure imgf000029_0001
E = CCTとすると、上式力 Eの 6つの要素に関する 2m+ 1個の線形方程式が得ら れる。 m≥ 3であるので、 Eの要素を一意に決めることができる。ステップ 1110におい て、行列 Eを求める。
[0086] 次に、ステップ 1112において、 Eから Cを求める。 Cの自由度(9)は Eの自由度(6) より多い。そこで、条件 = [1, 0, 0]T, r = [0, 1, 0 を加えれば、 Cを決めること lj ¾
ができる。このとき 2つの解(Necker Reversal)が出る。
[0087] 次に、ステップ 1114において、 M = M' Cおよび S = C_1S'より、回転に関するデ ータ Mおよび形状 Sが決まる。
[0088] DBDSQR/レーチンでは上記のように U、 V(n個のベクトノレ)を求めた後、 3個のベ タトル (n— 3個は不要)を採用する。ここでは、原則的には n個のベクトルを求める力 例外的に n個より少ない数のベクトルを求めてもよい。この実施形態では 3個のベタト ルだけ求めればよい。すなわち、計算コストを削減することができる。
[0089] 3. 2.本発明による特異値分解方法を刺用した文書枪索方法
文書中からその文書の内容に関連する索引語を抽出し、索引語の重みを計算する 処理の後、ベクトル空間モデルでは、この索引語の重みを要素とするベクトルで文書 を表現する。いま、検索対象となる文書を D , D , · · · , Dとし、これら文書集合全体
1 2 n
を通して全部で m個の索引語 w , w , · · · , w があるとする。このとき、文書 Dは、次
1 2 m j のようなベクトルで表現されることになる。これを文書ベクトルと呼ぶ。
[0090] [数 24]
Figure imgf000030_0001
ここで、 dは索引語 wの文書 Dにおける重みである。また、文書集合全体は、次のよ うな m X n行列 Dによって表現することができる。
[数 25]
Figure imgf000030_0002
行列 Dを索引語文書行列と呼ぶ。索引語文書行列の各列は文書に関する情報を表 している文書ベクトルである力 同様に、索引語文書行列の各行は索引語に関する 情報を表しているベクトルであり、これを索引語ベクトルと呼ぶ。検索質問も、文書と 同様に、索引語の重みを要素とするベ外ルで表現することができる。検索質問文に 含まれる索引語 wの重みを qとすると、検索質問ベクトル qは次のように表されること になる。 [0092] [数 26]
Figure imgf000031_0001
実際の文書検索においては、与えられた検索質問文と類似した文書を見つけ出す 必要があるが、検索質問ベクトル qと各文書べ外ル dの間の類似度を計算すること より行う。ベクトル間の類似度の定義としてはさまざまなものが考えられるが、文書検 索にお!、てよく用いられて 、るものはコサイン尺度(2つのベクトルのなす角度)また は内積である。
[0093] [数 27] 尺度
Figure imgf000031_0002
内積
dJ 9 = > , difli なお、ベクトルの長さが 1に正規ィ匕 (コサイン正規化)されている場合には、コサイン尺 度と内積とは一致する。
[0094] 図 12を参照する。図 12は、本発明による特異値分解装置を利用した、文書検索方 法の 1つの実施形態を説明する。
[0095] ステップ 1202において、質問ベクトル qを受け取る。次に、ステップ 1204では、行 列 Dの特異値分解を計算するために、行列 Dを上 2重対角化して上 2重対角化行列 Bを得る。ステップ 1206では、行列 B、すなわち行列 Dの特異値を求める。ステップ 1 206では、本発明による dLVsルーチン、 DLASQルーチン、その他の特異値計算 ルーチン、あるいはその組み合わせを利用し得る。
[0096] 次に、 Dの近似行列 Dを使った検索を考える。ベクトル空間モデルでは、検索質問
k
ベクトル qと索引語文書行列 D中の各文書ベクトル dの間の類似度を計算することに より検索を行うが、ここでは Dの代わりに Dを使う。ベクトル空間モデルでは、文書べ
k タトルの次元数は索引語の総数と等しい。したがって、検索対象となる文書の数が増 えるに従い、文書ベクトルの次元数も増加する傾向にある。しかし、次元数が増加し てくると、コンピュータのメモリによる制限や検索時間の増大などの問題が生じてくる ばかりでなぐ文書中に含まれる不必要な索引語がノイズ的な影響を及ぼし、検索精 度を低下させてしまうという現象も起こってくる。潜在的意味インデキシング (latent semantic indexing ; LSI)は、高次元の空間にある文書ベクトルを低次元の空間 へと射影することにより、検索精度の改善を図る技術である。高次元の空間では別々 に扱われていた索引語力 低次元の空間では相互に関連を持ったものとして扱われ る可能性もあるため、索引語の持つ意味や概念に基づく検索を行うことができる。た とえば、通常のベクトル空間モデルでは" car"という索引語と" automobile"という索 引語はまったく別物であり、一方の索引語による質問ではもう片方の索引語を含んだ 文書を検索することができない。しかし、低次元の空間ではこれらの意味的に関連し た索引語は 1つの次元に縮退することが期待できるため、 "car"という検索質問によ つて" car"を含む文書ば力りでなぐ' automobile"を含む文書をも検索することが可 能となる。潜在的意味インデキシングでは、特異債分解により高次元ベクトルの次元 削減を行うが、これは基本的に多変量解析における主成分分析と等価である。
[0097] 行列ステップ 1208では、 kく rなる kの値を選択する。 kの値は、予め与えられて!/ヽ てもよいし、計算ごとに選択可能であってもよい。
[0098] ステップ 1210において、ステップ 1206で計算した特異値のうち、大きい順に 1番 目力も k番目の k個の特異値に対して、 Dの特異ベクトルを計算する。すなわち、 D =U∑V T
k k k
なる Uおよび Vを計算する。ここで、 Uは、最初の k個の左特異ベクトルのみから構 k k k
成される m X k行列であり、 Vは、最初の k個の右特異ベクトルのみカゝら構成される n k
X k行列であり、∑は、最初の k個の特異値のみ力 構成される k X k対角行列である 。ステップ 1210は、図 1のステップ 110〜120を利用し得る。
[0099] 次に、ステップ 1212において、行列 Dと質問ベクトル qとの類似度を計算する。い
k
ま、ベクトル eを n次元の単位ベクトルとすると、 Dの j番目の文書ベクトルは D eで表
i k k j すことができる。文書ベクトル D eと検索質問べ外ル qとの間の類似度計算は、
k j [0100] [数 28]
(Dkef) - q (Dkef)Tq
cos(Dke q) =
11 ll< ll ΙΙ^Α^/Ι
(UkkVk Tej)Tq e]Vkk
IIひ ^ II l \\∑kV e;\
(∑kV ejy(U q) k ii ιι ιι
としてもよいが、別の定義を用いてもよい。上式では、 Dを U , ∑ , Vから再構成す k k k k
る必要はなく特異値分解の結果から、直接、類似度を計算できることを示している。 数 29の中に現われる∑ VTeは、
k k j
∑ V Te =U TD e
k k j k k j
と書き直すことができる。この式の右辺は、近似行列 D
kにおける j番目の文書ベクトル の基底 Uのもとでの座標(文書の k次元表現)を表している。同様に、数 29中の U Tq k k は、検索質問ベクトル qの基底 Uのもとでの座標 (検索質問の k次元表現)である。
k
[0101] ステップ 1214において、ステップ 1212において計算された類似度を基準に、検索 結果を出力する。
[0102] DBDSQR/レーチンでは r個のベクトルを求めた後、 k個のベクトル(r—k個は不要) を採用するのに対して、この実施形態では、 k個のベクトルだけ求めればよい。すな わち、計算コストを削減することができる。
[0103] 以上のように、本発明の好ましい実施形態を用いて本発明を例示してきた力 本発 明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求 の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、 本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に 基づいて等価な範囲を実施することができることが理解される。本明細書において引 用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載さ れているのと同様にその内容が本明細書に対する参考として援用されるべきであるこ とが理解される。 産業上の利用可能性
本発明は、任意の行列 Aの特異値分解を高速かつ高精度に実行することを可能に する方法、プログラム、および装置等として有用である。

Claims

請求の範囲
[1] コンピュータを用いて任意の行列 Aに対して特異値分解を実行する方法であって、 行列 Aに対して上 2重対角化を行 、、行列 Aの上 2重対角行列 Bを求めるステップ と、
行列 Aの特異値として行列 Bの少なくとも 1つの特異値 σを求めるステップと、 σに対する行列 Αの特異ベクトルを求めるステップと
を包含し、
該行列 Aの特異ベクトルを求めるステップは、ミウラ型逆変換と、 sdLVvs変換と、 rd LVvs変換と、ミウラ型変換とを用いて行列 ΒΤΒ— σ 2Ιに対してッイスティッド分解を実 行することにより、行列 ΒΤΒを対角化するステップを含み、 Iは単位行列である、方法
[2] 前記行列 Αの特異ベクトルを求めるステップは、前記行列 BTBを対角化するステツ プの後に、逆反復法を実行するステップを含む、請求項 1に記載の方法。
[3] 前記行列 Aの特異ベクトルを求めるステップは、前記逆反復法を実行するステップ の後に、グラムシュミット法を実行するステップを含む、請求項 2に記載の方法。
[4] 前記行列 Bの特異値 σを求めるステップは、 dLVsルーチンを実行するステップを 含む、請求項 1に記載の方法。
[5] 前記行列 Bの特異値 σを求めるステップは、要求される計算時間および精度に応 じて、 dLVsルーチンもしくは DLASQルーチンのどちらを実行するのかを判定するス テツプを含む、請求項 1に記載の方法。
[6] 前記行列 Aに対して上 2重対角化を行い、上 2重対角行列 Bを求めるステップは、 ノ、ウスホルダー法を実行するステップを含む、請求項 1に記載の方法。
[7] 物体の複数の 2次元画像から 3次元画像を復元する方法であって、
2次元画像; j (j = l, · · · , m、mは 3以上の整数)における特徴点 i (i= l, · ' · , η、η は 2以上の整数)の座標 d (X , y )を抽出するステップと、
該特徴点の 2次元座標 d (X , y )より、該特徴点の 3次元座標 s (X , Υ , Z )および
2次元座標から 3次元座標への変換を表す行列 Mを計算するステップと
を包含し、 該特徴点の 3次元座標 Si ( , Y, および 2次元座標から 3次元座標への変換を 表す行列 Mを計算するステップは、
行列 Dに対して上 2重対角化を行 、、行列 Dの上 2重対角行列 Bを求めるステップ であって、行列 Dは、
[数 1]
Figure imgf000036_0001
と定義される、ステップと、
行列 Dの特異値として行列 Bの特異値 σ (σ ≥ σ ≥···≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等しい)を求めるステップと、
σ 、 σ および σ に対する行列 Dの特異ベクトルを求めるステップと、
1 2 3
M = M, Cなる行列 Cに対して、 E = CCTを満たす行列 Eを計算するステップであつ て、 M'=L'(∑')1/2、∑'は σ 、 σ および σ を対角要素に持ちそれ以外の要素
1 2 3
が 0である 3X3行列、 L,は σ 、 σ および σ に対応する Dの特異ベクトルを左から
1 2 3
順に並べた行列である、ステップと、
行列 Eから、行列 Cを計算するステップと、
行列じから、該 3次元座標 s (X, Υ, Z)および該変換を表す行列 Mを計算するス テツプと
を含み、
該 σ 、 σ および σ に対する行列 Dの特異ベクトルを求めるステップは、ミウラ型逆
1 2 3
変換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 B¾— σ 21に 対してッイスティッド分解を実行することにより、行列 ΒΤΒを対角化するステップを含 み、 Iは単位行列である、方法。
[8] 与えられた文書に含まれる情報であって、与えられたキーワードに関連する情報を 検索する方法であって、
該キーワードに対応する質問ベクトル qを受け取るステップと、
該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、行列 Dの上 2 重対角行列 Bを求めるステップと、
行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · ·≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等しい)を求めるステップと、
k< rなる kを選択するステップと、
行列 Dの擬似行列 Dを計算するステップであって、行列 Dは、 σ , σ , · · · , σ k k 1 2 k を対角要素としそれ以外の要素が 0である行列∑ 、 σ , σ , · · · , σ に対応する特 k 1 2 k
異ベクトルのみを左から順に並べた左右直交行列 U , Vを用いて、 D 二 U ∑ V τと k k k k k k 定義される、ステップと、
行列 Dと質問べ外ル qとの類似度を計算するステップと、
k
該計算された類似度を基準に、検索結果を出力するステップと
を包含し、
該行列 Dの左右直交行列 U , Vを求めるステップは、ミウラ型逆変換と、 sdLVvs k k k
変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 BTB— σ 2l (j = l, 2, · · · , k) に対してッイスティッド分解を実行することにより、行列 BTBを対角化するステップを 含み、 Iは単位行列である、方法。
[9] 任意の行列 Aに対して特異値分解を実行する特異値分解処理をコンピュータに実 行させるプログラムであって、
該特異値分解処理は、 行列 Aに対して上 2重対角化を行 、、行列 Aの上 2重対角行列 Bを求めるステップ と、
行列 Aの特異値として行列 Bの少なくとも 1つの特異値 σを求めるステップと、 σに対する行列 Αの特異ベクトルを求めるステップと
を包含し、
該行列 Aの特異ベクトルを求めるステップは、ミウラ型逆変換と、 sdLVvs変換と、 rd LVvs変換と、ミウラ型変換とを用いて行列 ΒΤΒ— σ2Ιに対してッイスティッド分解を実 行することにより、行列 ΒΤΒを対角化するステップを含み、 Iは単位行列である、プログ ラム。
物体の複数の 2次元画像から 3次元画像を復元する画像復元処理をコンピュータ に実行させるプログラムであって、
該画像復元処理は、
2次元画像; j(j = l, ···, m、mは 3以上の整数)における特徴点 i(i=l, ·'·, η、η は 2以上の整数)の座標 d (X , y )を抽出するステップと、
該特徴点の 2次元座標 d (X , y )より、該特徴点の 3次元座標 s (X, Υ, Z)および
2次元座標から 3次元座標への変換を表す行列 Mを計算するステップと
を包含し、
該特徴点の 3次元座標 Si (X, Υ, Z)および 2次元座標から 3次元座標への変換を 表す行列 Mを計算するステップは、
行列 Dに対して上 2重対角化を行 、、行列 Dの上 2重対角行列 Bを求めるステップ であって、行列 Dは、
[数 2]
Figure imgf000039_0001
と定義される、ステップと、
行列 Dの特異値として行列 Bの特異値 σ (σ ≥ σ ≥···≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等しい)を求めるステップと、
σ 、 σ および σ に対する行列 Dの特異ベクトルを求めるステップと、
1 2 3
M = M, Cなる行列 Cに対して、 E = CCTを満たす行列 Eを計算するステップであつ て、 M'=L'(∑')1/2、∑'は σ 、 σ および σ を対角要素に持ちそれ以外の要素
1 2 3
が 0である 3X3行列、 L,は σ 、 σ および σ に対応する Dの特異ベクトルを左から
1 2 3
順に並べた行列である、ステップと、
行列 Eから、行列 Cを計算するステップと、
行列じから、該 3次元座標 s (X, Υ, Z)および該変換を表す行列 Mを計算するス テツプと
を含み、
該 σ 、 σ および σ に対する行列 Dの特異ベクトルを求めるステップは、ミウラ型逆
1 2 3
変換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 B¾— σ 21に 対してッイスティッド分解を実行することにより、行列 ΒΤΒを対角化するステップを含 み、 Iは単位行列である、プログラム。
[11] 与えられた文書に含まれる情報であって、与えられたキーワードに関連する情報を 検索する文書検索処理をコンピュータに実行させるプログラムであって、
該文書検索処理は、
該キーワードに対応する質問ベクトル qを受け取るステップと、
該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、行列 Dの上 2 重対角行列 Bを求めるステップと、
行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · ·≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等しい)を求めるステップと、
k< rなる kを選択するステップと、
行列 Dの擬似行列 Dを計算するステップであって、行列 Dは、 σ , σ , · · · , σ k k 1 2 k を対角要素としそれ以外の要素が 0である行列∑ 、 σ , σ , · · · , σ に対応する特 k 1 2 k
異ベクトルのみを左から順に並べた左右直交行列 U , Vを用いて、 D 二 U ∑ V τと k k k k k k 定義される、ステップと、
行列 Dと質問べ外ル qとの類似度を計算するステップと、
k
該計算された類似度を基準に、検索結果を出力するステップと
を包含し、
該行列 Dの左右直交行列 U , Vを求めるステップは、ミウラ型逆変換と、 sdLVvs k k k
変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 BTB— σ 2l (j = l, 2, · · · , k) に対してッイスティッド分解を実行することにより、行列 BTBを対角化するステップを 含み、 Iは単位行列である、プログラム。
[12] 任意の行列 Aに対して特異値分解を実行する装置であって、
行列 Aを入力として受け取る手段と、
行列 Aに対して上 2重対角化を行 、、行列 Aの上 2重対角行列 Bを計算する手段と 行列 Aの特異値として行列 Bの少なくとも 1つの特異値 σを計算する手段と、 σに対する行列 Αの特異ベクトルを求める手段と
を備え、 該行列 Aの特異ベクトルを求める手段は、ミウラ型逆変換、 sdLVvs変換および rdL Vvs変換、ならびにミウラ型変換を用いて行列 BTB— σ 21に対してッイスティッド分解 を実行することにより、行列 ΒΤΒを対角化する手段を含み、 Iは単位行列である、装置 物体の複数の 2次元画像を 3次元画像に復元する装置であって、
m枚 (mは 3以上の整数)の 2次元画像を受け取る手段と、
2次元画像; j(j = l, ···, m)における特徴点 i(i=l, ···, n、nは 2以上の整数)の 座標 d (X , y )を抽出する手段と、
該特徴点の 2次元座標 d (X , y )より、該特徴点の 3次元座標 s (X, Υ, Z)および
2次元座標から 3次元座標への変換を表す行列 Mを計算する手段と
を備え、
該特徴点の 3次元座標 Si (X, Υ, Z)および 2次元座標から 3次元座標への変換を 表す行列 Mを計算する手段は、
行列 Dに対して上 2重対角化を行 、、行列 Dの上 2重対角行列 Bを求める手段であ つて、行列 Dは、
[数 3]
Figure imgf000042_0001
と定義される、手段と、
行列 Dの特異値として行列 Bの特異値 σ (σ ≥ σ ≥···≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等し 、)を求める手段と、
σ 、 σ および σ に対する行列 Dの特異ベクトルを求める手段と、
1 2 3
M = M, Cなる行列 Cに対して、 E = CCTを満たす行列 Eを計算する手段であって、 M'=L' (∑')1/2、∑'は σ 、 σ および σ を対角要素に持ちそれ以外の要素が 0
1 2 3
である 3X3行列、 L,は σ 、 σ および σ に対応する Dの特異ベクトルを左から順に
1 2 3
並べた行列である、手段と、
行列 Eから、行列 Cを計算する手段と、
行列じから、該 3次元座標 s (X, Υ, Z)および該変換を表す行列 Mを計算する手 段と
を含み、
該 σ 、 σ および σ に対する行列 Dの特異ベクトルを求める手段は、ミウラ型逆変
1 2 3
換と、 sdLVvs変換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 B¾— σ に対 j してツイスティッド分解を実行することにより、行列 BTBを対角化する手段を含み、 Iは 単位行列である、装置。
与えられた文書に含まれる情報であって、与えられたキーワードに関連する情報を 検索する装置であって、
該キーワードに対応する質問ベクトル qを受け取る手段と、
該文書に対応する索引語文書行列 Dに対して上 2重対角化を行い、行列 Dの上 2 重対角行列 Bを求める手段と、
行列 Dの特異値として行列 Bの特異値 σ ( σ ≥ σ ≥· · ·≥ σ >0、 rは、行列 Dの j 1 2 r
ランクに等し 、)を求める手段と、
k<rなる kを選択する手段と、
行列 Dの擬似行列 Dを計算する手段であって、行列 Dは、 σ , σ , · · · , σ を対 k k 1 2 k 角要素としそれ以外の要素が 0である行列∑、 σ , σ , · · · , σ に対応する特異べ k 1 2 k
タトルのみを左から順に並べた左右直交行列 U , Vを用いて、 D =U ∑ V Tと定義 k k k k k k される、手段と、
行列 Dと質問べ外ル qとの類似度を計算する手段と、
該計算された類似度を基準に、検索結果を出力する手段と
を包含し、
該行列 Dの左右直交行列 U , Vを求める手段は、ミウラ型逆変換と、 sdLVvs変 k k k
換と、 rdLVvs変換と、ミウラ型変換とを用いて行列 BTB— σ 2I (j = l, 2, · · · , k)に 対してッイスティッド分解を実行することにより、行列 BTBを対角化する手段を含み、 I は単位行列である、装置。
PCT/JP2005/010084 2004-06-03 2005-06-01 行列の高速高精度特異値分解方法、プログラムおよび装置 Ceased WO2005119507A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA2568852A CA2568852C (en) 2004-06-03 2005-06-01 High-speed high-accuracy matrix singular value decomposition method, program, and device
JP2006514122A JP4325877B2 (ja) 2004-06-03 2005-06-01 行列の高速高精度特異値分解方法、プログラムおよび装置
EP05746027A EP1752884B1 (en) 2004-06-03 2005-06-01 High-speed high-accuracy matrix singular value decomposition method, program, and device.
US11/569,898 US8306361B2 (en) 2004-06-03 2005-06-01 High-speed high-accuracy matrix singular value decomposition method, program, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004166437 2004-06-03
JP2004-166437 2004-06-03

Publications (1)

Publication Number Publication Date
WO2005119507A1 true WO2005119507A1 (ja) 2005-12-15

Family

ID=35463067

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/010084 Ceased WO2005119507A1 (ja) 2004-06-03 2005-06-01 行列の高速高精度特異値分解方法、プログラムおよび装置

Country Status (5)

Country Link
US (1) US8306361B2 (ja)
EP (1) EP1752884B1 (ja)
JP (1) JP4325877B2 (ja)
CA (1) CA2568852C (ja)
WO (1) WO2005119507A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007066445A1 (ja) * 2005-12-05 2007-06-14 Kyoto University 特異値分解装置、及び特異値分解方法
JP2007304801A (ja) * 2006-05-10 2007-11-22 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム
JP2012069133A (ja) * 2011-10-24 2012-04-05 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム
JP5017666B2 (ja) * 2006-08-08 2012-09-05 国立大学法人京都大学 固有値分解装置、及び固有値分解方法
CN115018721A (zh) * 2022-05-19 2022-09-06 西安中科立德红外科技有限公司 一种基于多尺度分析与奇异值分解的非均匀性校正方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840060B2 (en) * 2006-06-12 2010-11-23 D&S Consultants, Inc. System and method for machine learning using a similarity inverse matrix
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8396914B1 (en) * 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8539014B2 (en) * 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
JP2012234258A (ja) * 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
CN104156906B (zh) * 2013-05-13 2017-10-27 国家电网公司 数字图像处理方法及装置
KR20160021872A (ko) * 2013-06-29 2016-02-26 생-고뱅 세라믹스 앤드 플라스틱스, 인코포레이티드 조밀한 장벽층을 가지는 고체 산화물 연료전지
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
CN103473769B (zh) * 2013-09-05 2016-01-06 东华大学 一种基于奇异值分解的织物瑕疵检测方法
US9697177B1 (en) 2016-10-13 2017-07-04 Sas Institute Inc. Analytic system for selecting a decomposition description of sensor data
CN109241231A (zh) * 2018-09-07 2019-01-18 武汉中海庭数据技术有限公司 高精度地图数据的预处理装置及方法
WO2020213757A1 (ko) * 2019-04-17 2020-10-22 엘지전자 주식회사 단어 유사도 판단 방법
US11393127B2 (en) 2019-09-13 2022-07-19 Toyota Research Institute, Inc. 2D to 3D line-based registration with unknown associations
CN111046299B (zh) * 2019-12-11 2023-07-18 支付宝(杭州)信息技术有限公司 针对关系网络的特征信息提取方法及装置
CN114088401A (zh) * 2021-11-03 2022-02-25 宁波坤博测控科技有限公司 一种用于风力发电机的滚动轴承的故障分析方法及装置
CN114756812B (zh) * 2022-03-02 2024-11-19 哈尔滨工程大学 一种基于奇异值分解与信息熵的证据修正方法
CN115484354B (zh) * 2022-09-14 2024-02-23 姜川 一种基于四元数矩阵奇异值分解的彩色图像压缩方法
CN115712911A (zh) * 2022-11-17 2023-02-24 江苏大道云隐科技有限公司 战略性数据数据阴影提取及重建方法
CN116680770A (zh) * 2023-03-07 2023-09-01 中国电建集团华东勘测设计研究院有限公司 一种保证索网结构水平面投影形状的找形方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031747A (ja) * 1996-07-15 1998-02-03 Mitsubishi Electric Corp 三次元情報抽出装置および三次元情報抽出方法
JP2002202983A (ja) * 2000-12-28 2002-07-19 Matsushita Electric Ind Co Ltd 分類への帰属度計算基準作成方法及び装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6134541A (en) * 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US6314419B1 (en) * 1999-06-04 2001-11-06 Oracle Corporation Methods and apparatus for generating query feedback based on co-occurrence patterns
US6993179B1 (en) * 2000-08-07 2006-01-31 Koninklijke Philips Electronics N.V. Strapdown system for three-dimensional reconstruction
US7194112B2 (en) * 2001-03-12 2007-03-20 Eastman Kodak Company Three dimensional spatial panorama formation with a range imaging system
JP5011545B2 (ja) * 2005-12-05 2012-08-29 国立大学法人京都大学 特異値分解装置、及び特異値分解方法
JP4649635B2 (ja) * 2006-08-02 2011-03-16 独立行政法人科学技術振興機構 画像特徴抽出方法および画像圧縮方法
WO2008018188A1 (fr) * 2006-08-08 2008-02-14 Kyoto University dispositif de décomposition de valeur propre et procédé de décomposition de valeur propre
US8107735B2 (en) * 2007-04-10 2012-01-31 Denso Corporation Three dimensional shape reconstitution device and estimation device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031747A (ja) * 1996-07-15 1998-02-03 Mitsubishi Electric Corp 三次元情報抽出装置および三次元情報抽出方法
JP2002202983A (ja) * 2000-12-28 2002-07-19 Matsushita Electric Ind Co Ltd 分類への帰属度計算基準作成方法及び装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
GAPS'' SIAM J. MATRIX ANAL. APPL., vol. 25, no. 3, 30 March 2004 (2004-03-30), pages 858 - 899
IWASAKI M, NAKAMURA Y.: "An application of the arbitrary step-size Lotka-Volferra system to singular value computation.", 21 May 2003 (2003-05-21), pages 1 - 2, XP002994447, Retrieved from the Internet <URL:http://nile.ulis.ac.jp/nas2002/Proceedings03/IWASAKI.pdf> [retrieved on 20050719] *
IWASAKI M. ET AL: "A application of the discrete Lotka-Volterra system with variable step-size to singular value computation.", INVERSE PROBLEMS., vol. 20, no. 27, 27 February 2004 (2004-02-27), pages 553 - 563, XP020030649 *
LNKD, vol. 9, 1 November 1992 (1992-11-01), pages 137 - 154
NAKAMURA Y ET AL: "A new approach to numerical algorithms in terms of integrable systems.", INFORMATICS RESEARCH FOR DEVELOPMENT OF KNOWLEDGE SOCIETY INFRASTRUCTURE., 1 March 2004 (2004-03-01), pages 194 - 205, XP010709514 *
NAKAMURA Y.: "Algorithm to Kasekibunkei-Kasekibunkei ni yoru Algorithm Kaihatsu o Mezashite.", THE INSTITUTE OF SYSTEMS, CONTROL AND INFORMATION ENGINEERS., vol. 43, no. 11, 15 November 1999 (1999-11-15), pages 8 - 15, XP002994448 *
NAKAMURA Y.: "Soliton Riron to Suchi Keisanho.", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS., vol. 80, no. 11, 25 November 1997 (1997-11-25), pages 1143 - 1146, XP002994449 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007066445A1 (ja) * 2005-12-05 2007-06-14 Kyoto University 特異値分解装置、及び特異値分解方法
JP5011545B2 (ja) * 2005-12-05 2012-08-29 国立大学法人京都大学 特異値分解装置、及び特異値分解方法
JP2007304801A (ja) * 2006-05-10 2007-11-22 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム
JP5017666B2 (ja) * 2006-08-08 2012-09-05 国立大学法人京都大学 固有値分解装置、及び固有値分解方法
JP2012069133A (ja) * 2011-10-24 2012-04-05 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム
CN115018721A (zh) * 2022-05-19 2022-09-06 西安中科立德红外科技有限公司 一种基于多尺度分析与奇异值分解的非均匀性校正方法

Also Published As

Publication number Publication date
CA2568852C (en) 2013-01-22
EP1752884A4 (en) 2010-08-25
US20090028455A1 (en) 2009-01-29
JP4325877B2 (ja) 2009-09-02
CA2568852A1 (en) 2005-12-15
EP1752884A1 (en) 2007-02-14
EP1752884B1 (en) 2013-04-03
US8306361B2 (en) 2012-11-06
JPWO2005119507A1 (ja) 2008-07-31

Similar Documents

Publication Publication Date Title
WO2005119507A1 (ja) 行列の高速高精度特異値分解方法、プログラムおよび装置
US12481886B2 (en) Calculating device and method for a sparsely connected artificial neural network
CN108846445B (zh) 一种图像处理方法
Mongardi et al. Birational geometry of irreducible holomorphic symplectic tenfolds of O’Grady type
CN111695671A (zh) 训练神经网络的方法及装置、电子设备
US11775832B2 (en) Device and method for artificial neural network operation
Oh et al. High-performance tucker factorization on heterogeneous platforms
JP2023070746A (ja) 情報処理プログラム、情報処理装置、及び情報処理方法
CN116843002B (zh) 神经网络模型的训练方法、训练系统及可读介质
CN119895437A (zh) 用于通过量化压缩生成式预训练语言模型的方法和设备
Huang et al. Hardware-friendly compression and hardware acceleration for transformer: A survey.
Zhao et al. Numerical behavior of mixed precision iterative refinement using the BiCGStab method
CN112596872A (zh) 任务调度、预处理、处理方法及设备、处理单元、介质
CN110363713A (zh) 基于递归样本缩放和双线性因子分解的高光谱图像降噪方法
Shao et al. An efficient GCN accelerator based on workload reorganization and feature reduction
CN118710754A (zh) 基于扩散概率模型的文生图方法、装置、设备及存储介质
CN119226254A (zh) 数据处理方法、装置、设备及计算机可读存储介质
Pietras et al. FPGA implementation of logarithmic versions of Baum-Welch and Viterbi algorithms for reduced precision hidden Markov models
Feng et al. A Unified Theoretic and Algorithmic Framework for Solving Multivariate Linear Model with $\ell^ 1$-norm Approximation
Kulkarni et al. Massive scaling of massif: Algorithm development and analysis for simulation on gpus
Rueda Ramírez Efficient Space and Time Solution Techniques for High-Order Discontinuous Galerkin Discretizations of the 3D Compressible Navier-Stokes Equations
CN111881408A (zh) 基于预处理共轭梯度法的并行数据处理方法及处理系统
Aziz et al. Self-adaptive physics-informed neural network for forward and inverse problems in heterogeneous porous flow
Zeng The approximate irreducible factorization of a univariate polynomial: revisited
Granat et al. A parallel Schur method for solving continuous-time algebraic Riccati equations

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2005746027

Country of ref document: EP

Ref document number: 2006514122

Country of ref document: JP

Ref document number: 2568852

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWP Wipo information: published in national office

Ref document number: 2005746027

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11569898

Country of ref document: US