• ベストアンサー

1×1行列とスカラーは同一視できるか

1 × 1 行列をスカラーと同一視できるとすれば、行列のスカラー倍の定義と、m × n 行列とn × l 行列の積が m × l 行列になるという行列の積に関する演算規則は矛盾するような気がしますが、この推論は誤りでしょうか?もし誤りだとすればどこに問題点があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.6

またまたstomachmanです。No.5へのコメント: > もともとの問題意識は、 (n次行ベクトル) × (n次列ベクトル) をスカラー積と呼ぶこともある一方で、行列算とみれば1×1行列になるから、「スカラーと1×1行列は同一視できる」と単純に考えていました。 によって、なるほど、ご質問の意図がやっと分かりました。 [1] 行列A,Bを掛ける普通の行列積を「A★B」という記号で表し、二つのベクトルu,vのスカラー積(内積)をu●vと表すことにします。また転置を ' で表します。  「同一視する」というのは、何かある写像φがあって φ(u●v) =u'★v ってことです。ここでφ(x)=yは(xの値からyの値への写像ではなくて)xという式そのものからyという式そのものへの写像であり、つまり「●をする」という演算から「第一引数を転置してから★する」という演算への写像の意味です。これだけを見ると、φの実体は φ(x) = trace(x) でも良いし、 φ(x) = x[1,1] (xの1,1成分) でも良い。  さて、この写像φを使って、(u●v)という演算と(u'★v)という演算を同一視する。すると、(u●v)の値はスカラーsであるから、 u●v = s φ(s) =u'★v と書ける。ならば、u,vを指定しなくたって、スカラーsに対して何かがφ(s)によって対応するんでなくては辻褄が合わない。つまり、φは演算から演算への写像というだけではなくて、スカラーから何かへの写像に必然的に拡張できるだろう。  でも φ(x) = x[1,1] (xの1,1成分) だと思って、 φ(s) =(sを要素とする1×1行列) としてみると何だか旨く行かない、というのがご質問なのですね? [2] これに対してstomachman No.1では話が逆になります。  一つのやり方は、スカラーsについて φ(s) =(sを要素とする1×1行列) によって同一視を行うことに決める。sと書いたら「その実体はsを要素とする1×1行列だ」と思うことに断然決めるんです。そして以下、「行列以外のものは全部追放」計画を遂行します。  ベクトルuについては、 φ(u) = (uの次元と同じ行数を持つn×1の行列Uで、U[i,1]=u[i]) 実はこれで初めて、ベクトルの転置が意味を持ちます。  また、行列A, Bについては、 φ(A) = A φ(A') = A' φ(A★B)=A★B φ(A+B)=A+B φ(AーB)=AーB であると決めます。(両辺の+、ーは行列の和、差です)  スカラーs,t同士の四則演算は φ(st) = φ(s)★φ(t) φ(1/s) = inverse(φ(s)) φ(s+t) = φ(s)+φ(t) φ(s-t) = φ(s)ーφ(t) (右辺の+、ーは行列の和、差です)  そうすると、 φ(u●v) =φ(u)'★φ(v) が成り立つから、もう●は要らない。さて、 D(A,B) = (Bの列数と同じ行数、列数をもち、対角成分が全てA[1,1]である対角行列。) と書くことにして、行列にスカラーを左から掛けることを※とすると、φ(※)(つまり「※の実体」)は φ(s※A) = D(φ(s),A)★A と定めれば良い。 これで※という演算も要らなくなります。かくて行列とD, ', ★, +, ー, inverseで全部書けるようになった。 という話にすれば辻褄は合う訳です。

memoryterm
質問者

お礼

ご回答頂きましてありがとうございました。もうしばらく検討することにいたします。

その他の回答 (6)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.7

No.6 stomachman、書きそこ間違い訂正です。[1]のとこ、 > φ(x) = trace(x) > φ(x) = x[1,1] (xの1,1成分) ちがうです。正しくは φ(trace(x)) = x φ(x[1,1] (xの1,1成分)) = x

memoryterm
質問者

お礼

数回にわたって丁寧にご回答頂きましてありがとうございました。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.5

No.1 stomachmanです。幾多の回答に反応なし、ということに鑑みて、もうちっと丁寧にやりなおします。 [1] 「1×1行列をスカラーと同一視する」という話は、「スカラー同士の演算(積・和・逆数)と1×1の行列同士の演算とは丁度同じ形になる(同型である)」ということを仰っているんだろうと思います。スカラー同士の演算だけ考えている分には、確かにこれで辻褄が合っています。 [2] しかし、スカラーを行列に掛ける演算まで含めて1×1行列をスカラーと同一視しようとすると、話が合わなくなります。(ご質問はこの点でしょう?)  ところで、「1×1行列をスカラーと同一視」と表現しているけれど、これは「1×1行列」の話というより、「スカラー」の話である。ですから、1×1行列をどうするかと考えるんじゃなく、スカラーを何と同一視するか、という風に捉えるべきです。  つまり、「(スカラーを行列に掛ける演算まで含めて)スカラーをナニカと同一視できるとすれば、そのナニカとは何か」と考えるんです。 [3] ひとつの答として、「スカラーαを行列に掛ける」という演算は、「全ての対角要素がαである対角行列Aを左から掛けて行列積を作る」の略記法だったんだ、と思うことができます。  この見方をすると、「スカラーαを行列に掛ける」と言っても、掛ける相手によってスカラーαの実体Aが異なる訳です。  また、スカラーαとβ同士の演算についても、その積は実体である行列A,Bの演算ABのこと、和と差も行列の演算A+B、A-Bのこと、スカラーαの逆数1/αはAの逆行列のことだと思うことができますから、辻褄が合っています。  特に、掛ける相手が1 × nの行列であるときには、Aはαだけを成分とする1 × 1の行列になり、[1]の話と完全に一致します。 [4] ということは、[1]は[3]の特殊な場合である。スカラーが1 × 1の行列と同一視できるのは、掛ける相手が1 × n行列という特殊な場合に限られる。そして、相手をm×n行列に拡張するためには、同一視する対象の方もm×m行列に拡張する必要があった、という訳です。

memoryterm
質問者

お礼

ご丁寧に回答して頂き、ありがとうございます。 行列のスカラー倍と行列の積の演算規則を矛盾なく説明するためには、スカラーと同一視する対象が相手の行列によって変わってくるということですね。 おかげで、だいぶすっきりしたような気がします。 もともとの問題意識は、 (n次行ベクトル) × (n次列ベクトル) をスカラー積と呼ぶこともある一方で、 行列算とみれば1×1行列になるから、「スカラーと1×1行列は同一視できる」と単純に考えていました。 真っ先にご回答頂いたにもかかわらず、返信が遅くなりまして申し訳ありませんでした。もうしばらく頭の中を整理したのち、回答を締め切りたいと思います。 2度にわたってのご回答ありがとうございました。

  • hiccup
  • ベストアンサー率27% (12/44)
回答No.4

K を体(あるいは実数の集合)、M(1;K) を K 上の 1 × 1 行列の集合とします。 「1 × 1 行列をスカラーと同一視できる」というのは、M(1;K) と K は代数的な構造も含めてピッタリ重なるので体として同一視できるということでしょう。 しかし、n 次の単位行列 E_n に対して { xE_n | x ∈ K } と K が同型だからといって、E_2 と E_3 の和や積を考えるのは乱暴すぎます。 考えましたが矛盾を見つけることができなかったので、どこが矛盾していると思われるのか気になります...。

memoryterm
質問者

補足

ご回答ありがとうございました。ご返信が大変、遅くなりまして申し訳ありません。 気にされている点についてですが、一般に、2つの集合AとBが同一視できるといっても、Aにおける演算とBにおける演算が同一視できるのであって、Aの元とBの元の演算が定義できるわけではないということだと思いますが....

  • jlglg
  • ベストアンサー率32% (8/25)
回答No.3

スカラー倍はどんな行列にも掛けることができる。 しかし、1 × 1 行列は、 1 × 1 行列と1 × n 行列の積、 m × 1 行列と1 × 1 行列の積、 しか定義されていない、ということですね。 以前僕も似たようなことで悩んだことがあります。(今でも完全に納得しているわけではありませんが。) http://oshiete1.goo.ne.jp/kotaeru.php3?q=2149524 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2149556 今思うに、行列の一部がベクトル、ベクトルの一部がスカラー、というわけではないと認識しています。 つまり、行列とベクトルとスカラーを統一して、全部を行列だけを使って理論構成はできないと思っています。 でも、統一理論があればおもしろいですね。

memoryterm
質問者

お礼

ご回答ありがとうございました。また、返信が大変遅くなりまして申し訳ありません。stomachman さんが回答されていますが、「スカラーを何と同一視するかは場合によりけり」ということで切り抜けられるような気がします。

  • tuort_sig
  • ベストアンサー率19% (17/87)
回答No.2

行列の積の定義は >m × n 行列とn × l 行列の積が m × l 行列になる ではなくて αをm×n行列の成分、βをn×p行列の成分、γをm×p 行列の成分としたとき、以下の総和で定義されます γij=Σ[k=1→n]αikβkj ijkは添え字で、例えばαijだと成分αの行列のi行j列成分を表します 次に、問題点の指摘ですが memoryterm様は行列の積を型で単純に決まるものだと考えておられますが、それは十分条件であり、定義としては不十分です。成分スケールで定義が成されていることに注意が必要です

memoryterm
質問者

お礼

ご回答ありがとうございました。また、返信が大変遅くなりまして申し訳ありません。行列の定義はその成分をどう定めるかにほかならないので行列の積の定義はご指摘の通りです。そして、その結果として、m × n 行列とn × l 行列の積が m × l 行列になるという行列の積の演算規則が生じるものと認識しています。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

そりゃ、 (A) 1 × 1 行列をスカラーと同一視することと、 (B) 1 × 1 行列を行列に掛ける演算をスカラーを行列に掛ける演算と同一視すること とは別の話だからじゃないでしょうか。例えばテンソル積だと思えばおかしくないのでは?

関連するQ&A

  • 転置行列 証明 行列の積

    転置行列の証明について疑問点があるので 質問させて頂きます。 t(AB)=t(B)t(A) の証明について。以下に示します。 行列 A の (i,j) 成分を A[i,j] と書くことにします。 行列Bも同様。 (t(AB))[i,j] = (AB)[j,i] = Σ A[j,k] B[k,i] = Σ (tA)[k,j] (tB)[i,k]  …(1) = Σ (tB)[i,k] (tA)[k,j]  …(2) = ((tB)(tA))[i,j] よって、 t(AB) = (tB)(tA) (1)についてよくわかりません。 行列の積は、 (l,m)行列と(m,n)行列の積は(l,n)行列と定義されますが (1)は(m,l)行列と(n,m)行列の積を計算することに ならないのでしょうか? (m,l)行列と(n,m)行列の積は定義されないので等式でつないでは いけないのでは?と考えた次第です。 以上、ご指摘、ご回答よろしくお願い致します。

  • 行列の積 内積 の関係について

    行列の積 内積 の関係について 行列の積と内積は同じであると説明があったのですが、 よく分かりません・・・ 例えば、A=(3、-2,1),B=(4,6,7)のベクトルの内積は A・B=(3×4)+(-2×6)+(1×7)=7となるのですが、 行列の積は(1行3列)×(1行3列)で計算できません。 どちらかのベクトルを転置化すれば計算できるのですが・・・ 列ベクトルや行ベクトルは転置しても同じベクトルなのでOKと言う事でしょうか? 内積の演算結果はスカラー(数値)で、行列の積の演算結果は 行列と認識しているのですがこの認識は誤りでしょうか? 列ベクトルや行ベクトルの積の場合はスカラーとなるのでしょうか? A=(3、-2,1),B=(4,6,7)において、ベクトルBを転置化してtBとすれば A×tB=(7)となります。これはスカラーとなりますでしょうか? (追加質問) また、以前ノルムに関して質問させて頂きました。 ご回答頂いた内容で大凡理解できたのですが、追加で一点だけ質問させて下さい。 VのベクトルAに対して、ノルムは ||A||=√(A・A)とされますが、これを||A||=√(A^2)と表記するのはおかしいのでしょうか?

  • Aを(l,m)型行列、Bを(m,n)型行列にする

    Aを(l,m)型行列、Bを(m,n)型行列にする (1)ABが正方行列になるとき、積BAも定義され、正方行列になることを示せ (2)ABとBAがともに同じ次数の正方行列となる条件を求めよ この問題をできる人! 良い解答解説をお待ちしています

  • (汎用的に)行列の積を求めるプログラム

    L*M実行列A , M*N実行列B , M*N実行列C を引数として、A*BをCに代入するプログラムを作りたいと思っています。 具体的には、エラーがでるのはわかっていますがイメージとして void multiply(int L,int M,int N,double A[L][M],double B[M][N],double C[L][N]) {       for(int l=0;l<L;l++)    for(int n=0;n<N;n++)    C[l][n]=0;       for(int l=0;l<L;l++){            for(int m=0;m<M;m++){                   for(int n=0;n<N;n++)       C[l][n]+=A[l][m]*B[m][n];            }      } } という感じです。Cを自分なりに学習したところ、「2次元配列を渡すには行or列数が少なくとも既知でないといけない」のは知識として得ているのですが、ではこの問題を回避して所望のプログラムを書け、と言われると行き詰ってしまいました。 卒論をするにあたり、種々のサイズの行列演算が必要なので、できるだけ効率的な関数を書いておきたいのですが、どうすれば一般の行列の積の演算が可能になるのでしょうか?

  • 行列の積の意味

    まだ学習し始めたばかりなので用語が間違っているかもしれないのですが、 行列の積の意味はn次元空間上の或る点を別の位置に移す事を表現しているとも考えられる、 と会ったのですが、よくわかりません。 ”行列のスカラー倍”の場合はベクトルが移動して拡大という考え方(間違っているかも)で納得したのですが、画像のような場合、a,b,c,dは何を意味するのでしょうか?a=x1,b=x2,c=y1,d=y2 といった感じでしょうか?可視化したものを見てみたいのです。

  • 行列の問題です。

    行列の問題です。 (1)エルミート行列の固有値は実数であることを示せ。 (2)ユニタリー演算子を行列で表現したものはユニタリー行列になることを示せ。 (3)2つのユニタリー演算子U1とU2の積U1U2はユニタリー演算子であることを示せ。 ※(3)の1・2はUの添え字です。 回答お願いいたします。

  • 転置行列 証明

    転置行列 証明 t(AB)=t(B)t(A) の証明について。 (l,m)行列をAとしてAの(i,j)成分をa(i,j) (m,n)行列をBとしてBの(i,j)成分をb(i,j) 2つの行列の積の(i,j)成分は Σ[k=1~m]a(ik)b(kj)と定義されます。 ABの転置行列t(AB)の(i,j)成分t(AB)(i,j)=(AB)(j,i) よって、 Σ[k=1~m]a(jk)b(ki)・・・(1) =Σ[k=1~m]t(a(jk))t(b(ki))・・・(2) =Σ[k=1~m]a(kj)b(ik)・・・(3) =Σ[k=1~m]b(ik)b(kj)・・・(4) =t(B)t(A) 上は参考書などでよく見る証明なのですが、(3)ってそもそも計算できるのですか? (1)~(4)までの流れは理解できるのですが、(3)を等式でつないでいいのかと気になりました。 (l,m)行列と(m,n)行列の積は(l,n)行列と定義されますが、(3)とは関係ないのでしょうか? ご回答よろしくお願い致します。

  • 行列式の性質

    Aを(m,n)行列、Bを(n,m)行列とするとき、m>nならば、AとBの積ABの行列式|AB|は0になる。これをどうやったら証明できるのかわかりません。おそらくは、行列のある行(列)の成分が0のとき行列式が0となる性質を使うおもうのですが。

  • 行列(ベクトル)で括る

    行列の演算規則がわからないので質問します。不動点を求める問題で、Aを1次変換、Eを2次の単位行列とし、A→x=E→xを(A-E)→x=→O・・・(1)としているのが疑問です。 自分は、行列の積については交換法則が成り立たないので、不用意に文字式のように変形を行わないようにという注意書きや、 (A+B)(A-B)=A^2-(AB-BA)-B^2≠A^2-B^2などの例を見て、行列を因数分解できないときがあるという考えになりました。ただ、1つの正方行列Aの累乗と単位行列Eだけの式は普通の整式のように計算できる。との記述もあり頭が混乱しています。(1)が変形できるのは、行列の積は移項でき、分配法則も成り立つからでよいでしょうか?どなたか(1)が因数分解のように変形できる理由を教えてください。お願いします。

  • 正則な行列によってできる行列は正則か?

    正則である行列A,Bがあるとします. この時,この行列のみの積を用いて行列を作った場合(例えばAB^-1Aなど),その行列は必ず正則であると言えるのでしょうか? もしくは,演算後の行列が正則であるかどうかは別問題であるのでしょうか? 反例や証明等があれば教えていただきたいです. よろしくお願いします.