平面の当てはめ (2)

湘南工科大学の非常勤講師、夏季集中のカリキュラムを検討中。線形代数です。

内容は、ベクトルと行列です。難しいことはやらず、かつ実用的な題材を提供したい。社会で役立つものです。

そこでですが、まず前半は、三次元の幾何学をやります。ここでの登場人物は、点/平面/直線。ここで、ベクトルを習得してもらう。実際の応用ではn次元になるので、次元数によらない計算技術の習得を目指します。

そして、後半。ここで行列を出すわけですが、ここでの題材をどうするか?いろいろ考えて、共分散行列を登場させようと思いました。難しいって?そうなんですが、実用上、これ以上に重要な行列はないはず。何とか主成分分析まで持っていきたい。なので、固有値問題をかすります。難しいかな?でも、固有値問題って、何に使うのか、知らないひとが多いんです。登場のステージとしては、うってつけだと思います。

ここまで済ませたとして、最後のネタで、前半と後半を融合させたいと考えました。そこで思いついたのが、以下のもの。

http://kanouy.blog9.fc2.com/blog-entry-577.html

これ、締めとして、よくないですか?
スポンサーサイト

重要な行列

線形代数における行列、いろいろと種類がありますが、私見では応用上重要なのは、以下の二つです。

1)対称行列(⊂正方行列)
共分散行列、ヘッセ行列、慣性テンソルなど、エンジニアリングで登場する正方行列のほとんどが対称行列です。対称行列は、直交行列で対角化できるなど、きわめてよい性質がありますので、これをきちんと理解することが重要。

2)非正方行列
これは、最小二乗法で出てくる、いわゆる計画行列(design matrix)。行数はデータ数、列数はパラメタ数。これを基本とした、行列&ベクトル表記による最小二乗法の習得が重要です。

連立一次方程式の解法再構築

線形代数の教科書に記載されている、「連立一次方程式の解法」に異議あり!

通常は、以下のように書かれます。

1)方程式が未知数より多いとき→解なし(不能)
2)方程式と未知数が一致するとき→一意に解が求まる
3)方程式が未知数より少ないとき→解無数(不定)

これはおかしいです。なぜならば、

1)は最小二乗法のことですし、実際にはこの場合が最も多いはずです。実用上極めて重要なものが、解なしとは...。
2)は理論的にはきれいですが、実際にはこのような状況は少ないかも。
3)はいまはやりのスパースです。本によってはℓ2制約を付けるものがあり、これはこれでラグランジュ乗数のよい練習になるのですが、そうして得られた解はスパースではないので、ちょっと不満。

なので、個人的に再構築中です。本も書きますよ!(ウソ)

行列のトレース

行列のトレース(Tr)、使い方がよくわからない。苦手です。定義はもちろん解りますが、応用が利かないのです。

そうしたところに、Bengio+のDL本に、以下の式が書かれてありました。

|A|2 = Tr(AAT) --- (1)

44ページ、同書では式(2.49)です。

式(1)のAは行列ですが、ベクトルにも適用できますから(ベクトルは行列なので)、たとえば、

|x|2 = xTx = Tr(xTx) = Tr(xxT) --- (2)

のように変形ができます。最後の項はシグマを取ると、共分散行列になります。ちょっと見通しがよくなってきた?

テンソルの計算

石井俊全先生著、「一般相対性理論を一歩一歩数式で理解する(2017)」で、テンソルの計算に再挑戦。

キーとなるのは、アインシュタインの縮約(Einstein summation convention)です。慣れると、これは非常に便利です。これを使わなければ、シグマとか、いろいろと面倒くさい記号が入りますが、そういうものは必要なくなります。それから、行列で表現できる二階のテンソルを超えてしまうと、これは行列ではダメなので、テンソルに頼るしかありません。

ただ、縮約で書くと、コンパクトに表現されるものが、実は項数が非常に多かった、ということもありますから、要注意です。

ベクトル場に沿った微分

石井俊全先生著、「一般相対性理論を一歩一歩数式で理解する(2017)」、いかに解りやすいとはいえ、取扱いの内容自体が難しいので、さすがに最終的には、自己責任で理解する必要があります。

