determinant Calculator

ブラウザ上で動作するJavaScriptによる行列式計算機「determinant Calculator」を作ってみた。
2次正方行列D、3次正方行列T、4次正方行列Qに関して、その行列式を求め、
クラメル(Cramer)の公式を用いて、拡大係数行列の形で与えられた連立方程式の解を求める。
逆行列も求められるが、出力される数値は単なる余因子行列に過ぎないので、
実際の逆行列を求める場合は、これを行列式で割る必要がある点には注意が必要である。



2次正方行列D

d11 d12 p
d21 d22 q

detD=|D|=

クラメル(Cramer)の公式より、
detD1=|D1|= x=|D1|/|D|=
detD2=|D2|= y=|D2|/|D|=

逆行列D-1の各成分は、次の各出力値を行列式|D|で割ったものである。
d11-1/|D| d12-1/|D|
d21-1/|D| d22-1/|D|



3次正方行列T

t11 t12 t13 p
t21 t22 t23 q
t31 t32 t33 r

detT=|T|=

クラメル(Cramer)の公式より、
detT1=|T1|= x=|T1|/|T|=
detT2=|T2|= y=|T2|/|T|=
detT3=|T3|= z=|T3|/|T|=

逆行列T-1の各成分は、次の各出力値を行列式|T|で割ったものである。
t11-1/|T| t12-1/|T| t13-1/|T|
t21-1/|T| t22-1/|T| t23-1/|T|
t31-1/|T| t32-1/|T| t33-1/|T|



4次正方行列Q

q11 q12 q13 q14 p
q21 q22 q23 q24 q
q31 q32 q33 q34 r
q41 q42 q43 q44 s

detQ=|Q|=

クラメル(Cramer)の公式より、
detQ1=|Q1|= x=|Q1|/|Q|=
detQ2=|Q2|= y=|Q2|/|Q|=
detQ3=|Q3|= z=|Q3|/|Q|=
detQ4=|Q4|= w=|Q4|/|Q|=

逆行列Q-1の各成分は、次の各出力値を行列式|Q|で割ったものである。
q11-1/|Q| q12-1/|Q| q13-1/|Q| q14-1/|Q|
q21-1/|Q| q22-1/|Q| q23-1/|Q| q24-1/|Q|
q31-1/|Q| q32-1/|Q| q33-1/|Q| q34-1/|Q|
q41-1/|Q| q42-1/|Q| q43-1/|Q| q44-1/|Q|



ソースコード(旧版)

determinantcalculator.html

<h2>2次正方行列D</h2>
<form name="matrixD">
<table border="5">
<tr>
<td align="center">d<sub>11</sub>=<input type="text" name="d11"></td>
<td align="center">d<sub>12</sub>=<input type="text" name="d12"></td>
<td align="center"><i>p</i>=<input type="text" name="dp"></td>
</tr>
<tr>
<td align="center">d<sub>21</sub>=<input type="text" name="d21"></td>
<td align="center">d<sub>22</sub>=<input type="text" name="d22"></td>
<td align="center"><i>q</i>=<input type="text" name="dq"></td>
</tr>
</table>

<br><input type="button" value="計算する" onClick="determinant2()">
detD=|D|=<input type="text" name="detD"><br>

<br>

クラメル(Cramer)の公式より、<br>
<table border="5">
<tr>
<td align="center">detD<sub>1</sub>=|D<sub>1</sub>|=<input type="text" name="detD1"></td>
<td align="center"><i>x</i>=|D<sub>1</sub>|/|D|=<input type="text" name="dx"></td>
</tr>
<tr>
<td align="center">detD<sub>2</sub>=|D<sub>2</sub>|=<input type="text" name="detD2"></td>
<td align="center"><i>y</i>=|D<sub>2</sub>|/|D|=<input type="text" name="dy"></td>
</tr>
</table>

<br>

逆行列D<sup>-1</sup>の各成分は、次の各出力値を行列式|D|で割ったものである。<br>
<table border="5">
<tr>
<td align="center">d<sub>11</sub><sup>-1</sup>=<input type="text" name="d11inverse">/|D|</td>
<td align="center">d<sub>12</sub><sup>-1</sup>=<input type="text" name="d12inverse">/|D|</td>
</tr>
<tr>
<td align="center">d<sub>21</sub><sup>-1</sup>=<input type="text" name="d21inverse">/|D|</td>
<td align="center">d<sub>22</sub><sup>-1</sup>=<input type="text" name="d22inverse">/|D|</td>
</tr>
</table>
</form>

