忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[3712] [3711] [3710] [3709] [3708] [3707] [3706] [3705] [3704] [3703] [3702]
今、プログラミングのリハビリで、複素数の構造体と、ライブラリ関数を作ってみてるんだけど
べき乗とべき乗根でちょっと困ったなぁと。


そもそも、nを整数として、複素数zの、n乗か1/n乗しか僕はまだ聞いたことがない。

mとnを整数として、複素数zのm/n乗という表現さえ聞いたことがない。

複素数の有理数乗なんて、どっかで使うんだろうか?
ましてや、無理数乗なんてなったら、何価なのかわからなくなってしまう。


ちょっとググってみたところ、

複素数の無理数乗より、複素数の複素数乗のほうが計算するのは簡単だ

という記事を見かけた。なるほど確かにそうだ。


しかし、複素数の無理複素数乗とかになってしまったらやはり困難だ
複素整数という言葉を強く推したい。

ただ、僕はガウス整数というものの概念にはまだあまり詳しくなく
僕の言う「複素整数」は「ガウス整数」そのものではないかもしれない。



さっき階段を上るところでふと気づいたんだけど
もしかして、価数は後付けでいいのか?

たとえばある複素数zの7分の1乗を計算したいとして、コンピュータに入れてしまうと
その1/7というのが近似になってしまい、有理数なのか無理数なのか判別しづらくなってしまうだろう。


しかし、考えているモデルとして、あらかじめ「7次方程式の解」とかそういう指定がされていれば
何も考えずz^(1/7)を素直に計算して

あとから、ああ、こいつらの価数は7だな

と、1の原始複素7乗根を6回まで掛け算すればいい。


特に悩むことはないのかもしれない
z1、z2を(無理)複素数として、pow(z1,z2)を計算しちゃってもいいのかもしれない

というかその前に、zを複素数、aを実数としたべき乗関数、pow(z,a)を実装したほうが堅実だな。




複素数のことが一旦落ち着いたら、この複素数構造体ファイルを別のファイルで読み込んで
3次方程式や4次方程式を「あてずっぽうでなく」解くプログラムを作って動作確認をしたい。

ちょうど4次方程式の中に、入れ子のように3次方程式を使う部分があるので
そういう組み込みの例題としてちょうどいいんじゃなかろうか




その次がまた悩みの種でな
どうも複素行列っていうのが変態紳士枠らしいんだ。

Excelで複素数ライブラリと行列ライブラリが組み合わせられないのは知ってたけど
まさかC言語でも同様のことが起きるとは思ってなかった。

まあ完成はするかしないかわからないし、どこまで作るかわからないし、バグだらけになる可能性もあるけど
いちおうリハビリを兼ねて組んでみたいと思ってる。

それで作ってるうちに慣れるのを期待して
ある程度出来上がってるころには、ほかの言語にも手を出す余裕ができるかもしれない
scilabが有力と聞いているので、おそらくそれ使おうかな。
検算の意味も含めて。


というか最初は実数行列、しかも次数が固定された行列でやらないと、野望が大きすぎて自滅してしまう。
メモリの動的確保はほんと怖い。勘弁してって思う。

Cには複素数ライブラリがあるのは把握してるけど
どうもそれを使うと、僕のトラウマの1つ「コンストラクト」が出てくるらしい。
メモリリークはホント怖いので、おそらくcomplex.hは使わずにって方向になりそうだなぁ


っていうか、自作ファイルをインクルードするっていうこと自体まだほとんどやったことがないから
もしかしたらその時点でcomplex.h同様にコンストラクトを必要とするのかもしれない。



それと、やっぱり僕も例にもれず苦手なポインタ。
行列演算をする際はやっぱりポインタなんだよな・・・
その前に一旦3次の行列で、構造体で作ってからポインタに移植しようか・・・どうしようかなあまじで。
一旦配列でっていうのもありなのかな?でも関数は1つの変数しかリターンしないからなぁ
a.itiiti a.itiniとかやったらアホみたいだけど、やるだけやるかもしれない
あと、配列とポインタの共通点と相違点な。



プログラミングはある意味仕事そのもののようなもので
「できない人に合わせる」んだよな
だから、今時の流れだと、面倒なテクニックはできるだけ避ける
傾向があるらしい。

ポインタ不要論とかオブジェクト指向がどうとか、そういう話もあながち間違いではなく
ちゃんと一理くらいはあるらしい。

でも僕はまだ、その、「面倒なテクニックを避ける」ためのテクニックを知らない。

その上、やっぱり基礎の基礎は固めておきたいよねっていうのも本音のひとつだったりする。

拍手[0回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
カレンダー
02 2024/03 04
S M T W T F S
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
31
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
42
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析