たとえば、解りにくいのが、ベクトル場に沿った微分、というヤツ。これは、スカラを微分して作ったヤツ(これは(0, 1)テンソル)と、ベクトル場(これは(1, 0)テンソル)の内積(つまり縮約)なので、(0, 0)テンソル、つまりスカラとなります。

式としてはそうなるのですが、いまいちピンとこないです。方向微分と同じと思えばよいのですが。

ベクトル場の微分、とはまったく違いますから、お間違えなきよう。

クリストッフェルの記号

石井俊全先生著、「一般相対性理論を一歩一歩数式で理解する(2017)」、第5章に、クリストッフェルの記号(Christoffel symbols)の詳細な説明があります。

添え字が上にひとつ、下にふたつあります。合計三つもあるのです。なぜこんなに多いのかというと、この記号は、(直線)座標を曲線座標で2回偏微分したベクトルを、各基底(=1回偏微分したもの)の線形和で表したときの係数だからです。なので、三つなければ係数の識別ができない。

小林昭七先生著、「曲線と曲面の微分幾何(1995)」には、クリストッフェルの記号が出てこないので、ラッキーと思っていたのですが、やはり避けられないようです。幸い、石井先生の本は解りやすいので、今回はチャレンジします。

湘南工科大学非常勤講師

本年度(2017年度)、湘南工科大学の非常勤講師をお引き受けすることになりました。基礎的(かつ実用的)な数学を教えます。

同大学の知人からの依頼です。こちらは、自宅から近いので、なにかとラクであります。

前期と後期があるのですが、前期は、すでにやっている、ものつくり大学と被るので、夏季に集中で行うことにしました。後期は通常の週イチです。

Idempotent Matrix

'Idempotent matrix'という単語を、某書籍で見ました。Idempotent matrixとは、

H2 = H --- (1)

が成り立つ行列Hである、との説明があります。むむ、これは射影(投影)行列のことではないでしょうか。そこで参照したのが、以下の書籍です。

David A. Harville, 'Matrix Algebra From a Statistician's Perspective (2008)'

統計の線型代数本として、評価の高いものです。本書の10章が、Idempotent matrices、というタイトル。ここを読めば、idempotent matrixがわかるのです。まだ読んでいないけれど。6ページのquick courseです。

ラグランジュの未定乗数法 (2)

佐藤一誠先生による、「トピックモデルによる統計的潜在意味解析(2015)」、66ページのあたりで、確率イチの制約条件は実質は必要ない、という驚くべき主張、

http://kanouy.blog9.fc2.com/blog-entry-1703.html

を検証すべく、以前書いた記事、

http://kanouy.blog9.fc2.com/blog-entry-1652.html

に対して、同じ手法を適用してみました。BishopのPRML、第1章のエントロピー、

H = -Σp(xi) log(p(xi)) + λ(Σp(xi) - 1) --- (1)

を最大化する確率密度を求めよ、という問題です。原書では式(1.99)。答えは、

P(xi) = 1/M --- (2)

です(Mはiの取りうる数)。

Hをp(xi)で偏微分して、ゼロとおけばよいのですが(p(xi)をpiと置き換えます)、

∂H/∂pi = -log(pi) - 1 + λ = 0 --- (3)

ここで、λは必要ないということで、式(3)からこれを取り除きます。すると、

∂H/∂pi = -log(pi) - 1 = 0 --- (4)

となります。これをpiで解くと、

pi = 1/e --- (5)

これはどういうことかというと、piはiによらず、定数ということです。式(5)を正規化してやると、式(2)が得られます。というわけで、この問題も、ラグランジュ乗数は必要なかった。ホントですかね...

回転行列のquaternion分解

日本機械学会編「マルチボディダイナミクス(1)-基礎理論」において、オイラー・パラメータというのが登場いたします。第6章。

このオイラー・パラメータというのは、quaternionのことです。分野が違うと、呼び方も違うという、よい見本。ここからは、quaternionと記します。

同書の79ページに、3x3回転行列が、以下のように分解できると記されています。

A = ELT --- (1)