<br><hr><br>

<h2>3次正方行列T</h2>
<form name="matrixT">
<table border="5">
<tr>
<td align="center">t<sub>11</sub>=<input type="text" name="t11"></td>
<td align="center">t<sub>12</sub>=<input type="text" name="t12"></td>
<td align="center">t<sub>13</sub>=<input type="text" name="t13"></td>
<td align="center"><i>p</i>=<input type="text" name="tp"></td>
</tr>
<tr>
<td align="center">t<sub>21</sub>=<input type="text" name="t21"></td>
<td align="center">t<sub>22</sub>=<input type="text" name="t22"></td>
<td align="center">t<sub>23</sub>=<input type="text" name="t23"></td>
<td align="center"><i>q</i>=<input type="text" name="tq"></td>
</tr>
<tr>
<td align="center">t<sub>31</sub>=<input type="text" name="t31"></td>
<td align="center">t<sub>32</sub>=<input type="text" name="t32"></td>
<td align="center">t<sub>33</sub>=<input type="text" name="t33"></td>
<td align="center"><i>r</i>=<input type="text" name="tr"></td>
</tr>
</table>

<br><input type="button" value="計算する" onClick="determinant3()">
detT=|T|=<input type="text" name="detT"><br>

<br>

クラメル(Cramer)の公式より、<br>
<table border="5">
<tr>
<td align="center">detT<sub>1</sub>=|T<sub>1</sub>|=<input type="text" name="detT1"></td>
<td align="center"><i>x</i>=|T<sub>1</sub>|/|T|=<input type="text" name="tx"></td>
</tr>
<tr>
<td align="center">detT<sub>2</sub>=|T<sub>2</sub>|=<input type="text" name="detT2"></td>
<td align="center"><i>y</i>=|T<sub>2</sub>|/|T|=<input type="text" name="ty"></td>
</tr>
<tr>
<td align="center">detT<sub>3</sub>=|T<sub>3</sub>|=<input type="text" name="detT3"></td>
<td align="center"><i>z</i>=|T<sub>3</sub>|/|T|=<input type="text" name="tz"></td>
</tr>
</table>

<br>

逆行列T<sup>-1</sup>の各成分は、次の各出力値を行列式|T|で割ったものである。<br>
<table border="5">
<tr>
<td align="center">t<sub>11</sub><sup>-1</sup>=<input type="text" name="t11inverse">/|T|</td>
<td align="center">t<sub>12</sub><sup>-1</sup>=<input type="text" name="t12inverse">/|T|</td>
<td align="center">t<sub>13</sub><sup>-1</sup>=<input type="text" name="t13inverse">/|T|</td>
</tr>
<tr>
<td align="center">t<sub>21</sub><sup>-1</sup>=<input type="text" name="t21inverse">/|T|</td>
<td align="center">t<sub>22</sub><sup>-1</sup>=<input type="text" name="t22inverse">/|T|</td>
<td align="center">t<sub>23</sub><sup>-1</sup>=<input type="text" name="t23inverse">/|T|</td>
</tr>
<tr>
<td align="center">t<sub>31</sub><sup>-1</sup>=<input type="text" name="t31inverse">/|T|</td>
<td align="center">t<sub>32</sub><sup>-1</sup>=<input type="text" name="t32inverse">/|T|</td>
<td align="center">t<sub>33</sub><sup>-1</sup>=<input type="text" name="t33inverse">/|T|</td>
</tr>
</table>
</form>

<br><hr><br>

<h2>4次正方行列Q</h2>
<form name="matrixQ">
<table border="5">
<tr>
<td align="center">q<sub>11</sub>=<input type="text" name="q11"></td>
<td align="center">q<sub>12</sub>=<input type="text" name="q12"></td>
<td align="center">q<sub>13</sub>=<input type="text" name="q13"></td>
<td align="center">q<sub>14</sub>=<input type="text" name="q14"></td>
<td align="center"><i>p</i>=<input type="text" name="qp"></td>
</tr>
<tr>
<td align="center">q<sub>21</sub>=<input type="text" name="q21"></td>
<td align="center">q<sub>22</sub>=<input type="text" name="q22"></td>
<td align="center">q<sub>23</sub>=<input type="text" name="q23"></td>
<td align="center">q<sub>24</sub>=<input type="text" name="q24"></td>
<td align="center"><i>q</i>=<input type="text" name="qq"></td>
</tr>
<tr>
<td align="center">q<sub>31</sub>=<input type="text" name="q31"></td>
<td align="center">q<sub>32</sub>=<input type="text" name="q32"></td>
<td align="center">q<sub>33</sub>=<input type="text" name="q33"></td>
<td align="center">q<sub>34</sub>=<input type="text" name="q34"></td>
<td align="center"><i>r</i>=<input type="text" name="qr"></td>
</tr>
<tr>
<td align="center">q<sub>41</sub>=<input type="text" name="q41"></td>
<td align="center">q<sub>42</sub>=<input type="text" name="q42"></td>
<td align="center">q<sub>43</sub>=<input type="text" name="q43"></td>
<td align="center">q<sub>44</sub>=<input type="text" name="q44"></td>
<td align="center"><i>s</i>=<input type="text" name="qs"></td>
</tr>
</table>

