• ベストアンサー

mathematicaの行列の掛け算に関して

mathematicaで行列の掛け算をしたいのですが、 2x2行列同時の計算は普通にできるのですが、 1x2行列と2x1行列の計算ができません。行列の大きさが変わる場合どのようにすればいいのでしょうか? (3,5)*(45 14)^T (Tは転置行列として解釈してください。) 実行しようとしたら互いに長さが等しい同時のオブジェクトしか結合できませんとでます。

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

  • ベストアンサー
  • 330k
  • ベストアンサー率100% (6/6)
回答No.3

Mathematicaでは行列はリストのリストです. 従って {{3, 5}} . {{45}, {14}} とすればできます. ちなみにベクトルの内積として計算するのならば {3, 5} . {45, 14} とします. 行列(リストのリスト)とベクトル(リスト)の違いに注意しましょう.

参考URL:
http://reference.wolfram.com/mathematica/tutorial/VectorsAndMatrices.html
fallen4487
質問者

お礼

ありがとうございました。理解しました。

その他の回答 (2)

  • leo-ultra
  • ベストアンサー率45% (228/501)
回答No.2

確かMathematicaでは1x2行列(いわゆるベクトルちっくなもの)は行列として認識されません。だから転置も作用しません。 確か、1xn行列を入力してもnx1行列を入力しても どちらもnx1行列として認識されます。 (方法があるのかもしれませんが知りません。) 定義に戻って入力する c[[i]]=Σa[[i,j]]b[[j]]

fallen4487
質問者

お礼

ありがとうございました。理解しました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

で, (3, 5) と (45, 15)^T の「積」として何がお望み?

fallen4487
質問者

お礼

ありがとうございました。理解しました。

