Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica

20
Mathematica にににににににににににに Eigenvalue calculation speed by Mathematica ににににに 06A2055 にににに

description

Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica. 情報工学部 06A2055 平塚翔太. バックグラウンド. 前回のあらすじ 自己相関 行列の対角化 行列のスペクトル分解 プロ グラムの内容 参考 文献. スライド一覧. 前回のあらすじ. VPN 下でのストリーミング配信における人の振舞い(データ等の劣化によりクライアントがキャンセルかリトライする確率)を行列化する。 α β p p : キャンセルした確率 - PowerPoint PPT Presentation

Transcript of Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica

Page 1: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica

情報工学部06A2055

平塚翔太

Page 2: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

スライド一覧

•前回のあらすじ•自己相関•行列の対角化•行列のスペクトル分解•プログラムの内容•参考文献

バックグラウンド

Page 3: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

前回のあらすじ VPN 下でのストリーミング配信における人の振舞い(デー

タ等の劣化によりクライアントがキャンセルかリトライする確率)を行列化する。

    α                       β                       p p : キャンセルした確率 rp r : リトライした

確率 (1 - r)p                    1-α   α    0   ・・・・・・・ 0

   行列化          β   1-α-β   α  ・・・・・・・・ 0                   ・  β   1-α-β   α  ・・・・・・ 0                    ・・・・・・・・・・・・・・ 0                    0   0   0  ・・・・・・・ 1-β   β

Client

Page 4: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

自己相関 同じ時系列での相関      x k+t

  0 秒後 ⇒  0 本  1 秒後 ⇒  5 本  2 秒後 ⇒  3 本                  : x k

 x k 秒後              r を相関係数という :                r = 1  : 正の相関 x k+t 秒後              r = -1 : 負の相関      x k とx k+t の相関グラフ  r = 0 : 相関無し      

r = 0

r = 1r = -1

0 1 2 3 4 5 6 7 8 9

Page 5: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

t 秒時の相関係数 r (r(t) ) は     r(t) =             と定義される

分散( Variance ) 複数のデータの二乗和を求めることで データの散らばり具合が求まる

Var( x k ) = ∑ ( x k ) P( x k ) – x

P( x k ) はある状態からx k になる確立を表す

Var( xk+t )

Var( x k

)

Cov( x k , xk+t )

2

2∞

x k =0

Page 6: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

P とx k の関係をグラフ化  

  ≈

                    

 x k = ∑ x k P( x k )

定常  P( x k 、x k+t   ) = P( x k+l 、x k+t+l) でどんな l でも成り立つとき  P( x k 、x k+t   ) は定常である

xk

P

・・・・

x k+t1

0 1 2 3 4 5 6 ・・・・

xk∞

x k =0

Page 7: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

共分散( Covariance ) 複数のデータの積和を求めることで データ間の関係性や連動性が求まる

Cov( x k , x k+t ) = ∑ ∑ ( x k - x k ) ( x k+ t - x

k+ t ) P( x k , x k+t )

  ( x k - x k )   :x k からx k になる確率の変量   ( x k+ t - x k+ t ) :x k+ tからx k+ tになる確率の変量 P( x k , x k+t ) :x k からにx k+ tなる確率

 

x k =0

x k+t =0

Page 8: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

また、相関係数 r (t) とデータを転送する時間 t のグラフを以下に示す

 長いデータを転送 ⇒ 時間がかかる分、相関が比較的長い            間相関が強くなる 短いデータを転送 ⇒ 時間がかからない分、相関が比較的            すぐ相関が弱まる

r(t)

t0

データ:長

データ:短

Page 9: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

行列の対角化 固有値 ある行列 A に対して「 A x = λ x」を満たす ベクトルxと、スカラー λ が存在するとき、  λ :固有値 x:固有ベクトル と呼ぶ。

「方向を持たない大きさ」

行列 A には固有ベクトルという方向と固有値という大きさからなる

Page 10: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

なぜ固有値なのか???ここで、固有ベクトルxを列ベクトル S とする

そして、対角成分に固有値を並べた対角行列を Λ とする

これらの行列から  A S = Λ S  がわかるこれを変形すると  S A S = Λ となるこの S を A の対角行列という

S =  x 1 ,x 2 ,・・・,x n

     λ1      λ2Λ =     ・       ・        ・          λ n0

-1

Page 11: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

  S A S = Λ は、 S Λ S = A とも書けるここで、行列 A を n 乗算したとき A と書く

 

固有値と固有ベクトルを用いると行列の乗算が著しく簡略化される

-1

-1 n

A = A A A A ・・・ A = SΛS SΛS SΛS SΛS ・・・ SΛS = SΛΛΛΛ ・・・ ΛS  = SΛ S

-1

-1

-1

-1

-1

n

-1n -

1

     λ1      λ2Λ   =    ・       ・        ・          λ n0

0n

nn

n

※ S S = I

-1

Page 12: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

行列のスペクトル分解行列 A 、固有値 λ 、とするとき直交する固有ベクトルを選ぶ

            =

と表すことができる。これを

と転置する。

A y 1 ,y 2 ,・・・,y n

λ1  λ2 ・   ・    ・      λ n0 

0 

x 1 ,x 2 ,・・・,x n

A = x 1 ,x 2 ,・・・,x n

λ1  λ2 ・   ・    ・      λ n0 

0 

y 1y 2・・・y n

Page 13: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

A = λ 1 x 1 y 1 + λ 2 x 2 y 2 + ・・・ + λ n x n y n

これを行列 A のスペクトル分解という x i y i  :行列  λ i    :スペクトル

A = λ 1 x 1 y 1 + λ 2 x 2 y 2 + ・・・ + λ n x n y n

A が n 乗の時の固有値 λ の m 乗を求めることができる

mmmn

x0 xi

yi

λ xi

λ yi

Page 14: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

プログラムの内容

CLIENT

VPN

誰が(何人)キャンセルするかわからない

Page 15: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

キャンセル率の最も多い時を hMAX として定量化する例: hMAX :キャンセル率が最大    Δ : 0 から hMAX を刻む数    σ : hMAX * Δ :定量化した時の一めもり    w :配信が正常に行える最大数    el :終了

-1 

0 1 2

w+1 w+2 ・・・・・・・ el

配信の劣化が始まる

hMAX

σ

Page 16: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

ストリーミングを受けるクライアントが増加するとキャンセル率は増加、あるいは不変な場合はあるが、減少することはないと仮定する

0 1 2

w+1 w+2 w+3 ・・・・・  el

下がることはない

上がるか変わらないのは有り

ストリーミング配信の悪化増

hMAX

σ

Page 17: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

青線のみを Δ + 1進数で定量化する

その内の最大値 (relaxmax) と最小値 (relaxmin) を出力する

-1

0 1 2

w+1 w+2 ・・・・・  el

hMAX

σ

Page 18: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

プログラム

Page 19: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

参考文献

相関係数と回帰直線     加藤千恵子、石村貞夫 著 秋田工業専門学校HP         

http://akita-nct.jp/ Wikipedia           

http://ja.wikipedia.org/wiki/ やさしく学べる線形代数         石村園子 著 千葉大学理学部HP   

http://www.math.s.chiba-u.ac.jp/

Page 20: Mathematica による固有値計算の高速化 Eigenvalue  calculation speed by  Mathematica

御清聴ありがとうございました