<br><input type="button" value="計算する" onClick="determinant4()">
detQ=|Q|=<input type="text" name="detQ"><br>

<br>

クラメル(Cramer)の公式より、<br>
<table border="5">
<tr>
<td align="center">detQ<sub>1</sub>=|Q<sub>1</sub>|=<input type="text" name="detQ1"></td>
<td align="center"><i>x</i>=|Q<sub>1</sub>|/|Q|=<input type="text" name="qx"></td>
</tr>
<tr>
<td align="center">detQ<sub>2</sub>=|Q<sub>2</sub>|=<input type="text" name="detQ2"></td>
<td align="center"><i>y</i>=|Q<sub>2</sub>|/|Q|=<input type="text" name="qy"></td>
</tr>
<tr>
<td align="center">detQ<sub>3</sub>=|Q<sub>3</sub>|=<input type="text" name="detQ3"></td>
<td align="center"><i>z</i>=|Q<sub>3</sub>|/|Q|=<input type="text" name="qz"></td>
</tr>
<tr>
<td align="center">detQ<sub>4</sub>=|Q<sub>4</sub>|=<input type="text" name="detQ4"></td>
<td align="center"><i>w</i>=|Q<sub>4</sub>|/|Q|=<input type="text" name="qw"></td>
</tr>
</table>

<br>

逆行列Q<sup>-1</sup>の各成分は、次の各出力値を行列式|Q|で割ったものである。<br>
<table border="5">
<tr>
<td align="center">q<sub>11</sub><sup>-1</sup>=<input type="text" name="q11inverse">/|Q|</td>
<td align="center">q<sub>12</sub><sup>-1</sup>=<input type="text" name="q12inverse">/|Q|</td>
<td align="center">q<sub>13</sub><sup>-1</sup>=<input type="text" name="q13inverse">/|Q|</td>
<td align="center">q<sub>14</sub><sup>-1</sup>=<input type="text" name="q14inverse">/|Q|</td>
</tr>
<tr>
<td align="center">q<sub>21</sub><sup>-1</sup>=<input type="text" name="q21inverse">/|Q|</td>
<td align="center">q<sub>22</sub><sup>-1</sup>=<input type="text" name="q22inverse">/|Q|</td>
<td align="center">q<sub>23</sub><sup>-1</sup>=<input type="text" name="q23inverse">/|Q|</td>
<td align="center">q<sub>24</sub><sup>-1</sup>=<input type="text" name="q24inverse">/|Q|</td>
</tr>
<tr>
<td align="center">q<sub>31</sub><sup>-1</sup>=<input type="text" name="q31inverse">/|Q|</td>
<td align="center">q<sub>32</sub><sup>-1</sup>=<input type="text" name="q32inverse">/|Q|</td>
<td align="center">q<sub>33</sub><sup>-1</sup>=<input type="text" name="q33inverse">/|Q|</td>
<td align="center">q<sub>34</sub><sup>-1</sup>=<input type="text" name="q34inverse">/|Q|</td>
</tr>
<tr>
<td align="center">q<sub>41</sub><sup>-1</sup>=<input type="text" name="q41inverse">/|Q|</td>
<td align="center">q<sub>42</sub><sup>-1</sup>=<input type="text" name="q42inverse">/|Q|</td>
<td align="center">q<sub>43</sub><sup>-1</sup>=<input type="text" name="q43inverse">/|Q|</td>
<td align="center">q<sub>44</sub><sup>-1</sup>=<input type="text" name="q44inverse">/|Q|</td>
</tr>
</table>
</form>

determinantcalculator.js

