以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の行列計算装置の実施形態に係る行列計算機能を備えた電子計算装置の電子回路の構成を示すブロック図である。
この電子計算装置は、コンピュータ等からなる制御部(CPU)11を備えている。
制御部(CPU)11は、キー入力部12から入力されるキー入力データや、液晶表示部13の表示画面上に重ねて設けられたタブレット14から位置検出回路15を介して入力されるタッチペンPによるタッチ位置データに応じて、ROM16に予め記憶されているシステムプログラムを起動させ、あるいは外部記録媒体20に予め記憶されている計算装置制御用プログラムを記録媒体読み取り部19により読み取らせて起動させ、あるいは伝送制御部21によって他のコンピュータ端末から通信ネットワークを介して受信された計算装置制御用プログラムを起動させ、RAM17をワークメモリとして回路各部の動作制御を行なうものである。
この制御部(CPU)11には、前記キー入力部12、液晶表示部13、タブレット14、位置検出回路15、ROM16、RAM17、記録媒体読み取り部19、伝送制御部21が接続され、また、液晶表示部13は表示駆動回路18を介して接続される。
キー入力部12には、データ入力キー12a、「モード」キー12b、「入力」キー12c、「設定」キー12d、「実行」キー12e、「グラフ」キー12f、上下左右方向のカーソルキー「↑」12g,「↓」12h,「←」12i,「→」12j等が備えられる。
データ入力キー12aは、テンキー,アルファベットキー,演算子キー,関数キー等の文字・記号キー群からなる。
「モード」キー12bは、任意の行列データを入力して演算処理を行なう行列モード,四則計算等の任意の計算式を入力して演算処理を行なう演算モード,任意の関数式を入力して対応するグラフの描画処理を行なうグラフモード等の各種動作モードを選択設定する際に操作される。
前記行列モードを設定した際には、行列の掛け算において掛け合わされる各行列成分を段階的に表示するための行列段階演算モード、行列の掛け算において解の行列成分を指定して該解の基となった各行列成分を識別表示するための解構成成分表示モード、行列の足し算あるいは引き算において足し合わされるあるいは引き合わされる各行列成分を識別表示するための演算成分色表示モード、逆行列の演算において解の行列成分を指定して該解に至る過程の演算状態を段階的に再現表示するための逆行列の分解演算モード、行列演算の積もしくは和,差の解を指定しその解の公式に当てはめた行列成分中の変数を求めるための行列成分の方程式演算モード、グラフ画面上で一次変換行列と変数を含む変換対象行列とを表示させ前記変数値の変更前後に応じて異なる一次変換の座標表示を行うための一次変換行列モードの6種類の行列演算モードが選択設定可能である。
「入力」キー12cは、前記行列データ,計算式,関数式等の数値入力において、入力したデータや式の内容を確定する際に操作される。
「設定」キー12dは、前記行列モードの中の6つのモード(行列段階演算モード/解構成成分表示モード/演算成分色表示モード/逆行列の分解演算モード/行列成分の方程式演算モード/一次変換行列モード)を選択設定する際に操作される。
「実行」キー12eは、選択された動作モードを起動や、計算処理の開始を指示する際に操作される。
「グラフ」キー12fは、前記グラフモードにおいて入力された関数式に対応するグラフの描画を指示する際に操作される。
カーソルキー「↑」12g,「↓」12h,「←」12i,「→」12jは、それぞれ表示されたデータの選択,送り操作や、カーソルCの移動操作を行なう際等に操作される。
タブレット14は、液晶表示部13の表示画面上に重ねて設けられ、ペンPによりタッチされた位置に応じた電圧信号を発生するもので、このタブレット14から出力されるタッチ位置に応じた電圧信号に基づき、位置検出回路15により表示画面に対応させた座標が検出され、このタッチ位置座標に応じて制御部(CPU)11により操作の内容が判断される。
ROM16には、本電子計算装置の電子回路における全体の処理を司るシステムプログラムデータが予め記憶されると共に、図2,図3に示す行列段階演算モード、図4,図5に示す解構成成分表示モード、図6,図7に示す演算成分色表示モード、図8,図9に示す逆行列の分解演算モード、図10,図11に示す行列成分の方程式演算モード、図12,図13に示す一次変換行列モード等、各種の動作モードの処理を司るサブプログラムデータである制御プログラムデータも予め記憶される。
RAM17には、表示データメモリ17a、行列データメモリ17b、演算データメモリ17c、モードデータメモリ17d、カウントデータメモリ17e、グラフデータメモリ17f、その他、ワークメモリ17g等が備えられる。
表示データメモリ17aには、液晶表示部13に表示すべき表示データがビットマップのパターンデータとして記憶される。
行列データメモリ17bには、行列モードにおいて入力された各行列成分からなる行列式のデータやその解の行列データ等が記憶される。
演算データメモリ17cには、演算モードにおける演算途中や演算結果のデータ等が記憶される。
モードデータメモリ17dには、制御部(CPU)11において現在起動されている動作モードを示すデータが記憶される。
カウントデータメモリ17eには、各種の動作モードの起動に伴いセットされる種々のカウントデータが記憶される。
グラフデータメモリ17fには、入力された関数式に対応するグラフの各描画ドット点の座標データに応じて順次その描画点がビットマップデータとして書き込まれグラフデータとして描画記憶される。
ワークメモリ17gには、各種動作モードの制御処理に伴ない制御部(CPU)11により入出力されるデータが一時的に記憶される。
次に、前記構成による電子計算装置の行列計算機能の動作について説明する。
(行列段階演算モード)
図2は前記電子計算装置の行列計算機能における行列段階演算モード処理を示すフローチャートである。
図3は前記電子計算装置の行列段階演算モード処理に伴う行列演算データの表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により行列段階演算モードが設定されると、図2における行列段階演算モード処理が起動される。
この行列段階演算モード処理では、行列の掛け算において掛け合わされる各行列成分が段階的に表示されるもので、まず当該行列段階演算モード処理の起動に伴い液晶表示部13に表示される行列式の入力画面において、データ入力キー12aの操作により、例えば図3(A)に示すように、行列の掛け算を行うべき任意の[行列A]×[行列B]が入力され、「入力」キー12cの操作によりその入力が確定されると、入力された行列式のデータはRAM17内の行列データメモリ17bに記憶される(ステップS1〜S3)。
そして、「実行」キー12eの操作により当該行列掛け算の演算実行が指示されると、モードデータメモリ17dに記憶されている現在の動作モードを示すモードデータに基づき行列段階演算モードに設定されていることが判断確認されると共に、当該行列式の各成分数が積演算可能であることが判断確認され、行列Aの行成分を指示するnAカウンタ、同列成分を指示するkAカウンタ、行列Bの行成分を指示するnBカウンタ、同列成分を指示するkBカウンタそれぞれのカウントデータが、カウントデータメモリ17eにおいて全て“1”にセットされる(ステップS4,S5→S6→S7)。
すると、前記nAカウンタ、kAカウンタ、nBカウンタ、kBカウンタのそれぞれにおけるカウントデータに従って、図3(B)に示すように、まず行列Aの1行1列目の成分である[1]と行列Bの1行1列目の成分である[5]とがそれぞれ第1に掛け合わされる行列成分として反転または色変更により識別されて表示される(ステップS8)。
これと共に、前記反転表示された各行列成分同士の積の解[1×5=5]が計算されて前記nAカウンタ及びkBカウンタで指示される解行列上の1行1列目に表示されると共に、図3(C)に示すように、+記号が付加されて表示される(ステップS9,S10)。
この際、kAカウンタ及びnBカウンタの各カウントデータが何れも+1されて“2”にカウントアップされると共に、前記行列Aの1行1列目の成分[1]及び行列Bの1行1列目の成分[5]に対する識別表示が解除される(ステップS11,S12)。
ここで、前記ステップS11においてカウントアップされたkAカウンタが示す行列Aの指定列数あるいはnBカウンタが示す行列Bの指定行数が前記行列式の対応する行列Aの列成分数あるいは行列Bの行成分数をオーバしたか否か判断され、この場合、kA=2,nB=2そして行列ABは共に2×2の行列データであるのでオーバ無しと判断され、前記ステップS8からの処理に戻る(ステップS13→S8)。
すると今度は、前記nAカウンタ、kAカウンタ、nBカウンタ、kBカウンタのそれぞれにおけるカウントデータに従って、図3(D)に示すように、行列Aの1行2列目の成分である[2]と行列Bの2行1列目の成分である[7]とがそれぞれ第2に掛け合わされる行列成分として反転または色変更により識別されて表示される(ステップS8)。
これと共に、前記反転表示された各行列成分同士の積の解[2×7=14]が計算されて前記nAカウンタ及びkBカウンタで指示される解行列上の1行1列目に[5+14]として表示されると共に、kAカウンタ及びnBカウンタがさらにカウントアップされた後、前記行列Aの1行2列目の成分[2]及び行列Bの2行1列目の成分[7]に対する識別表示が解除される(ステップS9〜S12)。
するとこの場合、kA=3,nB=3そして行列ABは共に2×2の行列データであるのでオーバと判断され、前記nAカウンタ及びkBカウンタで指示される解行列の1行1列目の解成分[19]が、図3(E)に示すように計算されて確定表示される(ステップS13→S14)。
すると、kAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、kBカウンタのカウントデータ(行列Bの列指示値)が+1されて“2”にカウントアップされる(ステップ15,S16)。
ここで、前記kBカウンタのカウントデータが行列Bの列成分数“2”をオーバしたか否か判断される(ステップS17)。
この場合、kB=2であるのでオーバしてないと判断されて前記ステップS8からの処理に戻り、現在の各カウンタ値(nA=1,kA=1,nB=1,kB=2)に従って、図3(F)に示すように、今度は第3に掛け合わされる行列Aの1行1列目の成分[1]と行列Bの1行2列目の成分[6]の識別表示及びその積[6]の解行列表示が行われる(ステップS17→S8,S9)。
するとこの後、ステップS11においてnA=1,kA=2,nB=2,kB=2に更新されることで再びステップS13からステップS8以降の処理が繰り返され、今度は第4に掛け合わされる行列Aの1行2列目の成分[2]と行列Bの2行2列目の成分[8]の識別表示及びその積[16]が計算され、前記第3の掛け合わせにより得られた積[6]との和[22]が解行列の1行2列目に確定表示される(ステップS8〜S14)。
この時点で、解行列における1行1列目の解[19]と1行2列目の解[22]とが得られて確定表示された状態となるもので、ここで、kAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、kBカウンタのカウントデータ(行列Bの列指示値)が+1されて“3”にカウントアップされる(ステップ15,S16)。
すると、前記kBカウンタのカウントデータが行列Bの列成分数“2”をオーバしたと判断され、再びkAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、さらにkBカウンタのカウントデータ(行列Bの列指示値)も“1”にリセットされる(ステップS17→S18,S19)。
そして、nAカウンタのカウントデータ(行列Aの行指示値)が+1されて“2”にカウントアップされ、該nAカウンタのカウントデータ“2”が行列Aの行成分数“2”をオーバしたか否か判断される(ステップS20,S21)。
この場合、nAカウンタのカウントデータは“2”であり、行列Aの行成分数“2”をオーバしてないと判断されるので、前記ステップS8からの処理に戻り、現在の各カウンタ値(nA=2,kA=1,nB=1,kB=1)に従って、今度は第5に掛け合わされる行列Aの2行1列目の成分[3]と行列Bの1行1列目の成分[5]の識別表示及びその積[15]の解行列表示が行われる(ステップS21→S8,S9)。
するとこの後、ステップS11においてnA=2,kA=2,nB=2,kB=1に更新されることで再びステップS13からステップS8以降の処理が繰り返され、今度は第6に掛け合わされる行列Aの2行2列目の成分[4]と行列Bの2行1列目の成分[7]の識別表示及びその積[28]が計算され、前記第5の掛け合わせにより得られた積[15]との和[43]が解行列の2行1列目に確定表示される(ステップS8〜S14)。
この時点で、解行列における1行1列目の解[19]と1行2列目の解[22]と2行1列目の解[43]とが得られて確定表示された状態となるもので、ここで、kAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、kBカウンタのカウントデータ(行列Bの列指示値)が+1されて“2”にカウントアップされる(ステップ15,S16)。
すると、前記kBカウンタのカウントデータが行列Bの列成分数“2”をオーバしてないと判断されて前記ステップS8からの処理に戻り、現在の各カウンタ値(nA=2,kA=1,nB=1,kB=2)に従って、今度は第7に掛け合わされる行列Aの2行1列目の成分[3]と行列Bの1行2列目の成分[6]の識別表示及びその積[18]の解行列表示が行われる(ステップS17→S8,S9)。
するとこの後、ステップS11においてnA=2,kA=2,nB=2,kB=2に更新されることで再びステップS13からステップS8以降の処理が繰り返され、今度は第8に掛け合わされる行列Aの2行2列目の成分[4]と行列Bの2行2列目の成分[8]の識別表示及びその積[32]が計算され、図3(G)に示すように、前記第7の掛け合わせにより得られた積[18]との和[50]が解行列の2行2列目に確定表示される(ステップS8〜S14)。
この時点で、解行列における1行1列目の解から2行2列目までの解[19,22,43,50]の全てが得られて確定表示された状態となるもので、ここで、kAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、kBカウンタのカウントデータ(行列Bの列指示値)が+1されて“3”にカウントアップされる(ステップ15,S16)。
すると、前記kBカウンタのカウントデータが行列Bの列成分数“2”をオーバしたと判断され、再びkAカウンタ及びnBカウンタの各カウントデータが何れも“1”にリセットされ、さらにkBカウンタのカウントデータ(行列Bの列指示値)も“1”にリセットされる(ステップS17→S18,S19)。
そして、nAカウンタのカウントデータ(行列Aの行指示値)が+1されて“3”にカウントアップされ、該nAカウンタのカウントデータ“3”が行列Aの行成分数“2”をオーバしたと判断されることで、前記一連の行列段階演算処理が終了される(ステップS20,S21→終了)。
したがって、前記構成の電子計算装置の行列計算機能における行列段階演算モード処理によれば、例えば2行2列の行列A及び行列Bを入力して当該各行列間の掛け算の実行を指示すると、行列A対行列Bの各成分同士個々の掛け合わせの組み合わせ毎に、当該順次掛け合わされる一対の成分が反転又は色変更により順番に識別表示され、その都度段階的に各行列の解が計算されて解行列に表示されるので、行列の積の演算を行う過程において、各行列データ間での複数の行列成分同士がどのような組み合わせや順番で計算されて行くかを容易に学習することができる。
(行列解構成成分表示モード)
図4は前記電子計算装置の行列計算機能における行列解構成成分表示モード処理を示すフローチャートである。
図5は前記電子計算装置の行列解構成成分表示モード処理に伴う行列演算データの表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により行列解構成成分表示モードが設定されると、図4における行列解構成成分表示モード処理が起動される。
この行列解構成成分表示モード処理では、行列の掛け算において解の行列成分を指定すると該解の基となった各行列成分が識別表示されるもので、まず当該行列解構成成分表示モード処理の起動に伴い液晶表示部13に表示される行列式の入力画面において、データ入力キー12aの操作により、例えば図5(A)に示すように、行列の掛け算を行うべき任意の[行列A]×[行列B]が入力表示され(ステップA1,A2)、「実行」キー12eの操作により当該行列掛け算の演算実行が指示されると(ステップA3)、当該行列式の各成分数が積演算可能であることが判断確認され、前記入力された行列式である[行列A]×[行列B]の演算が実行される(ステップA4→A5)。
すなわち、2×2の行列成分を有する行列Aと行列Bとの掛け算である場合には、(行列Aの1行1列成分×行列Bの1行1列成分)+(行列Aの1行2列成分×行列Bの2行1列成分)=解行列の1行1列成分、(行列Aの1行1列成分×行列Bの1行2列成分)+(行列Aの1行2列成分×行列Bの2行2列成分)=解行列の1行2列成分、(行列Aの2行1列成分×行列Bの1行1列成分)+(行列Aの2行2列成分×行列Bの2行1列成分)=解行列の2行1列成分、(行列Aの2行1列成分×行列Bの1行2列成分)+(行列Aの2行2列成分×行列Bの2行2列成分)=解行列の2行2列成分、とした演算処理が行われるもので、これにより同図5(A)に示すように、その演算結果の解行列が表示される(ステップA6)。
そして、図5(B)に示すように、液晶表示部13に表示された解行列内の各解成分のうちで、その解の構成成分を知りたい任意の解(例えば1行1列の解成分[19])をカーソルキー12g〜12jにより選択するかタブレット14上で指定し(ステップA7)、「入力」キー12cにより確定操作を行うと、該指定された解成分[19]が反転表示されると共に(ステップA8)、その指定解成分[19]の行列位置mn(=1,1)が検出される(ステップA9)。
すると、図5(C)に示すように、行列Aのm(=1)行の全ての成分[1][2]及び行列Bのn(=1)列の全ての成分[5][7]、つまり指定された解成分を構成する全ての行列成分が反転されて識別表示される(ステップA10,A11)。
ここで、液晶表示部13には、前記識別表示された解の構成成分に対し、さらにその掛け合わせが実行された構成成分毎に色分け表示を行うか否かをユーザ選択させるためのメッセージが表示される(ステップA12)。
そして、「実行」キー12eの操作により前記積が実行された構成成分毎の色分け表示の実行が指示されると、行列Aの列成分数Z(=2)が検出されると共に、番号に応じて異なる色を指定するための色番号カウンタCに“1”がセットされ、まずカウンタAに“1”がセットされる(ステップA12→A13,A14,A15)。
すると、図5(C)で示すように、行列Aのm行A列成分、この場合には1行1列成分である[1]と、これに掛け合わされた行列BのA行n列成分、この場合には1行1列成分である[5]とが、それぞれ前記色番号Cで指定される色で識別表示される(ステップA16,A17)。
すると、前記色番号カウンタCのカウントデータが+1されて“2”に更新され、次に前記カウンタAのカウントデータが“2”(=行列Aの列成分数Z)にカウントアップされる(ステップA18,A19→A15)。
すると、図5(C)で示すように、行列Aのm行A列成分、この場合には1行2列成分である[2]と、これに掛け合わされた行列BのA行n列成分、この場合には1行2列成分である[7]とが、それぞれ前記更新された色番号Cで指定される色で識別表示される(ステップA16,A17)。
こうして、前記カウンタAのカウントデータが前記行列Aの列成分数Zまでカウントアップされて等しくなることで、前記指定された解の基となる積が実行された行列成分毎の色変更表示の繰り返し処理は終わりとなり、前記一連の行列解構成成分表示処理は終了される。
したがって、前記構成の電子計算装置の行列計算機能における行列解構成成分表示モード処理によれば、行列A×行列Bの行列式を入力して行列の掛け算を行いその解行列が表示された状態にあって、解行列内の任意の解の成分を指定して反転表示させると、該指定された解の成分の構成基である行列Aと行列Bそれぞれの掛け合わされた各行列成分が識別表示されると共に、さらにその中で掛け合わせ単位毎の行列成分の組み合わせが色変更されて識別表示されるので、前記指定された行列解がどの行列成分同士の掛け合わせによって得られたのかを容易に知ることができる。
(行列演算成分色表示モード)
図6は前記電子計算装置の行列計算機能における行列演算成分色表示モード処理を示すフローチャートである。
図7は前記電子計算装置の行列演算成分色表示モード処理に伴う行列演算データの表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により行列演算成分色表示モードが設定されると、図6における行列演算成分色表示モード処理が起動される。
この行列演算成分色表示モード処理では、行列の足し算あるいは引き算において足し合わされるあるいは引き合わされる各行列成分が識別表示されるもので、まず当該行列演算成分色表示モード処理の起動に伴い液晶表示部13に表示される行列式の入力画面において、データ入力キー12aの操作により、例えば図7(A)に示すように、行列の足し算を行うべき任意の[行列A]+[行列B]が入力され(ステップB1,B2)、「実行」キー12eの操作により当該行列掛け算の演算実行が指示されると(ステップB3)、モードデータメモリ17dに記憶されている現在の動作モードを示すモードデータに基づき行列演算成分色表示モードに設定されていることが判断実行される(ステップB4)と共に、前記行列式A,B間の演算子の種類が検出されて入力され、和演算であるか又は差演算であるかが判断される(ステップB5,B6)。
ここで、前記検出入力された行列式の演算子に従って、図7(A)に示したように、入力された行列式が和演算であると判断されると、当該行列式の各成分数が和演算可能であることが判断確認され(ステップB6→B7)、前記行列式における行成分数X(=2)及び列成分数Y(=2)が検出されると共に(ステップB8,B9)、番号に応じて異なる色を指定するための色番号カウンタCに“1”がセットされ(ステップB10)、まずカウンタA,カウンタBのそれぞれに“1”がセットされる(ステップB11,B12)。
すると、前記カウンタA及びカウンタBの各カウントデータに従い、図7(B)に示すように、行列A及び行列Bの足し合わされるB行A列成分、この場合には1行1列成分である行列Aの[1]と行列Bの[5]とが、それぞれ前記色番号C(=1)で指定される色で識別表示される(ステップB13)。
すると、前記色番号カウンタCのカウントデータが+1されて“2”に更新され、次に前記カウンタAのカウントデータが“2”(=各行列の行成分数X)にカウントアップされる(ステップB14,B15→B11)。
すると、さらに図7(B)で示すように、行列A及び行列Bの足し合わされるB行A列成分、この場合には1行2列成分である行列Aの[2]と行列Bの[6]とが、それぞれ前記色番号C(=2)で指定される色で識別表示される(ステップB13)。
するとまた、前記色番号カウンタCのカウントデータが+1されて“3”に更新され、次に前記カウンタBのカウントデータが“2”(=各行列の列成分数Y)にカウントアップされる(ステップB14,B16→B12)。
すると、さらに図7(B)で示すように、行列A及び行列Bの足し合わされるB行A列成分、この場合には2行1列成分である行列Aの[3]と行列Bの[7]とが、それぞれ前記更新された色番号C(=3)で指定される色で識別表示される(ステップB13)。
するとまた、前記色番号カウンタCのカウントデータが+1されて“4”に更新され、次に前記カウンタAのカウントデータが再び“2”(=各行列の行成分数X)にカウントアップされる(ステップB14,B15→B11)。
すると、さらに図7(B)で示すように、行列A及び行列Bの足し合わされるB行A列成分、この場合には2行2列成分である行列Aの[4]と行列Bの[8]とが、それぞれ前記色番号C(=4)で指定される色で識別表示される(ステップB13)。
こうして、前記カウンタA及びカウンタBの各カウントデータがそれぞれ個々に前記行列の行成分数X及び列成分数Yまでカウントアップされて等しくなることで、前記行列A,B間における足し合わせ成分毎の色変更による識別表示の繰り返し処理は終わりとなり、前記一連の行列演算成分色表示処理は終了される。
したがって、前記構成の電子計算装置の行列計算機能における行列演算成分色表示モード処理によれば、行列A+行列Bの行列式を入力して行列の足し算を行う際には、各行列それぞれにおいて足し合わされるm行n列成分がその足し合わせ成分毎に異なる色で識別表示されるので、行列式における和あるいは差の演算が各行列における何れの成分同士で行われるのかを容易に確認して知ることができる。
(逆行列の分解演算モード)
図8は前記電子計算装置の行列計算機能における逆行列の分解演算モード処理を示すフローチャートである。
図9は前記電子計算装置の逆行列の分解演算モード処理に伴う行列演算データの表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により逆行列の分解演算モードが設定されると、図8における逆行列の分解演算モード処理が起動される。
この逆行列の分解演算モード処理では、逆行列の演算において解の行列成分を指定するとその解に至る過程の演算状態が段階的に再現表示されるもので、まず当該逆行列の分解演算モード処理の起動に伴い液晶表示部13に表示される行列式の入力画面において、データ入力キー12aの操作により、例えば2×2の4つの成分a(=1),b(=2),c(=3),d(=4)からなる行列が入力されて表示され(ステップC1)、「実行」キー12eの操作により当該入力された行列に対する逆行列の演算実行が指示されると(ステップC2)、下式1の演算式に従って逆行列の演算が実行されて解が求められ、図9(A)に示すように、その行列解が液晶表示部13に表示される(ステップC3)。
1/(ad−bc)×[d,−b][−c,a] …式1
すると、モードデータメモリ17dに記憶されている現在の動作モードを示すモードデータに基づき逆行列の分解演算モードに設定されていることが判断実行され(ステップC4)、前記ステップC1において入力された行列内の各成分a,b,c,dが検出されて入力される(ステップC5)。
ここで、前記ステップC1〜C3において演算表示された逆行列の解(図9(A)参照)において、その逆行列の演算の過程を知りたい任意の解成分を指定して、図9(B)に示すように、反転表示させると、1行1列の解成分が指定されたか(ステップC8)、1行2列の解成分が指定されたか(ステップC18)、2行1列の解成分が指定されたか(ステップC30)、それとも2行2列の解成分が指定されたか(ステップC42)判断確認される。
前記図9(B)で示したように、逆行列の解の1行1列の解成分が指定されたと判断された場合に(ステップC8)、「実行」キー12eの1回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行1列の解成分[−2]が得られた逆行列の演算過程における1手順前の演算状態であるd/z(z=ad−bc)が生成され、図9(C)に示すように、[4/−2]として当該1行1列の解成分位置に入れ替えられて反転表示される(ステップC9,C10)。
続いて、前記「実行」キー12eの2回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行1列の解成分[−2]が得られた逆行列の演算過程における2手順前の演算状態であるd/x−y(x=ad,y=bc)が生成され、図9(D)に示すように、[4/(4−6)]として当該1行1列の解成分位置に入れ替えられて反転表示される(ステップC11,C12)。
また、前記「実行」キー12eの3回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行1列の解成分[−2]が得られた逆行列の演算過程における3手順前の演算状態であるd/(ad−bc)が生成され、[4/(1・4−2・3)]として当該1行1列の解成分位置に入れ替えられて反転表示される(ステップC13,C14)。
さらに、前記「実行」キー12eの4回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行1列の解成分[−2]が得られた逆行列の演算過程における4手順前の演算状態である元の1行1列成分aが生成され、[1]として当該1行1列の解成分位置に入れ替えられて反転表示される(ステップC15,C16)。
このように、前記「実行」キー12eが操作される毎に、1行1列の解成分[−2]が得られた逆行列の演算過程が逆の順序で段階的に表示されるもので、前記最終段階として元の1行1列成分aが表示された状態で、最後に「実行」キー12eが操作されると、前記1行1列の逆行列解を指定した一連の分解演算モード処理が終了される(ステップC17→終了)。
一方、前記ステップC6,C7を経て逆行列の解の1行2列の解成分[1]が指定されたと判断された場合に(ステップC18)、「実行」キー12eの1回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行2列の解成分[1]が得られた逆行列の演算過程における1手順前の演算状態である−b/z(z=ad−bc)が生成され、[−2/−2]として当該1行2列の解成分位置に入れ替えられて反転表示される(ステップC19,C20)。
続いて、前記「実行」キー12eの2回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行2列の解成分[1]が得られた逆行列の演算過程における2手順前の演算状態である−b/x−y(x=ad,y=bc)が生成され、[−2/(4−6)]として当該1行2列の解成分位置に入れ替えられて反転表示される(ステップC21,C22)。
また、前記「実行」キー12eの3回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行2列の解成分[1]が得られた逆行列の演算過程における3手順前の演算状態である−b/(ad−bc)が生成され、[−2/(1・4−2・3)]として当該1行2列の解成分位置に入れ替えられて反転表示される(ステップC23,C24)。
また、前記「実行」キー12eの4回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行2列の解成分[1]が得られた逆行列の演算過程における4手順前の演算状態である−bが生成され、[−2]として当該1行2列の解成分位置に入れ替えられて反転表示される(ステップC25,C26)。
さらに、前記「実行」キー12eの5回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記1行2列の解成分[1]が得られた逆行列の演算過程における5手順前の演算状態である元の1行2列成分bが生成され、[2]として当該1行2列の解成分位置に入れ替えられて反転表示される(ステップC27,C28)。
このように、前記「実行」キー12eが操作される毎に、1行2列の解成分[1]が得られた逆行列の演算過程が逆の順序で段階的に表示されるもので、前記最終段階として元の1行2列成分bが表示された状態で、最後に「実行」キー12eが操作されると、前記1行2列の逆行列解を指定した一連の分解演算モード処理が終了される(ステップC29→終了)。
一方、前記ステップC6,C7を経て逆行列の解の2行1列の解成分[1.5]が指定されたと判断された場合に(ステップC30)、「実行」キー12eの1回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行1列の解成分[1.5]が得られた逆行列の演算過程における1手順前の演算状態である−c/z(z=ad−bc)が生成され、[−3/−2]として当該2行1列の解成分位置に入れ替えられて反転表示される(ステップC31,C32)。
続いて、前記「実行」キー12eの2回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行1列の解成分[1.5]が得られた逆行列の演算過程における2手順前の演算状態である−c/x−y(x=ad,y=bc)が生成され、[−3/(4−6)]として当該2行1列の解成分位置に入れ替えられて反転表示される(ステップC33,C34)。
また、前記「実行」キー12eの3回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行1列の解成分[1.5]が得られた逆行列の演算過程における3手順前の演算状態である−c/(ad−bc)が生成され、[−3/(1・4−2・3)]として当該2行1列の解成分位置に入れ替えられて反転表示される(ステップC35,C36)。
また、前記「実行」キー12eの4回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行1列の解成分[1.5]が得られた逆行列の演算過程における4手順前の演算状態である−cが生成され、[−3]として当該2行1列の解成分位置に入れ替えられて反転表示される(ステップC37,C38)。
さらに、前記「実行」キー12eの5回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行1列の解成分[1.5]が得られた逆行列の演算過程における5手順前の演算状態である元の2行1列成分cが生成され、[3]として当該2行1列の解成分位置に入れ替えられて反転表示される(ステップC39,C40)。
このように、前記「実行」キー12eが操作される毎に、2行1列の解成分[1.5]が得られた逆行列の演算過程が逆の順序で段階的に表示されるもので、前記最終段階として元の2行1列成分cが表示された状態で、最後に「実行」キー12eが操作されると、前記2行1列の逆行列解を指定した一連の分解演算モード処理が終了される(ステップC41→終了)。
一方、前記ステップC6,C7を経て逆行列の解の2行2列の解成分[−0.5]が指定されたと判断された場合に(ステップC30→C42)、「実行」キー12eの1回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行2列の解成分[−0.5]が得られた逆行列の演算過程における1手順前の演算状態であるa/z(z=ad−bc)が生成され、[1/−2]として当該2行2列の解成分位置に入れ替えられて反転表示される(ステップC43,C44)。
続いて、前記「実行」キー12eの2回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行2列の解成分[−0.5]が得られた逆行列の演算過程における2手順前の演算状態であるa/x−y(x=ad,y=bc)が生成され、[1/(4−6)]として当該2行2列の解成分位置に入れ替えられて反転表示される(ステップC45,C46)。
また、前記「実行」キー12eの3回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行2列の解成分[−0.5]が得られた逆行列の演算過程における3手順前の演算状態であるa/(ad−bc)が生成され、[1/(1・4−2・3)]として当該2行2列の解成分位置に入れ替えられて反転表示される(ステップC47,C48)。
さらに、前記「実行」キー12eの4回目の操作が為されると、前記ステップC5において検出入力された元の行列成分a,b,c,dに基づき、前記2行2列の解成分[−0.5]が得られた逆行列の演算過程における4手順前の演算状態である元の2行2列成分dが生成され、[4]として当該2行2列の解成分位置に入れ替えられて反転表示される(ステップC49,C50)。
このように、前記「実行」キー12eが操作される毎に、2行2列の解成分[−0.5]が得られた逆行列の演算過程が逆の順序で段階的に表示されるもので、前記最終段階として元の2行2列成分dが表示された状態で、最後に「実行」キー12eが操作されると、前記2行2列の逆行列解を指定した一連の分解演算モード処理が終了される(ステップC51→終了)。
したがって、前記構成の電子計算装置の行列計算機能における逆行列の分解演算モード処理によれば、任意に入力された行列の逆行列を演算しその解の行列を表示させた際に、当該逆行列の解の行列に含まれる複数の解成分のうちの任意の解成分を指定して「実行」キー12eを操作すると、当該指定された解成分の行列位置において、前記「実行」キー12eのキー操作毎に当該解の成分が得られた逆行列の演算過程が逆の順序で、元の入力行列の同一行列位置における行列成分となるまで段階的に入れ替え表示されるので、逆行列の解が導出されるまでの各成分毎の演算手順を容易に学習することができる。
(行列成分の方程式演算モード)
図10は前記電子計算装置の行列計算機能における行列成分の方程式演算モード処理を示すフローチャートである。
図11は前記電子計算装置の行列成分の方程式演算モード処理に伴う行列演算データの表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により行列成分の方程式演算モードが設定されると、図10における行列成分の方程式演算モード処理が起動される。
この行列成分の方程式演算モード処理では、行列演算の積もしくは和,差の解を指定すると、その解を導出するための公式に当てはめた行列成分中の変数が求められるもので、まず当該行列成分の方程式演算モード処理の起動に伴い液晶表示部13に表示される行列式の入力画面において、データ入力キー12aの操作により、例えば図11(A)に示すように、2×2の4つの成分a(=29),b(=4),c(=6),d(=10)からなる行列が、任意の行列式の積の演算解として入力されて表示された状態で(ステップD1)、この解行列[29,4,6,10]を解とする行列式の演算種“×”及びその[行列A][行列B]を、図11(B)に示すように、一部の行列成分を未知変数a,bに置き換えて入力すると(ステップD2〜D4)、入力された[行列A][行列B]及び演算種“×”に応じた行列方程式が表示される(ステップD5)。
そして、「実行」キー12eが操作されると、当該行列方程式の各成分数に基づき演算実行可能な行列式であることが判断確認され(ステップD6,D7)、各行列成分毎の解を求める方程式に対して、前記ステップD1において入力表示された解行列(図11(A)参照)及び前記ステップD2〜D5において入力表示された行列方程式(図11(B)参照)それぞれに含まれる各対応する行列成分が代入され、該行列方程式内で故意に置き換えられた未知変数a,bの解が計算されて、図11(C)に示すように、液晶表示部13に表示される(ステップD8,D9)。
したがって、前記構成の電子計算装置の行列計算機能における行列成分の方程式演算モード処理によれば、行列の積又は和又は差の何れかの演算結果の解行列を入力すると共に、その解行列を得るための各行列と演算種からなる積又は和又は差の行列方程式を入力し、該行列式内の一部の成分を未知変数として置き換え「実行」キー12eを操作すると、各行列成分毎の解を求める公式に対して前記行列方程式及び解行列のそれぞれにおいて各対応する成分が代入され、前記一部の行列成分に置き換えられた未知変数が計算されて表示されるので、任意の行列解を導出するための行列方程式がどのような成分の組み合わせで構成されるかを手軽に学習できるようになる。
(一次変換行列モード)
図12は前記電子計算装置の行列計算機能における一次変換行列モード処理を示すフローチャートである。
図13は前記電子計算装置の一次変換行列モード処理に伴う一次変換行列とそのグラフ表示状態を示す図である。
キー入力部12における「モード」キー12bの操作により液晶表示部13に表示される動作モードの選択画面において行列モードが選択されて設定され、続いて液晶表示部13に表示される行列モード内でのモード選択画面において「設定」キー12dの操作により一次変換行列モードが設定されると、図13における一次変換行列モード処理が起動される。
この一次変換行列モード処理では、グラフ画面上で一次変換行列と変数を含む変換対象行列とを表示させ当該変数値を変更入力すると、その変更前後に応じて異なる一次変換の座標表示が行われるもので、まずこの一次変換行列モード処理が起動されると、図13(A)に示すように、グラフモード処理が並行起動されて液晶表示部13に対し水平・垂直に座標軸を配置したグラフ表示画面が表示される(ステップE1)。
すると、モードデータメモリ17dに記憶されている現在の動作モードを示すモードデータに基づき一次変換行列モードに設定されていることが判断確認され(ステップE2)、例えば図13(A)に示すように、一次変換行列の行列入力エリア[2×2]と当該一次変換の対象となる座標値入力用の行列入力エリア[2×1]とが前記グラフ表示画面上に表示される(ステップE3)。
そして、前記一次変換行列の行列入力エリア[2×2]の各行列位置に対して、任意の一次変換行列成分を入力すると共に(ステップE4)、座標値入力用の行列入力エリア[2×1]の各行列位置に対して、例えば何れかの行列位置に変数を設定して座標成分を入力し(ステップE5)、「入力」キー12cにより確定操作を行うと(ステップE6)、前記行列入力エリアにおいて変数Aが含まれていることが判断されてその変数Aに対応する座標成分値の入力ガイド「A=」が表示される(ステップE7→E8)。
ここで、前記変数Aに対応する座標成分値の入力ガイド「A= 」に従って、例えば図13(B)に示すように、「A=1」と入力し、全ての変数値が入力確定されたと判断されると(ステップE8,E9)、前記入力された一次変換行列の行列成分に従って座標値を入力した行列成分に対する一次変換の演算が実行される(ステップE10)。
すると、図13(C)に示すように、前記座標軸が表示されているグラフ表示エリアに対し、前記一次変換実行前の座標成分に対応した座標位置aを示すグラフ表示が行われると共に、前記一次変換実行後の座標成分に対応した座標位置a′を示すグラフ表示が行われる(ステップE11,E12)。
ここで、前記グラフ表示画面上には、「再変数実行?」か「再行列指定?」かの選択メッセージが表示され、「再変数実行?」が選択されて「実行」キー12eが操作されると、前記ステップE4以降の処理に戻り、前記一次変換行列中の各行列成分及び座標値行列に対する各座標成分の再入力に従った変更後の各入力成分に対応する前記同様の一次変換演算処理及びグラフ座標表示処理が行われる(ステップE13→E4〜E12)。
また、前記グラフ表示画面上に表示された選択メッセージ「再行列指定?」が選択されて「実行」キー12eが操作されると、前記ステップE3以降の処理に戻り、一次変換行列の行列入力エリアと座標値入力用の行列入力エリアとのグラフ表示画面上での再表示から始め、新たな一次変換行列と座標値行列に従った前記同様の一次変換演算処理及びグラフ座標表示処理が行われる(ステップE14→E3〜E12)。
したがって、前記構成の電子計算装置の行列計算機能における一次変換行列モード処理によれば、グラフ表示画面と共に表示される一次変換行列及びその一次変換の対象となる座標値行列の各入力エリアにおいて、一次変換行列の各行列成分及び座標値行列の各座標成分をそれぞれ任意の値で入力して「実行」キー12eを操作すると、前記一次変換行列に従った座標値行列の一次変換処理が実行されると共に、該一次変換前の座標位置と一次変換後の座標位置とのグラフ座標が表示される。そして、前記各行列成分中に変数を含ませその変数値に新たな行列成分を再入力する毎に、該変数変更後の新たな一次変換処理及び座標位置グラフ表示処理が行われるので、前記変数をセットした行列位置の成分変更前後における一次変換の状態をグラフ画面上で容易に確認できるようになる。
なお、前記実施形態において記載した手法、すなわち、図2のフローチャートに示す行列段階演算モード処理、図4のフローチャートに示す行列解構成成分表示モード処理、図6のフローチャートに示す行列演算成分色表示モード処理、図8のフローチャートに示す逆行列の分解演算モード処理、図10のフローチャートに示す行列成分の方程式演算モード処理、図12のフローチャートに示す一次変換行列モード処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記録媒体20に格納して配布することができる。そして、コンピュータは、この外部記録媒体20に記録されたプログラムを記録媒体読み取り部19によって読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した各種の行列演算機能を実現し、前述した手法による同様の処理を実行することができる。
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク上を伝送させることができ、このネットワークに接続されたコンピュータ端末の伝送制御部21によって前記のプログラムデータを取り込み、前述した各種の行列演算機能を実現することもできる。