- 締切済み
Javascriptでの行列計算
Javascriptでの行列計算 Javascriptで行列計算のプログラミングの作成を考えています。 例として、 G*v=I が成り立つと仮定し、vのベクターを求めたいのです。 Gはn*nの行列で、Iはn*1のベクターです。nは最大で10000になります。一次連立方程式を使ってvベクターを求めることは可能ですか?効率のいいアルゴリズムはありますでしょうか?消去法を使えばいいのかなと考えていますが,行列計算に関してあまり知識がないので、ここで質問させていただきました。
- ibuneko
- お礼率19% (9/46)
- JavaScript
- 回答数2
- ありがとう数8
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
G の形に前提条件がないなら消去法を選ぶのがもっとも無難. もちろん #1 で言われるように「スクリプト言語はたいてい遅い」ということは覚悟しなければなりません.
- yorozu_ya
- ベストアンサー率54% (76/140)
> nは最大で10000になります。 Script言語は一般に遅いです。 他の言語を選択することをお勧めします。
お礼
Javascriptを使ってinterfaceを作っていたので、行列計算もjavascriptでやりたいと思っていたのですが、やはり、Cなどの言語を使ってみようと思います。cgiを使うとページが飛んでしまうので、それを避けたかったのですが、jqueryで非同期通信をいうのを見つけたので、その方法でやってみたいと思います。回答ありがとうございました。
関連するQ&A
- 行列の計算
お恥ずかしいながら、行列の計算でてこずっております。 以下の問題です。 行列A、Bをn×n行列とする。 また行列Aのi,j成分をa(i,j)とし、行列Bのi,j成分をb(i,j)とする。 ここで a(i,j) = {n-i+1 (1≦j≦i), n-j+1(i+1≦j≦n)} b(i,j) = {1(i=j=1), 0(i≠j-1, j, j+1), -1(i=j-1, j+1), 2(j=k)} である。 このとき、行列A×Bのi,j成分を求めよ。 という問題です。 答えはi=jのとき1,i≠jのとき0 (つまり、A×B=I(n×nの単位行列)) なのですが、そこまでの計算のプロセスが分かりません。 分かり易いご解答をお待ちしております。
- ベストアンサー
- 数学・算数
- Σの計算について(行列を含む)
よろしくお願いします。 以下のΣの計算になりますが行列を含みます。 このことによりちょっと混乱が生じ、正しい解答を導くことができません。 順序立てて回答を頂けると幸いです。 N=10で構いません。 N Y = Σ(A) ・x^n・x^(N-n) n=1 行列 A は以下のように1行2列です(括弧がうまく書けません)。 N n
- 締切済み
- 数学・算数
- 松坂『線形代数入門』:表現行列の標準系
本書のp205の命題6.10 V,Wをそれぞれn次元、m次元のベクトル空間とし、F:V→Wを線形写像とする。Fの階数がrならば、V、Wの基底α、βを適当に選んで、Fを次の形の行列で表現することができる [I_r O_r,n-r Om-r,r Om-r,n-r] I_rはr次の単位行列、Oはそれぞれ付記された添数の型の零行列を表す。 r次の単位行列を0で埋めてm*nにした行列です。 教科書の証明は KerFはn-r次元であるから、その基底を{v_r+1,...,v_n}とするとして、 それを拡張したVの基底を{v_1,...,v_r,v_r+1,...,v_n}とするそのとき F(v_1)=w_1, ..., F(v_r)=w_r とおけば、{w_1, ... , w_r}はImFの基底となる。 そこで{w_1, ... , w_r}を拡張したWの基底を{w_1, ... , w_r , w_r+1, ... ,w_n}とすれば F(v_r+1)=0 , ... ,F(v_n)=0 より表現行列は明らかに上で示した形になる。 なぜこれで示せているのかわからないです…
- ベストアンサー
- 数学・算数
- 行列の問題を教えてください。
行列の問題で解けなくて困っています. よろしければ教えていただけないでしょうか。 行列に関係する以下の問い(1)~(4)に答えよ。 (1)2行2列の行列をAとする。さらにその固有値をλ1,λ2(λ1≠λ2)とし、それぞれに付随する固有ベクトルを(x1,y1)と(x2,y2)とする。 P≡ |x1 x2| |y1 y2| と置くと、固有値と固有ベクトルの定義から AP=P|λ1 0| |0 λ2| と書ける。ここから、 A=P|λ1 0|P^-1 | 0 λ2| および A^n=P|λ1 0|^nP^-1 |0 λ2| となることを示せ。ここでP^-1はPの逆行列、nは正の整数、A^nは行列Aのn乗を示す。 (2)固有値が1と-1である2行2列の行列Bがある。この行列のn乗B^nを求めよ。さらにその逆行列(B^n)^-1を求めよ。B^nと(B^n)^-1の両方において、nが偶数と奇数で答えが異なるので、両者を区別して答えを示せ。必要なら2つの正則な正方行列B1、B2の積の逆行列が (B1B2)^-1=B2^-1B1^-1 となることを使え。 (3)固有値が1と-1で、それぞれに付随する固有ベクトルが(2,1)と(1,1)である2行2列の行列Cを求めよ。 (4)xとyを未知数とする次の連立方程式 |3 -4|^21 |x| =|10| |2 -3| |y| |7| を解け。ここで |3 -4|^21 |2 -3| は行列 |3 -4| |2 -3| の21乗を表す。 という問題です。 計算過程、解答のほうをどうかよろしくお願いいたします。
- ベストアンサー
- 数学・算数
- 行列の分割に関する問題の解答をお願いします。
n次正方行列Aとn次列ベクトルvに対して、(n+1)次正方行列T(A,v)を T(A,v)=|A v| |O 1| とおいて定めるとき、次の問いに答えよ。 (1)n次正方行列A,Bとn次列ベクトルu,vに対して、 T(A,u)T(B,v)=T(C,w) となるC,wをA,B,u,vを用いて表せ。 (2)Aが正則行列であるとき、T(A,v)も正則行列であることを示し、その逆行列T(A,v)^-1を分割した行列の形で求めよ。 よろしくお願いします。
- ベストアンサー
- 数学・算数
- 逆行列
逆行列の証明です。 わかる方、教えてください。 n次元のベクトル、x_1~x_k (1≦k≦n)は1次独立であると仮定したとき、(g(αβ))=x_α ・ x_β (注…xは太字で表していませんがベクトルなので、右辺はもちろん内積です。ちなみにここでの添字α,βはベクトルの要素を表すのではなく、ベクトルの番号を表します) を(α,β)要素とするようなk次の正方行列G=(g(αβ))を考える。 このとき、Gの逆行列G(-1)=(g(αβ))(-1)が必ず存在することを証明してください。 ーーーーーー おそらく行列式を用いて証明するのでしょうが、はじめの1次独立という仮定をうまく利用できません。2次形式を用いてみたら?というアドバイスもいただいたのですが、こっちのほうがもっと手付かずです。 どなたかわかる方、書き表し方が見にくくてすみませんが教えてください。 あと、(g(αβ))(-1)は(g(αβ))の逆行列です。
- 締切済み
- 数学・算数
- 線形代数 行列式
分からないのは以下の問題です. 次の連立1次方程式を考える。 (1+λ[1])x[1] + λ[1]x[2] + λ[1]x[3] + ・・・+λ[1]x[n] =λ[1] λ[2]x[1] + (1+λ[2])x[2] + λ[2]x[3] + ・・・+λ[2]x[n] =λ[2] ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ λ[n]x[1] + λ[n]x[2] + λ[n]x[3] + ・・・+(1+λ[n])x[n] =λ[n] 以下の問いに答えよ. (a)この連立1次方程式の係数行列をAとする.Aの行列式|A|を求めよ. (b)|A|≠0のとき,この連立1次方程式の会を求めよ. (a)は |A|= |(1+λ[1]) + λ[1] + λ[1] + ・・・+λ[1]| |λ[2] + (1+λ[2]) + λ[2]+ ・・・+λ[2] | | ・ ・ ・ ・| | ・ ・ ・ ・| | λ[n] + λ[n] + λ[n] + ・・・+(1+λ[n])| となり (1+λ[1]+λ[2]+・・λ[n])でくくりだせて、計算していくと (1+λ[1]+λ[2]+・・λ[n])となるのですが、答えはこれで合っているのでしょうか? (b)はわかりません。 答えがないので分かる方、教えてください。
- ベストアンサー
- 数学・算数
お礼
消去法がやはり一般的のようですね。あと、早さを考えるなら、javascriptはやはり、難しいですね。回答ありがとうございます。