ELは、3x4行列です。これらの成分は、quaternionの成分で構成されます。このように分解すると、いろいろと便利なことがあるというわけです。勉強になります!

ラグランジュの未定乗数法

ラグランジュの未定乗数法(Lagrange multipliers)、理系の教養数学ではあまりきちんと説明されないところですが(大学で習った記憶がない)、応用上、極めて重要であります。

BishopのPRMLには、ラグランジュの未定乗数法の記載がたくさん出てきます(というか、機械学習本では必須の技術。確率の総和がイチであるという制約がありますから)。第1章に、エントロピーの説明があるのですが、そこに、

H = -Σp(xi) log(p(xi)) + λ(Σp(xi) - 1) --- (1)

を最大化するという問題が出てきます。原書では式(1.99)です。PRMLでは、このレベルの解法は、prerequisiteとみなされているので、なんの説明もなく、

P(xi) = 1/M --- (2)

であると記載されます(ただしMはiの取りうる数)。式(2)の意味は、確率が均質なほど、エントロピーは高いということです。これを導出してみましょう。

Hをp(xi)で偏微分して、ゼロとおけばよいので(p(xi)をpiと置き換えます)、

∂H/∂pi = -log(pi) - 1 + λ = 0 --- (3)

となり、piで解くと、

pi = exp(λ-1) --- (4)

となります。常套手段で、両辺でiに関するΣをとると、

1 = M*exp(λ-1) --- (5)

となります。式(4)(5)から、式(2)が求まります。

回転運動の謎 (3)

前回の続きです。

http://kanouy.blog9.fc2.com/blog-entry-1636.html

r' = r'* + ω×r --- (1)

として、

r'' = (r'*)'* + (ω×r)' = r''** + ω×r'* + ωr + ω×r' --- (2)

としましたが、

r'' = (r'*)'* + (ω×r)' = r''** + ω×r'* + (ω×r)'* + ω×ω×r --- (3)

としてもよいはず。こちらのほうが、式(1)を忠実にフォローしていますね。

式(3)の第三項は、

(ω×r)'* = ω'*×r + ω×r'* --- (4)

ですが、

ω'* = ω' --- (5)

ですから、式(3)に式(4)(5)を代入すると、

r'' = r''* + ωr + 2ω×r'* + ω×(ω×r) --- (6)

が得られました。

回転運動の謎 (2)

ややこしい三次元の回転運動ですが、

広瀬茂雄先生著「ロボット工学(1987)」第4章が、わかりやすいかもしれません。同書を引用しますと、

r' = r'* + ω×r --- (1)

同書では、式(4.3)です。ちょっとややこしいのが、r'*という表記です。これが、「ベクトルの伸縮成分のみに関する微分を表す」、というくだり。つまり、複素数みたいに、きれいな分離ができないのです。このあたりのノーテーション、統一されたものはありません。

でも、これが理解されれば、r''を求めることができます。この処理を繰り返せばよいです。すなわち、

r'' = (r'*)'* + (ω×r)' = r''** + ω×r'* + ωr + ω×r' --- (2)

ですが、

r''** = r''* --- (3)

であり、式(2)の最後の項に、式(1)を適用すると、

r'' = r''* + ω×r'* + ωr + ω×(r'* + ω×r) = r''* + ωr + 2ω×r'* + ω×(ω×r) --- (4)

が得られました。同書では式(4.7)です。ポイントは、コリオリの力が、ふたつの項から出てくること。そのために、係数の2がかかります。これが出てこないと、計算間違いをしていることになります。

回転運動の謎

物理における回転運動、悩みの種です。

二次元の場合は、複素数を使うとクリアです。なぜかというと、rとθがきれいに分離されるのです。つまり、

r = re --- (1)

とすると、

r' = r'e + irθ'e = (r' + irθ')e --- (2)
r'' = {r'' + i(r'θ'+rθ'')}e + iθ'(r' + irθ')e = {(r'' - rθ'2) + i(rθ'' + 2r'θ')}e --- (3)

遠心力も、コリオリの力も、方向付きで出ます。

しかるに、三次元の場合は、上記に相当する、うまい記法がない(ような気がする)。eの微分が、θ'の外積、に置き換わると考えればよいのでしょうが、二次元ほどきれいではないですね。