関連するQ&A

  • 行列の連立方程式 (mathematica)

    mathematica4.1を使用して,行列で表した連立方程式を計算したいと思っています.例えば A= a11 a12 a13 a21 a22 a23 a31 a32 a33 B=b11 b12 b13 b21 b22 b23 b31 b32 b33 C,Dも同様に定義して A .x+B .y=1 C .x+D .y=0 x=x1 y=y1 x2 y2 x3 y3 のような連立方程式のx,yについて解きたいのですが,どのようにmathematicaで表現すればよいかが分かりません. どなたか教えてください.お願いします. 当然ではありますが,A,B,C,Dはすべて既知としています.

  • 行列の計算がわかりません。

    行列の計算がわかりません。 お世話になっております。転置行列の入っている計算がわからなくて質問しました。 (y-H・x)^t×(y-H・x)=x^t・H^t・H・x-2x^t・H^t・y+y^t・y 答えの二項目がこうなる理由がわかりません。 式からするとy^t・H・x=x^t・H^t・yとなるのですよね?(H・x)^t・y=x^t・H^t・yとなるのはわかるのですが、y^t・H・x=x^t・H^t・yのように転置になる行列が変わっても等式が成り立つなんてことは知りませんでした。これは行列の性質として存在しているものなのでしょうか?調べた限りそのような性質はなかったと思います。それとも自分がなにか勘違いしているのでしょうか? 回答お願いいたします

  • 数学の行列(連立一次方程式)の問題です。

    実対称行列Aについて、次の問いに答えよ。ただし、 A= 2 -1 0 -1 3 -1 0 -1 2 である。 λをdet(λI-A)≠0を満たす実数とする。ただし、Iは3×3の単位行列であり、 det(λI-A)は(λI-A)の行列式を表す。ここでベクトルxを一次方程式 (λI-A)x=b の解とする。ただし、 b=(3 -1 1)^T である。(Tは転置の意味である。)このときx^Txが以下の式で表されることを示せ。 x^Tx=3/(λ-1)^2+2/(λ-2)^2+6/(λ-4)^2 という問題です。 私の考えた解法は、 x=(x1 x2 x3)^Tとおき、クラメルの公式をつかってx1、x2、x3をそれぞれ求め、xとし、それを転置したx^Tとを掛け合わせるという方法なのですが、これだと答えが合いません。 どなたかご教授下さい。よろしくお願いいたします。 行列の書き方がわかりづらくてごめんなさい。

  • 行列の質問です

    0<p,q p+q=1という条件下で P=| p 1-p | | 1-p q | という行列Pに対して   行列Pの固有値はλ=0,1と算出できました。 最大固有値に対する長さ1の固有ベクトルxを求めよ。 という問題の『最大固有値』というのはλ=0,1の大きい方の1ということでいいのでしょうか?また、その結果計算して x=t≠0として   | x | = t | 1 |  | y |   | 1 | という答えを出しました。 自分は『長さ1の固有ベクトル』というところが気になってt=1でいいのか悩みました。 最後に A'y = λy かつ x'y = 1 を満たすベクトルyを求めよ(『'』は転置、λはもう一つの固有値)という問題ですが、『λはもう一つの固有値というのは最初に求めたλ=0,1と先ほど使った最大固有値λ=1以外のλ=0で計算するということでしょうか?転置等理解していますが計算がおかしくなってしまいます。 質問が多くてすみません。最後の問題は何かいい解き方はないでしょうか? また、解答がないので私の解いた問題の間違いなどございましたらご指摘いただけますでしょうか? よろしくお願いいたします。

  • 困る

    実対称行列Xを  X= X11 0 0  X22 X11=X11T(X11の転置行列)  X22=X22T(同じく)  で定義する  このとき X>0となる必要十分条件は        X11>0   X22>0 であることを示せ(正定値性の定義に基づいて証明する) 5555555555555 助けて

  • 対称行列の固有ベクトル

    対称行列の固有ベクトルは互いに垂直という性質がありますが、 固有ベクトル AX1=λ1 X1、 AX2=λ2 X2 の式から n次の対称行列Aは次のように書き表すことができます A= λ1 X1 X1^t +λ2 X2 X2^t+ ・・・ +λn Xn Xn^t なぜ固有ベクトルの式から対称行列の式が表すことができるのでしょうか? 証明を教えてください。よろしくお願いします。

  • Mathematicaにおける関数定義と部分積分

    Mathematicaにおける関数定義と部分積分 u[t_,x_]:=u[t,x] のように定義し、 u[t,x]に0を代入した場合、 u[t,l]の計算結果が0になってほしいのですが、 u[t,l]となってしまいます。 /.u[t,x]->0 とした場合に、u[t,x]の項だけでなく、u[t,l]の項も0になってほしいのです。 どのようにすれば、所望の動作をさせることができますか? また、Integrate[f[x]*g[x],{x,0,l}]で部分積分を実行したいのですが、 Mathematicaはやってくれません。 関数形のまま扱い、任意の回数部分積分を実行したいのです。 やはり、自分で関数を作るしなかないのでしょうか? 何かヒントがあれば、教えていただければ幸いです。 よろしくお願いいたします。

  • ある行列とその転置行列の積の逆行列は?

    今エクセルで行列を使って問題を解いています。 問題は 行列X、A、Yがあり、Xは1行4列、Aは1行2列、Yは1行4列です。 X・A=Y という式があり、Aの行列は未知数a,bの要素からなっています。 X,Yはそれぞれ数値として要素が決まっています。 ここからはヒントとして表示されていました。 そこでXの逆行列を両辺の左からかけるとAは求まるはずですが、 Xは正方行列ではないので、Xの転置行列を左からかけます。 X(T)・Xは正方行列になるのでこれを行列Pとおくと Pの逆行列を求められ、右辺にP^-1をかけるとAが求まる。 というものです。 エクセルで書かれている通りにやってみて、エラーになるので調べてみると、XとXの転置行列の積の行列式は要素にかかわらず0になるようです。 実際に数値ではなく、abcdでやってみたところ0のようです。 この場合、逆行列は存在しないのではないかと思いますが、このヒントが間違っているとはあまり思えず、困っています。 補足ですが、この問題は最小二乗法をエクセルで行列を用いて行うという趣旨です。 もとのデータとして(x、y)の座標が4点与えられており、行列Xはxの要素を縦にならべたもの、Aは最小二乗法で求める一次関数式のパラメーターa,bで、YはXと同様座標のy要素です。 私の理解が間違っていて、何行何列という部分に誤りがあるなどの指摘があれば、ぜひお願いいたします。 そもそもある行列とその転置行列の積の逆行列は存在するのかどうかもお願いします。 締め切りが近く、ちょっとあせっています。 よろしくお願いします!!

  • 次の行列式を対角化しなさいという問題なのですが、教えてください。

    次の行列式を対角化しなさいという問題なのですが、教えてください。 | 4 2 2 | | 2 1 1 | | 2 1 1 |を対角化する問題です。 固有値は、0と6と求められたのですがそのあとが分かりません。 6に対応する固有ベクトルは、x1が2、x2が1、x3が1で求めることができました。 0に対応する固有ベクトルが分かりません。 上の行列を基本変形し、 | 2 1 1 | とするところまではたどりつきました。 | 0 0 0 | | 0 0 0 | 自由度は、未知数-rankなので、自由度2となり、 x2をt1とおき、x3をt2とおき計算してみました。 そしたら、x1=t1,x2=t2,x3=-2t1-t2となり、 最終的に、   | 1 |    | 0 |  t1| 0 |+ t3| 1 |   |-2 |    |-1 | となったのですが、解説を見てみるとあっていません。 どのようにすればよいのでしょうか? 教科書などのやり方を見てみるとこのようなやり方であっているような気がするのですが。

  • 内積と転置行列 

    わかりにくい、行列の表現ですいません。[ ]でくくって行列とし、 , で区切って次の行に移します。t^AでAの転置行列を表します。 A=[a b,b c]があります。固有値λ1,λ2に対応する固有ベクトルをそれぞれ、h1=[x1,y1] h2=[x2,y2]とします。ただしこれらの固有ベクトルの大きさは1であるとします。すると次の2つの式が成り立ちます。 Ah1=λ1h1,Ah2=λ2h2  λ1h1にh2を内積すると次のようになります。ここからが解説してほしい箇所です。 λ1t^h1h2=t^(Ah1)h2=t^h1t^Ah2=t^h1Ah2=t^h1λ2h2=λ2t^h1h2 t^(Ah1)h2やt^h1Ah2などは左辺から、どのような規則から計算できるかわかりません。 どなたか解説お願いします。