function determinant2(){
  d11=parseFloat(document.matrixD.d11.value);
  d12=parseFloat(document.matrixD.d12.value);
  d21=parseFloat(document.matrixD.d21.value);
  d22=parseFloat(document.matrixD.d22.value);
  dp=parseFloat(document.matrixD.dp.value);
  dq=parseFloat(document.matrixD.dq.value);

  detD=d11*d22-d12*d21;
  detD1=dp*d22-d12*dq;
  detD2=d11*dq-dp*d21;
  dx=detD1/detD;
  dy=detD2/detD;

  d11inverse=d22;
  d12inverse=-d12;
  d21inverse=-d21;
  d22inverse=d11;

  document.matrixD.detD.value=parseFloat(""+detD);
  document.matrixD.detD1.value=parseFloat(""+detD1);
  document.matrixD.detD2.value=parseFloat(""+detD2);
  document.matrixD.dx.value=parseFloat(""+dx);
  document.matrixD.dy.value=parseFloat(""+dy);

  document.matrixD.d11inverse.value=parseFloat(""+d11inverse);
  document.matrixD.d12inverse.value=parseFloat(""+d12inverse);
  document.matrixD.d21inverse.value=parseFloat(""+d21inverse);
  document.matrixD.d22inverse.value=parseFloat(""+d22inverse);
}

function determinant3(){
  t11=parseFloat(document.matrixT.t11.value);
  t12=parseFloat(document.matrixT.t12.value);
  t13=parseFloat(document.matrixT.t13.value);
  t21=parseFloat(document.matrixT.t21.value);
  t22=parseFloat(document.matrixT.t22.value);
  t23=parseFloat(document.matrixT.t23.value);
  t31=parseFloat(document.matrixT.t31.value);
  t32=parseFloat(document.matrixT.t32.value);
  t33=parseFloat(document.matrixT.t33.value);
  tp=parseFloat(document.matrixT.tp.value);
  tq=parseFloat(document.matrixT.tq.value);
  tr=parseFloat(document.matrixT.tr.value);

  detT=t11*(t22*t33-t23*t32)+t12*(t23*t31-t21*t33)+t13*(t21*t32-t22*t31);
  detT1=tp*(t22*t33-t23*t32)+t12*(t23*tr-tq*t33)+t13*(tq*t32-t22*tr);
  detT2=t11*(tq*t33-t23*tr)+tp*(t23*t31-t21*t33)+t13*(t21*tr-tq*t31);
  detT3=t11*(t22*tr-tq*t32)+t12*(tq*t31-t21*tr)+tp*(t21*t32-t22*t31);
  tx=detT1/detT;
  ty=detT2/detT;
  tz=detT3/detT;

  t11inverse=t22*t33-t23*t32;
  t12inverse=t13*t32-t12*t33;
  t13inverse=t12*t23-t13*t22;
  t21inverse=t23*t31-t21*t33;
  t22inverse=t11*t33-t13*t31;
  t23inverse=t13*t21-t11*t23;
  t31inverse=t21*t32-t22*t31;
  t32inverse=t12*t31-t11*t32;
  t33inverse=t11*t22-t12*t21;

  document.matrixT.detT.value=parseFloat(""+detT);
  document.matrixT.detT1.value=parseFloat(""+detT1);
  document.matrixT.detT2.value=parseFloat(""+detT2);
  document.matrixT.detT3.value=parseFloat(""+detT3);
  document.matrixT.tx.value=parseFloat(""+tx);
  document.matrixT.ty.value=parseFloat(""+ty);
  document.matrixT.tz.value=parseFloat(""+tz);

  document.matrixT.t11inverse.value=parseFloat(""+t11inverse);
  document.matrixT.t12inverse.value=parseFloat(""+t12inverse);
  document.matrixT.t13inverse.value=parseFloat(""+t13inverse);
  document.matrixT.t21inverse.value=parseFloat(""+t21inverse);
  document.matrixT.t22inverse.value=parseFloat(""+t22inverse);
  document.matrixT.t23inverse.value=parseFloat(""+t23inverse);
  document.matrixT.t31inverse.value=parseFloat(""+t31inverse);
  document.matrixT.t32inverse.value=parseFloat(""+t32inverse);
  document.matrixT.t33inverse.value=parseFloat(""+t33inverse);
}