双対問題

不等式制約つきの、凸最適問題における、双対問題の話です。身近なところでは、SVM(Support Vector Machine)に登場します。

以下のノーテーションは、「言語処理のための機械学習入門」から取りました。18ページのあたり。最近お世話になっている本です。

関数f(x)を最大化する問題を考えます。ただし、

g(x) ≧ 0 --- (1)

という制約があるとします。このとき、ラグランジュ関数を、

L(x, λ) = f(x) + λg(x) --- (2)

とすると、最適解(x*, λ*)は、以下の式を満たします。

L(x, λ*) ≦ L(x*, λ*) ≦ L(x*, λ) --- (3)

つまり、点(x*, λ*)は、関数Lの鞍点、というわけです。

でも、この証明って、なにかよくわかりません。論理は追えますが、納得感がいまいちです。ポイントは、

λg(x) = 0 --- (4)

という、いわゆるKKT条件ですね。これが理解できるかどうか、です。

外積の計算

Feynmanの'Quantum Mechanics and Path Integrals'、第9章'Quantum Electrodynamics'を読んでいました。もちろん読めていません。パラパラめくっている。

ここに、ベクトルの外積を2つ組み合わせた式がでていました。具体的には、

∇×(∇×A) = ∇(∇・A) - ∇2A --- (1)

という式です。よく出てくるヤツですが、さて、これを証明したい(同書では、証明なしに、当たり前に使っている)。

∇は演算子ですが、通常のベクトルのように扱えるので、そのようにいたします。まず、∇が正規化されているとします。つまり、

|∇| = 1 --- (2)

すると、式(1)の左辺は、∇とAで張られる平面上のベクトルであり、大きさは|A|sinθです(ただしθは∇とAのなす角度)。では方向は、というと、

A - ∇(∇・A) --- (3)

の反対向きです(大きさはあっている)。これを式で表すと、

∇×(∇×A) = ∇(∇・A) - A --- (4)

となります。でも、式(4)は、式(2)が前提となっています。この前提をとるためには、

(1/∇2)∇×(∇×A) = (1/∇2)∇(∇・A) - A --- (5)

とすればよいです。式(5)の両辺に、∇2を掛けると、式(1)が得られました!

対称行列の逆行列は対称行列

以前も書いたかもしれない...同じ疑問を持つということは、進歩がないということです。

某数学書を読んでいて、対称行列の逆行列が対称行列であることを、当たり前のように使っていました。これは自明ですか?

殆どの人には自明でしょうが、いちおう証明します。Aが対称行列であるとき、

(A-1)T = (AT)-1 = A-1 --- (1)

途中で、転置と逆の操作を代えましたが、これは以下の記事で証明済みです。

http://kanouy.blog9.fc2.com/blog-entry-1363.html

慣性テンソルの時間微分

先日の関連記事におきまして、

http://kanouy.blog9.fc2.com/blog-entry-1581.html

(dL/dt) = (dI/dt) ω + I (dω/dt) --- (1)

を計算すると、

(dL/dt) = ω x L + I (dω/dt) --- (2)

となる、と書きましたが、これを導出いたします。式(1)の右辺第一項を計算すればよいです。まず、

I = RIpRT --- (3)

と書けます。Ipは、Iを対角化したものです(これは不変)。これを使うと、

(dI/dt) ω = (d(RIpRT)/dt) ω = ((dR/dt)IpRT + RIp(dR/dt)T) ω --- (4)

ここで、ωの行列表現をΩとすると(交代行列となります)、

式(4) = (ΩRIpRT + RIp(ΩR)T) ω = (ΩRIpRT - RIpRTΩ) ω = (ΩRIpRT) ω = ω x Iω = ω x L --- (5)

となり、式(2)が導出できました。途中で、以下の関係を使いました。

ΩT = -Ω --- (6)
Ωω = 0 --- (7)

拘束方程式 (2)

前回の続きです。より一般的に、式を導きます。

z = z(x, y) --- (1)
x = x(t) --- (2)
y = y(t) --- (3)

として、zをtで微分すると、

