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
Application number
PCT/JP2005/010084
Other languages
English (en)
French (fr)
Inventor
Yoshimasa Nakamura
Masashi Iwasaki
Shinya Sakano
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 US11/569,898 priority Critical patent/US8306361B2/en
Priority to CA2568852A priority patent/CA2568852C/en
Priority to EP05746027A priority patent/EP1752884B1/en
Priority to JP2006514122A priority patent/JP4325877B2/ja
Publication of WO2005119507A1 publication Critical patent/WO2005119507A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images

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 行列の高速高精度特異値分解方法、プログラムおよび装置 WO2005119507A1 (ja)

Priority Applications (4)

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

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 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 (4)

* 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 国立大学法人京都大学 固有値分解装置、及び固有値分解方法

Families Citing this family (25)

* 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 国家电网公司 数字图像处理方法及装置
EP3014686A4 (en) * 2013-06-29 2016-12-21 Saint-Gobain Ceram And Plastics Inc SOLID OXIDE FUEL CELL COMPRISING A DENSE BARRIER LAYER
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 宁波坤博测控科技有限公司 一种用于风力发电机的滚动轴承的故障分析方法及装置
CN115484354B (zh) * 2022-09-14 2024-02-23 姜川 一种基于四元数矩阵奇异值分解的彩色图像压缩方法

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 独立行政法人科学技術振興機構 画像特徴抽出方法および画像圧縮方法
JP5017666B2 (ja) * 2006-08-08 2012-09-05 国立大学法人京都大学 固有値分解装置、及び固有値分解方法
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 (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 特異値分解装置、及び特異値分解方法
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 立体性認証方法、立体性認証装置および立体性認証プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2005119507A1 (ja) 行列の高速高精度特異値分解方法、プログラムおよび装置
Serra-Capizzano A note on antireflective boundary conditions and fast deblurring models
US20180260709A1 (en) Calculating device and method for a sparsely connected artificial neural network
Leon et al. Gram‐Schmidt orthogonalization: 100 years and more
JP5017666B2 (ja) 固有値分解装置、及び固有値分解方法
CN115456159A (zh) 一种数据处理方法和数据处理设备
US11775832B2 (en) Device and method for artificial neural network operation
CN111291274A (zh) 一种物品推荐方法、装置、设备及计算机可读存储介质
Huai et al. Zerobn: Learning compact neural networks for latency-critical edge systems
Nelson Quantum variance on quaternion algebras, II
JP2023070746A (ja) 情報処理プログラム、情報処理装置、及び情報処理方法
Shu et al. Syntactic structures and code parameters
Gawlik et al. High-order retractions on matrix manifolds using projected polynomials
Zhao et al. Numerical investigation into the mixed precision gmres (m) method using fp64 and fp32
Huang et al. Hardware-friendly compression and hardware acceleration for transformer: A survey
Wang et al. A dual semismooth Newton based augmented Lagrangian method for large-scale linearly constrained sparse group square-root Lasso problems
CN113761934B (zh) 一种基于自注意力机制的词向量表示方法及自注意力模型
Draxler et al. Free-form flows: Make any architecture a normalizing flow
CN115761250B (zh) 一种化合物逆合成方法及装置
Rueda-Ramírez Efficient Space and Time Solution Techniques for High-Order Discontinuous Galerkin Discretizations of the 3D Compressible Navier-Stokes Equations
Zhao et al. Numerical Behavior of Mixed Precision Iterative Refinement Using the BiCGSTAB Method
CN114662679B (zh) 一种基于神经网络的数据处理方法
Pietras et al. FPGA implementation of logarithmic versions of Baum-Welch and Viterbi algorithms for reduced precision hidden Markov models
Yang et al. On building efficient and robust neural network designs
CN115293082B (zh) 时序预测模型的训练、预测方法、装置、设备及存储介质

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