アフィリエイト広告を利用しています

2018年05月08日

HP-42S: 複素数を記憶レジスターに保存する

HP-42S には, 25 個のユーザーに解放されている記憶レジスター
\begin{equation*}
\newcommand{\Ar}[1]{\mathrm{Ar}(#1)}
\newcommand{\ar}{\mathrm{ar}}
\newcommand{\arop}{\Opp{\mathrm{ar}}}
\newcommand{\Func}[2]{\mathrm{Func}(#1,#2)}
\newcommand{\Hom}{\mathrm{Hom}}
\newcommand{\Id}[1]{\mathrm{id}_{#1}}
\newcommand{\Mb}[1]{\mathbf{#1}}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Ob}[1]{\mathrm{Ob}(#1)}
\newcommand{\Opp}[1]{{#1}^{\mathrm{op}}}
\newcommand{\Pos}{\mathbf{Pos}}
\newcommand{\q}{\hspace{1em}}
\newcommand{\qq}{\hspace{0.5em}}
\newcommand{Rest}[2]{{#1}|{#2}}
\newcommand{\Src}{d^{0,\mathrm{op}}}
\newcommand{\Tgt}{d^{1,\mathrm{op}}}
\Mr{R}_{00}, \Mr{R}_{01}, \ldots \Mr{R}_{24}
\end{equation*} が存在する. これらは $\Mr{REGS}$ という名前の $25 \times 1$ 行列として管理されている.
通常は各記憶レジスターには実数または英数文字列しか保存することができない.

記憶レジスターに複素数を保存できるようにするためには, 以下を実行する.

0 ENTER COMPLEX ; ゼロを複素数として入力する.
STO + REGS ; REGS 行列 (の各成分) に複素数としてのゼロを加える.

これで $\Mr{REGS}$ 行列が複素数形式に変換される.
具体的には, 通常は $25 \times 1$ 行列である $\Mr{REGS}$ 行列の各要素の実数に複素数が加えられる. 実数と複素数の演算が行われるとき, 実数データが複素数に変換される.
この変換により, $\Mr{REGS}$ 行列が実部のための $25 \times 1$ 行列と虚部のための $25 \times 1$ 行列の合わせて $25 \times 2$ 行列になる.

ただし, 複素数形式の $\Mr{REGS}$ 行列には英数文字列は保存できない (実数は虚部が $0$ の複素数として保存される).
このことにより, 複素数形式に変換する前の $\Mr{REGS}$ 行列のいずれかの記憶レジスターに英数文字列が保存されている場合, 上記の操作によって $\Mr{REGS}$ 行列を複素数形式にしようとすると

Alpha Data Is Invalid

というエラーメッセージが出力されて変換に失敗する. 英数文字列が保存されている記憶レジスターを実数データで上書きするか,

CLEAR CLRG

によって $\Mr{REGS}$ 行列を $0$ クリアーしておく必要がある.

では, 英数文字列を保存し, なおかつ記憶レジスターに複素数を保存したい場合にはどうすればいいのか?
英数文字列をユーザー定義の変数に退避させておくのは一つの方法となる. 他にやり方があるのかは現時点ではわからない.

上記と逆に, 複素数形式の $\Mr{REGS}$ 行列を元の形式に戻すためには次を実行する.

RCL REGS ; 記憶レジスターのコピーを X レジスターに呼び出す.
COMPLEX ; 複素行列を 2 つの実数行列 (実部と虚部) に分解する.
x><y ; 実部の行列を X レジスターに移す.
STO REGS ; REGS 行列に実部の行列を保存することによって REGS 行列が実数形式になる.

ここで x><y は HP-42S での $x \gtrless y$ キーを表わしている. このキーを押すことにより, $\Mr{X}$ レジスターの内容 (虚部の行列) と $\Mr{Y}$ レジスターの内容 (実部の行列) が交換されて $\Mr{X}$ レジスターの内容が実部の行列になる.

この操作を行うと, 複素数が保存されていた記憶レジスターの内容は, その複素数の実部のデータとなる.
つまり, 虚部を保存していた $25 \times 1$ 行列が $\Mr{REGS}$ 行列から外されて, 結果として実部の $25 \times 1$ 行列が $\Mr{REGS}$ 行列となる.
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/7633639

この記事へのトラックバック
ファン
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1441)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1404)
(204)
健康(38)
読書(21)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村