dz/dt = (∂z/∂x)(dx/dt) + (∂z/∂y)(dy/dt) --- (4)

です。これはさすがに楽勝。式(4)をさらにtで微分すると、積の微分ですから、

d(dz/dt)/dt = (d(∂z/∂x)/dt)(dx/dt) + (∂z/∂x)(d2x/dt2) + (d(∂z/∂y)/dt)(dy/dt) + (∂z/∂y)(d2y/dt2) --- (5)

計算が苦手な私は、さんざん計算間違いをして、得られた結果は、

d(dz/dt)/dt = (∂2z/∂x2)(dx/dt)2 + 2(∂2z/∂x∂y)(dx/dt)(dy/dt) + (∂2z/∂y2)(dy/dt)2 + (∂z/∂x)(d2x/dt2) + (∂z/∂y)(d2y/dt2) --- (6)

合ってますよね?式(6)を、z=C、x=q、y=t、と置き換えてやります。すると、

0 = (d2C/dt2) = Cqqq'2 +2Cqtq' + Ctt + Cqq'' --- (7)

と、導けました!

拘束方程式

日本機械学会編「マルチボディダイナミクス(1)」、読んでおります。

37ページに、拘束方程式として、

C(q) = 0 --- (1)

という式が出てきます。書籍では式(3.13)です。これを時間微分した結果が、43ページに(説明なしで)載っていて、