function determinant4(){
  q11=parseFloat(document.matrixQ.q11.value);
  q12=parseFloat(document.matrixQ.q12.value);
  q13=parseFloat(document.matrixQ.q13.value);
  q14=parseFloat(document.matrixQ.q14.value);
  q21=parseFloat(document.matrixQ.q21.value);
  q22=parseFloat(document.matrixQ.q22.value);
  q23=parseFloat(document.matrixQ.q23.value);
  q24=parseFloat(document.matrixQ.q24.value);
  q31=parseFloat(document.matrixQ.q31.value);
  q32=parseFloat(document.matrixQ.q32.value);
  q33=parseFloat(document.matrixQ.q33.value);
  q34=parseFloat(document.matrixQ.q34.value);
  q41=parseFloat(document.matrixQ.q41.value);
  q42=parseFloat(document.matrixQ.q42.value);
  q43=parseFloat(document.matrixQ.q43.value);
  q44=parseFloat(document.matrixQ.q44.value);
  qp=parseFloat(document.matrixQ.qp.value);
  qq=parseFloat(document.matrixQ.qq.value);
  qr=parseFloat(document.matrixQ.qr.value);
  qs=parseFloat(document.matrixQ.qs.value);

  QA=q22*(q33*q44-q34*q43)+q23*(q34*q42-q32*q44)+q24*(q32*q43-q33*q42);
  QB=q21*(q33*q44-q34*q43)+q23*(q34*q41-q31*q44)+q24*(q31*q43-q33*q41);
  QC=q21*(q32*q44-q34*q42)+q22*(q34*q41-q31*q44)+q24*(q31*q42-q32*q41);
  QD=q21*(q32*q43-q33*q42)+q22*(q33*q41-q31*q43)+q23*(q31*q42-q32*q41);
  detQ=q11*QA-q12*QB+q13*QC-q14*QD;

  Q1A=q22*(q33*q44-q34*q43)+q23*(q34*q42-q32*q44)+q24*(q32*q43-q33*q42);
  Q1B=qq*(q33*q44-q34*q43)+q23*(q34*qs-qr*q44)+q24*(qr*q43-q33*qs);
  Q1C=qq*(q32*q44-q34*q42)+q22*(q34*qs-qr*q44)+q24*(qr*q42-q32*qs);
  Q1D=qq*(q32*q43-q33*q42)+q22*(q33*qs-qr*q43)+q23*(qr*q42-q32*qs);
  detQ1=qp*Q1A-q12*Q1B+q13*Q1C-q14*Q1D;

  Q2A=qq*(q33*q44-q34*q43)+q23*(q34*qs-qr*q44)+q24*(qr*q43-q33*qs);
  Q2B=q21*(q33*q44-q34*q43)+q23*(q34*q41-q31*q44)+q24*(q31*q43-q33*q41);
  Q2C=q21*(qr*q44-q34*qs)+qq*(q34*q41-q31*q44)+q24*(q31*qs-qr*q41);
  Q2D=q21*(qr*q43-q33*qs)+qq*(q33*q41-q31*q43)+q23*(q31*qs-qr*q41);
  detQ2=q11*Q2A-qp*Q2B+q13*Q2C-q14*Q2D;

  Q3A=q22*(qr*q44-q34*qs)+qq*(q34*q42-q32*q44)+q24*(q32*qs-qr*q42);
  Q3B=q21*(qr*q44-q34*qs)+qq*(q34*q41-q31*q44)+q24*(q31*qs-qr*q41);
  Q3C=q21*(q32*q44-q34*q42)+q22*(q34*q41-q31*q44)+q24*(q31*q42-q32*q41);
  Q3D=q21*(q32*qs-qr*q42)+q22*(qr*q41-q31*qs)+qq*(q31*q42-q32*q41);
  detQ3=q11*Q3A-q12*Q3B+qp*Q3C-q14*Q3D;

  Q4A=q22*(q33*qs-qr*q43)+q23*(qr*q42-q32*qs)+qq*(q32*q43-q33*q42);
  Q4B=q21*(q33*qs-qr*q43)+q23*(qr*q41-q31*qs)+qq*(q31*q43-q33*q41);
  Q4C=q21*(q32*qs-qr*q42)+q22*(qr*q41-q31*qs)+qq*(q31*q42-q32*q41);
  Q4D=q21*(q32*q43-q33*q42)+q22*(q33*q41-q31*q43)+q23*(q31*q42-q32*q41);
  detQ4=q11*Q4A-q12*Q4B+q13*Q4C-qp*Q4D;

  qx=detQ1/detQ;
  qy=detQ2/detQ;
  qz=detQ3/detQ;
  qw=detQ4/detQ;

  q11inverse=q22*(q33*q44-q34*q43)+q23*(q34*q42-q32*q44)+q24*(q32*q43-q33*q42);
  q12inverse=-q12*(q33*q44-q34*q43)-q13*(q34*q42-q32*q44)-q14*(q32*q43-q33*q42);
  q13inverse=q12*(q23*q44-q24*q43)+q13*(q24*q42-q22*q44)+q14*(q22*q43-q23*q42);
  q14inverse=-q12*(q23*q34-q24*q33)-q13*(q24*q32-q22*q34)-q14*(q22*q33-q23*q32);
  q21inverse=-q21*(q33*q44-q34*q43)-q23*(q34*q41-q31*q44)-q24*(q31*q43-q33*q41);
  q22inverse=q11*(q33*q44-q34*q43)+q13*(q34*q41-q31*q44)+q14*(q31*q43-q33*q41);
  q23inverse=-q11*(q23*q44-q24*q43)-q13*(q24*q41-q21*q44)-q14*(q21*q43-q23*q41);
  q24inverse=q11*(q23*q34-q24*q33)+q13*(q24*q31-q21*q34)+q14*(q21*q33-q23*q31);
  q31inverse=q21*(q32*q44-q34*q42)+q22*(q34*q41-q31*q44)+q24*(q31*q42-q32*q41);
  q32inverse=-q11*(q32*q44-q34*q42)-q12*(q34*q41-q31*q44)-q14*(q31*q42-q32*q41);
  q33inverse=q11*(q22*q44-q24*q42)+q12*(q24*q41-q21*q44)+q14*(q21*q42-q22*q41);
  q34inverse=-q11*(q22*q34-q24*q32)-q12*(q24*q31-q21*q34)-q14*(q21*q32-q22*q31);
  q41inverse=-q21*(q32*q43-q33*q42)-q22*(q33*q41-q31*q43)-q23*(q31*q42-q32*q41);
  q42inverse=q11*(q32*q43-q33*q42)+q12*(q33*q41-q31*q43)+q13*(q31*q42-q32*q41);
  q43inverse=-q11*(q22*q43-q23*q42)-q12*(q23*q41-q21*q43)-q13*(q21*q42-q22*q41);
  q44inverse=q11*(q22*q33-q23*q32)+q12*(q23*q31-q21*q33)+q13*(q21*q32-q22*q31);

  document.matrixQ.detQ.value=parseFloat(""+detQ);
  document.matrixQ.detQ1.value=parseFloat(""+detQ1);
  document.matrixQ.detQ2.value=parseFloat(""+detQ2);
  document.matrixQ.detQ3.value=parseFloat(""+detQ3);
  document.matrixQ.detQ4.value=parseFloat(""+detQ4);
  document.matrixQ.qx.value=parseFloat(""+qx);
  document.matrixQ.qy.value=parseFloat(""+qy);
  document.matrixQ.qz.value=parseFloat(""+qz);
  document.matrixQ.qw.value=parseFloat(""+qw);

  document.matrixQ.q11inverse.value=parseFloat(""+q11inverse);
  document.matrixQ.q12inverse.value=parseFloat(""+q12inverse);
  document.matrixQ.q13inverse.value=parseFloat(""+q13inverse);
  document.matrixQ.q14inverse.value=parseFloat(""+q14inverse);
  document.matrixQ.q21inverse.value=parseFloat(""+q21inverse);
  document.matrixQ.q22inverse.value=parseFloat(""+q22inverse);
  document.matrixQ.q23inverse.value=parseFloat(""+q23inverse);
  document.matrixQ.q24inverse.value=parseFloat(""+q24inverse);
  document.matrixQ.q31inverse.value=parseFloat(""+q31inverse);
  document.matrixQ.q32inverse.value=parseFloat(""+q32inverse);
  document.matrixQ.q33inverse.value=parseFloat(""+q33inverse);
  document.matrixQ.q34inverse.value=parseFloat(""+q34inverse);
  document.matrixQ.q41inverse.value=parseFloat(""+q41inverse);
  document.matrixQ.q42inverse.value=parseFloat(""+q42inverse);
  document.matrixQ.q43inverse.value=parseFloat(""+q43inverse);
  document.matrixQ.q44inverse.value=parseFloat(""+q44inverse);
}

Shadow Academy トップへ戻る

inserted by FC2 system