Cqq'' + (Cqq')qq' + 2Cqtq' + Ctt = 0 --- (2)

となるそうです。qは一般化座標です。

これは導出しなければ、と思い、計算し始めました。さんざん間違ったあげく、なんとか式(1)から式(2)が導けました。みなさま、できますでしょうか?

固有値問題 (2)

私の固有値/固有ベクトルに対する、一連の混乱というのは、理由がはっきりしていて、

A = λ1u1u1T + ... + λnununT --- (1)

という式が、私の固有値/固有ベクトルに対するイメージだからです。つまり、変換Aは、固有値と固有ベクトルで分解されるということ。

ここで、異なる固有ベクトルの数が、Aの次元数を下回ると、分解がその次元数分できないので、「空間が縮退してしまう」、というイメージです。でもこれは違うんです。式(1)は、Aが対角化できることを前提にしていますが、正則でも対角化できない変換が存在します。でも私には、このイメージがありません。

数学系の方に訊いてみると、私のようなイメージはないみたいですね。困ったな~

固有値問題

線型代数における固有値問題において、固有方程式が重解をもつときの、固有空間についてです。以前の関連記事はこちら。当時は混乱していました。

http://kanouy.blog9.fc2.com/blog-entry-866.html

問題は、重複度を持つ固有値に対する固有空間の次元です。これをどのように知るか。

これは、その固有値に対応する連立一次方程式を解けばよいです。つまり、定番の掃き出し法で、確認すればよろしい。でも、このことはあまり教科書には載っていないです。なぜでしょう。

おそらく、この時点では、掃き出し法はマスターしているので、当然のことと見なされるのでしょうが、盲点のような気がします。私だけでしょうか。

発散の謎

無限に発散するとは?よくわからなくなってきた。

調和級数という、不思議な級数があります。すなわち、

Σ(1/n) --- (1)

式(1)はn→∞で発散すると言われています。でも、いつするのでしょうか?式(1)が発散する証明は、ふつうの微積本に載っています、でも、私はいまいち納得できない...

式(1)は、実質logですが、これも発散しそうにない。すみません、いつもの戯言でした。調和級数については、以前記事を書きました。

http://kanouy.blog9.fc2.com/blog-entry-575.html

行列式の微分

暇つぶしには、'The Matrix Cookbook'、が最適です。面白い行列の計算が満載!

最初のほうに、<行列式の微分>というのがあります。すなわち、

∂det(X)/∂X = det(X)(X-1)T --- (1)

これは不思議な式です。というわけで、2x2のもので検証してみましょう。

X = {{a,b},{c,d}} --- (2)

とすると(Mathematica表記)、

det(X) = ad - bc --- (3)

です。これをXで微分すると、

∂det(X)/∂X = {{d,-c},{-b,a}} --- (4)

ですが、一方では、

det(X)(X-1)T = {{d,-c},{-b,a}} --- (5)

なので、式(4)(5)から、式(1)が示されました。でも、n次元の場合は、どうやるんでしょうね。検証するわけにはいかない。

総和と行列 (2)

http://kanouy.blog9.fc2.com/blog-entry-1519.html

において、「Σは嫌いですし、それに付随する添え字も嫌いです」などと書いたところ、やはり間違えました。添え字の呪いです。というわけで、修正して再アップしました。

しかし、RSS readerのfeedlyって、更新されないんですね。なので、こちらは間違ったままです。オリジナルのほうをご覧ください。それ以前にもたくさん間違いをしています。裁判になっても(ならないけれど)免責であります。

と、ここまで書いてから、readerの修正されないほうを見直したところ、これはこれで表記は正しいですね。ただし、行列では行と列が逆になります。これはダメです。

総和と行列

最小二乗法の定式化において、基底関数j、データiの値、

φij --- (1)

を要素とする行列をΦ(design matrixという)とすると、

E = |y - Φw|2 --- (2)

と書けます。一方では、総和記号を用いて、

E = Σ|yi - Σφijwj|2 --- (3)

と書くスタイルもあります。私は式(2)のほうが、断然読みやすいのですが、これは好みなのでしょうか?Σは嫌いですし、それに付随する添え字も嫌いです。アタマが痛くなります。

正規行列 (2)

正規行列(normal matrix)について、やはり、以下の本には詳しく載っていました。さすがです。

Carl Meyer, Matrix Analysis and Applied Linear Algebra (2000).

409ページに行列の階層図があります。要素が実数の場合だと、

Real-Symmetric < Normal < RPN --- (1)

RPNというのは、'Range Perpendicular to Nullspace'です。難しいのでここでは言及しません。

では、式(1)において、正則行列(nonsingular matrix)はどこに入るのか?正則性というのは、式(1)の階層には入りません。つまり関係ないということです(上記本の言葉を引用すると、"with no implication being reversible")。ちょっと面白くないですか?

平面幾何学

先日の数学同好会(2016年2月19日)にて、某F社T氏より、平面幾何学の問題が提示されました。娘さん(理系)が仕入れてきたネタとのこと。

本BLOGはテキストだけをポリシとしているので、図解はいたしませんが、なかなか骨のある問題です。最初はできないかと思った。連立方程式で解こうとしたんですが、条件がひとつ足りない。

結局のところ、三角形の合同条件ふたつと、円周角の定理を使ってできましたが、私はこういうの、昔から苦手でした。補助線を効果的に引くのがポイントですが、これがうまく引けない。また、きちんと証明になっているかどうかも怪しい。

平面幾何学は一種のパズルみたいなもので、世界の共通語のひとつです。このネタでかなり盛り上がりました。

正規行列

対角化可能な行列について、私はよく勘違いしました(いまもする)。以前は、正則な行列が対角化可能だと思っていた。これはもちろん間違い。

ではどういうことかというと、正規行列(normal matrix)というのがあります。これがまた、線型代数の教科書では、もうしわけなさそうに載っているわけです。このレベルでは、おそらくきちんと説明ができないのだと思われます。

通常私がお目にかかる行列は、対称行列なのですが(慣性テンソル/共分散行列/ヘッセ行列...)、これは正規行列です。なので、私は対称行列だけを念頭においています。でも、これでよいのだろうか?
プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(横浜オフィス)
2011年11月甲南大学特別講師
2011年11月関西大学特別講師
2012年11月東京理科大学特別講師
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
立体映像産業推進協議会(幹事)/電気学会・第二期次世代インタラクティブディスプレイ協同研究委員会(幹事)/三次元映像のフォーラム(幹事、監査)/日本バーチャルリアリティ学会・論文委員会(委員)・力触覚の提示と計算研究会(委員)/ACM/SIGGRAPH(Professional Member)/情報処理学会(正会員、CVIM会員)/3Dコンソーシアム(賛助会員)/3DBiz研究会(個人賛助会員)/最先端表現技術利用推進協会(個人会員)/URCF(特別会員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード