忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[1] [2] [3] [4] [5] [6]
昨日、布団の中でふと、「scilabでwaveファイルの出し入れができるよな」って思いだして
ディラックコーンが頭をよぎったんです。

時間のフーリエ変換ができるなら、空間のフーリエ変換だって楽にできておかしくないはずだって

それで、そういえばbmpファイルのバイナリデータをがんばってVBAで取り出してたころのことを思い出して
めんどくさすぎるだろ!ってノリツッコミして

じゃあ、waveを出し入れするみたいに、画像処理用のツールとして
bmpかなんかのデータを出し入れするコマンドも熟成されてるはずだよね

って思って、むくっと起き上がって、スマホを取り出し
いくつかワードを変えてぐぐってみてたんですよ。

そしたら、昔のAPIみたいに、何か付属物をインクルードとかしないといけないにしても
scilabでできるっちゃできるって記事が出てきて

それで、その状態を保持したまま、スマホをほったらかして寝たんです

印象に残ったのは、waveファイルだったら時間1次元しかサンプリングしないからただの列データになるんですけど
2D画像だったら2次元サンプリングだから行列になるんだなーってところでした。


まああとでゆっくりぐぐろうと思うんですけど
2次元でよかったなと。我々3次元人ですからね。


でも、それじゃあ3Dモデリングの元データ?がもし仮にあったら
それを抽出したら3階のテンソルかなんかになるのかってことですよ。

残念ながら、scilabは3次元以上の配列を可視化できないみたいなんですよね。

でも、そもそもその元データとやらは、本当に元データなのか?って気になりますよね。

元データと既知データの中間?ってこともあるかもしれません。
なんていうかただ単にコピーしたpdfにあとからオートシェイプ的なものを追加した感じで
素材がはっきりしてるかしてないか微妙な状態の3Dデータがあるかもしれないんで

あ、そうですね、
たとえばグループ化が解除できない複合ボーンみたいな感じですかね?


そこを利用する側が適当に抽出する際に、3次元配列を使わなきゃならないんじゃないかって思ったんですよ今朝さっき。



あれ?
動きのある3Dデータだと4次元時空になっちゃいますね。
あくまで音データと視覚データは別物だからなあ




あーそういえば、ツイッターでフォローしてる方のつぶやき見てたら、その人と同じようなこと連想して
相対論はあくまで四元ベクトルであって、四元数じゃないんだなって。
なんかすごく惜しいんだよな。

外積の4つ目が内積なのと
磁気の第4成分が電気なのは、同列に扱っていい話なんだろうか?

時間だけがマイナス計量?なのは
クォータニオンの1成分だけが実数なのとは別問題ですもんねえ


なんかこう、その辺の理論の開発者たちの、紆余曲折を見てみたいような。
でもツイッターはやたら情報の流れが速いから、おすすめの本が多すぎて何が何だかわからない><


そもそも、物理wikiは見れるのに、数学wikiは記号に慣れてないので言ってることがわかんないんですよ!
記号論理学もわからないです。足し算と掛け算と引き算だけで成り立たせてる電気・情報畑の連中からしたら、余計な記号増やすな!って感じです





scilabで今後やりたいことといえばですね
fftと逆fftを使った、長時間サイズの音声のノイズ除去だったりとか
時短再生、つまりピッチとテンポを独立にいじったりとか
audacityの上位互換まで行けたらいいなと
たとえば、FM変調(風?)とかaudacityだとできるのかな?スペクトラムも見たい
AM変調はエフェクトのフェードイン・フェードアウトのオプションでできますが、
あれそういえば任意の信号でAM変調って確かできなかったような




あと、画像処理だったら
逆格子?はまあいいとして
インパルス応答の空間バージョンみたいのがやってみたいですね
ただ、空間は時間と違って波動の振幅が、減衰するわけじゃなく、2,3次元に広がって振幅が小さくなるんですよね
空間にわたってとなると、やはりスイカを叩くイメージが出てきてしまうのですが

これはあくまで音のインパルス応答だからなんか違う

振動じゃなくて波動なんじゃないかな
定在波的な感じの・・・時間じゃなく空間の広がりに対する応答というか。

水面に液滴をたらしたときの波紋とかシミュレーションできればだいぶいいですよね


あ、以上のやつ画像処理じゃないっすね

画像処理だったら
信号の時間じゃなくて空間バージョン
たとえば静止画のノイズ除去だったり、いっぺんに色を変えたり
エッジ抽出とか作りたいですよね
手持ちにないし、なんとなく自作したい願望が。

なんつーか、audacityっぽいいろんなことできる画像処理フリーソフトを持ってないので
そこんとこを自作でできればだいぶいいですよね

静止画だけでなく、それを動画にも転用できる感じで
今まで手作業だった単純作業を自動化できたら素敵だなって

ミスは減るし腱鞘炎にもならなくなるし

拍手[0回]

PR
scilabの本を借りてて、

ホワイトノイズっぽいのを信号に混ぜてから、fftしてノイズを取り除き、
逆fftして(実部を取って)ノイズのない信号として抽出っていう例題が最後にあったんだ。


そこに、乱数コマンドとしてrandがあって、normalっていうオプションがあって
これはなんだろう?と気になった。

周波数空間だと、そりゃぁ一様に、ホワイトノイズっぽく見える。

じゃあこの乱数は一体何乱数なんだぁー!?

ぐぐってみたら、ガウス分布であって、一様乱数ではなかった。

まあそりゃそうだよな。

一様乱数が平平らさんになるのはヒストグラムだっつーの


っつーわけで、信号に足すノイズを、ホワイトノイズではなく一様乱数uniformにしてみたところ
ものっそい低周波成分がでかすぎて、除去しきれてないことがわかった。



いちおう、ぐぐった結果を報告しておくと、
ホワイトノイズ=ガウシアン分布 ではないらしい。
似てるけど厳密には異なる。
けど、実用的にほぼ混ぜられて使われてる感じらしい。
どっちかがどっちかの部分集合みたいな感じだったかな?



それと、scilabは元々信号処理や制御工学のための言語だから
音声信号をwavファイルとして出し入れできるのは当たり前なんだけど

僕が読んだ教科書のサンプルコードでは、一瞬過ぎて聞き取れないくらいのデータだったので
どんな音が除去されてどう聞こえるのかは、波形は見れたけども聞いてわかることはできなかった。


そうだな、出力ファイルをaudacityにぶち込んで、聞こえる秒数にまで倍々にコピペし続ける
とかすればまあ聞くことはできるだろう。


それと、今回のサンプルコードでは抽出する周波数は2本しかなく
ノイズと信号のS/N比がはっきりしすぎているため
実用的な音声ファイルに適用できるかどうかは不明


敷居値以下の信号をゼロにするってアルゴリズムだから
信号に混ざってしまったノイズは取り除けないんじゃないかな



さっそくaudacity先生にご高説願おうではないか。

拍手[0回]

けものフレンズ

サーバル「「へきさぼなっち」って、なになに?」

かばん「サーバルちゃん、数列って知ってる?」

サーバル「一定のルールに沿って数が電車みたいに並んでる現象のことだよね?」

かばん「いくつか例をあげてもらっていいかな?」

サーバル「2,4,6,8,10・・・」

かばん「これは等差数列だね」

サーバル「やったぁ!」

かばん「差が常に一定、つまりこの場合はいつも2だから、等差数列って呼ばれるんだ。ほかには?」

サーバル「2,4,8,16,32・・・」

かばん「こっちは等比数列だね。次の数に行くときに、いつも2倍されるんだね」

サーバル「うんうん。」

かばん「0,1,1,2,3・・・この次わかるかな?」

サーバル「4じゃない?」

かばん「残念でした。5だよ。0,1,1,2,3、5の後、8,13、21、・・・って続いていくんだけど、どういうルールになっているか、わかるかな?」

サーバル「等差でもないし、等比でもないし・・・うーん・・・わかんないや!」

かばん「1つ目の0と2つ目の1を足して3つ目の1
2つ目の1と3つ目の1を足して4つ目の2。これならどう?」

サーバル「(中略)8+13=21・・・!すっごーい!なにこれなにこれ!?」

かばん「漸化式っていうんだ。1つ目の芋を掘りだしたら、次の芋が出てくる、みたいな感じの数列の表現方法なんだ。ちなみに、この数列の名前は「フィボナッチ数列」っていうんだよ」

サーバル「そうなんだ。フィボナッチって、なに?」

かばん「フィボナッチさんって人の名前だよ。例えばサーバルちゃんが新しい数列を発見したら、サーバル数列、みたいに名前がつくんだよ」

サーバル「あたしも数列に名前つけてみたーい!」

かばん「がんばればサーバルちゃんもできるかもしれないね。ただ、昔は数列を見つけるのが得意なフレンズがたくさんいて、星の数ほど名前がつけられているから、ちょっと難しいかもしれない」

サーバル「フィボナッチ数列が、前の2つの数列の合計なら、3つだったらサーバル数列にならない!?」

かばん「ごめんねサーバルちゃん。それにはもう「トリボナッチ数列」って名前が付けられちゃってるんだ」

サーバル「4つならかのー!?」

かばん「うーん、ごめんね。こっちには「テトラボナッチ」って名前があって・・・この手のルールにはもうほぼほぼ全部名前がついちゃってるんだ。」

サーバル「トリボナッチさんとテトラボナッチさん?血ではなく心で繋がった家族かなにかなの?」

かばん「これはダジャレっていって、人名ではないんだよ。ちょうどフィボナッチさんのフィが「2つの合計」の2、つまりツーの昔の呼び名「ジ」とか「ダイ」に似てたから、それにちなんで、3個,4個,5個なんかの合計も昔の数の呼び名「トリ」「テトラ」「ペンタ」とかそういった感じでつけていったみたい」

サーバル「残念~。じゃあ「ヘキサボナッチ」っていうのも、いくつか合計した数列なの?」

かばん「そう。「ペンタ」のすぐ次が「ヘキサ」なんだ。つまり数列前半6つの合計を7つ目とする、っていう漸化式で成り立った数列、ということになるね」

サーバル「数学ごっこって、すごいねー」

かばん「サーバルちゃん、さっきからこれはごっこじゃなくて、数学そのものだよ^^;」









========
むしゃくしゃして眠かったので、暇つぶしにやりました。
完全にサーバルのキャラが崩壊しています。反省はしていない
眠気覚ましとは言ってない。また寝るかもしれない気満々です

拍手[0回]

フィボナッチ ペンローズ図

たとえば
「フィボナッチ数列のマイナス5.4番目はいくつか」
と言われますと
だいたい「1.02+6.07i」です
と答えることができるんですね。

整数番目じゃなくても、マイナスでも、あるんですよフィボナッチ数列の値は。

ただ、実数の枠から外れて、複素数になっちゃうんです
しかも、マイナスの無限番目からゼロを通って、プラスの無限番目まであるんです。

n番目のnが大きいと、フィボナッチ数列は指数関数的に大きくなるので、
n→±∞だと、数列の値も発散します。

ですが、nをタンジェントの逆関数、つまりアークタンジェントにぶち込むと 無限を有限に押し込むことができます。

これはペンローズ図(ペンローズ・ダイヤグラム)などで、ブラックホールを含んだ時空を解析するときなどに用いられます。

だったら、n番目のフィボナッチ数列F(n)の実部Re(F(n))も、虚部Im(F(n))も nも全部atanにぶち込んでしまえば 立方体の中にぎゅっと詰め込めるじゃないですか
atan(n)-atan(Re(F(n)))-atan(Im(F(n)))
このような3Dのキューブです。

ペンローズ図の見かけの特徴は、真四角か、それを45度傾けたひし形っぽくなることなんですが 実際、Re-Imの図をatanにぶち込むと、螺旋が角張って見えますよね







ソースファイルはこちらです!

拍手[0回]

とりあえずフィボナッチ数列を、両atan方眼紙にぶち込んでみた。


なんかずっと前から勘違いしたまま発信してたみたいで悪いんだけど
実数番目フィボナッチの虚部はゼロじゃなかったわ。

拍手[0回]

確か、フィボナッチは偶数だけど、例外的に数列自体が実数に収まって
フィ以外の偶数ボナッチ数列の拡張版は一般に数列が複素数の無理数で
奇数ボナッチ数列の場合は実数の無理数だったから

対数方眼紙で片付けてしまうのはもったいないんだけども
2Dでとりあえず可視化したかったら、実数で収まる、奇数ボナッチ使っとけ
って感じじゃなかったかな


まあフィボナッチそのものでもいいけど
トリボナッチやペンタボナッチでもいけるんじゃね?

ペンローズダイヤグラム(の光基準バージョン)にぶち込んだら何が起きるだろうか


とりあえずフィボナッチでやってみるか。

今日はまだ休日じゃないし、ちょっとウォーミングアップでやってみよう

拍手[0回]

何も悩むことはなかったのかもしれない。

リニアと対数を行き来する際、変換前も変換後も規格化しておけば
3Dのような複雑なものでも、回転しながらリニア方眼紙と対数方眼紙を簡単に行き来できるのではないか


熱力学で、非線形の連立方程式を解く必要などないのかもしれない

拍手[0回]

一旦失敗したんですけどね(これはクラゲです。球を対数方眼紙にぶち込むとクラゲになります)





目盛を取りすぎたみたいで
1軸につき4本くらいだと、作る側もそんな煩雑にならないし
そんなメモリ(セル)使わないし
3Dでの見栄えもごちゃごちゃにならないし

目安としては1軸4本
2Dより次元が1個多いので、すーぐごっちゃごちゃになるんすよ。



んなもんだから、より扱いやすいモデルを無理やり仕立てて
対数方眼紙のテストプレイをしてみました。

もちろん、対数を使うので、リニアのときの領域は本来、3次元とも正数ですよ。 

拍手[0回]

 
病院の待合室は実に理想的な無駄時間だね。


通院のあとで返そうと思ってた図書館の本を、今回最後の悪あがきで読んでたら
ボード線図とかナイキスト線図とか出てきて、ナイキストのほうはだいぶ忘れてたから
意味を復習できたし、ベクトル軌跡と同じものだってことがわかってよかった。
ニコルス線図は初めて見た。


つまりこの回転するgifでいうところの、数列のn番目ってのが角周波数jw(純虚数)に相当して
数列の実部と虚部がそれぞれ伝達関数の実部と虚部に相当するんだ。

それで、n番目の赤い軸を紙面に立てて真正面から見たのがナイキストに相当して

赤いn番目の軸を回しながら真横から見たのがボード線図的な感じ
回した角度が位相に相当する。
本当はゲインはさらに縦軸の対数を取る必要があるけどね。


ニコルス線図はボード線図をさらに、赤の軸を紙面に立てて見た状態に相当するよね
2つのグラフの横軸が消えるから、縦横バーサスしてやって、ナイキストみたいに1つの図にしてしまえって感じになる。



そう考えると、直交座標よりも極座標、それも対数座標のほうが重宝されてるのがわかるよね


手間はかかるだろうけど、可視化しがいがありそうだなあ

拍手[0回]

5/20の日記を書いたとき、かすかに反響よかったらしいんです。

「それが大事」の6フレーズを無限巡回するグラフ理論の対角化を行ってたんですが
ニッチな需要だと思ってたのに、どうして、声にはならないかすかな需要がこんなに伸びたのか不思議だったんです。

偶然、こないだ信号処理用のscilabの本を借りたんですね。

DFTの理論のところを見てたら

そっくりなんですよこれ!

W8って1の原始複素8乗根じゃないっすか!


びっくりしました。
DFTのことだったら需要があって当然ですよね。

これがW6だったらW6=-w^2={1+i√(3)}/2になるわけです



それにしても、いつ見てもDFTがZ変換に見えて仕方ないと思ったら
こんな一覧表を見つけました!


DTFTのwiki

わかりやしー!いいっすねこれ!


やー、数学の各分野同士って、ほんとに若干ゃ通じてるんですね。ラングランズ感ぱねえっす!
数学ガールの主人公は「ガチでファンタジーしてる」って言ってましたね

拍手[0回]

 
A=[0,-1,1;1,0,-1;-1,1,0]
A=A*2*%pi/3/sqrt(3)
clean(expm(A))

それが大事




5/22の日記の続きです。

「あははは!あはは!アハー↑」
「りょうしきのこ ハ 数学 ヲ オビキヨセルタメニ 声マネ ヲスル ばくてりあダヨ」


これ実は、行列指数関数の中身が実数行列なので、Excelで演算できちゃうんですよね。
指数関数の部分をテイラー展開しちゃえば、行列のべき乗はなんとかなっちゃいますからねー


ところで、scilabは実行ファイルを作りませんが
別に実行ファイルがなくたって、音声ファイルを読みこんだり、作成したりすることはできますよね。
その方法が書かれた本を見つけてきたので、借りてきました^^


なんかちょっと楽しみです。
VBAみたいに、せめてブザー音でもDTMシーケンサみたいなUI、にはなってくれないでしょうが
scilabにはいろんな音色を期待してみたいですね


あと、できればjpgやbmpなんかの読みこみ、書き出しもやってみたいなあ



自分好みのMMDもどきにも挑戦してみたいですし
やっぱワイヤーフレームはしたいですよね。
C#の開発環境も整ったので、どっちでやるかはわかりませんが
腕試しのためにも両方作りたいっていうのはありますねー^^


あとはあれです。
scilabで検算になると思いますけど
複素行列のライブラリを、C#で作ってみたいですね。
C#で作るにあたって、継承とかそういうのを理解しようという企みです^ω^
行列、複素数、どっちがどっちを継承するのかわかりませんが、
僕に欠けている「部品として使う」をマスターしたいっす


画像処理のマクロとかも作れたらいいっすね~

なにができるかな~

拍手[0回]

少し余裕と元気が取り戻せたころに、
改めてウルフラムαにぶち込んだ数式を見て愕然としました。

同じ行列を2回掛け算するところを、わざわざコピペして記述していたのです。
ハット2(2乗)ぐらいウルフラム先生は認識してくれるはずだろうorz

やっぱノってない頭でする作業は「何もやらない」よりもたちが悪い・・・



ウルフラム先生はですね、基本的には地球のインターネットと呼ばれるところに
にすごしていまして
若干ゃ草が生えてるところなので
そういったところでも演算しやすいようにウルフラム先生、あの、不連続な個体で
であと縄張りも大きいので、世界中のユーザーが使えるように。


賢さぁ・・・ですかねぇ。
高度な演算を、スッと、演算できるツールでして
結構抽象度の高い演算が好きなので
軽々と文字式の入った行列の2乗や3乗は余裕で演算してくれますのん

拍手[0回]

もし6次や5次の前に、偶数次の4次で試してみたい場合は


こんな風にして無理やり行列式をプラスの1にしてユニタリ化するよりは
行列式はマイナス1でもいいから、


この形式を貫いた方がよさそうな気がしてきた。


といってもロドリゲスが通用しないのは痛い、というより
本質的に何か方針がおかしい気もする。
生成子の要素が4次行列で6つになってしまうのはよくない。

何かしらの理由で自由度3つを維持し、ロドリゲスのような状態に持っていけるほうが自然のような気がする。
それで、4次元の任意回転軸は2本なのかもしれない。
四角形の対角線の本数が2本(2つの三角形に分ける方法が2通り)なのと通じる何かがあるような気がする。

また、ロドリゲスで計算してみてわかったが
生成子の右上を全部マイナスしてしまうと、


このような行列が生成されてしまうから、これを参考に
生成される行列を全部0かプラスの1になるようにする生成子の符号のつけかたが、
4次元以上での右ネジと定義できるのではなかろうか、どうだろうか
(いちおう、マイナスが入っても、この3次行列のべき乗が6乗ループではなく3乗ループであることは保証されるようだ)

拍手[0回]

ふと思ったんだけど

残念ながらこいつとそのべき乗の行列式は-1になってしまうので定義に当てはまらないが



こっちならモロに、特殊ユニタリ群の定義に当てはまるんだな。

しかも行列の中身は非負の実数、というか0か1の整数しかない。


det=-1
の場合も、準優勝というか惜しかったネ賞というかなんかこう
正負が異なるだけで単位的な実数ではあるんだから
準特殊ユニタリ群みたいな名前がつけられてはいないだろうか

ぱっと見たところないなぁ


特殊ユニタリ群というからには、こいつを作りだす生成子が存在するはずなんだな
特殊ユニタリの生成とは逆のプロセスかなんかを経て、生成子を逆算とかできないだろうか

拍手[0回]

反転の概念を加えると、六角形になってしまう。(x^6=1の複素解)

と思う。


言い切っていいのかどうか悩むのは
以前読みかけた数学ガールのガロア理論のところで
ラングランズ双対群・・・じゃなくて、ラグランジュでもなくて、なんだっけ
なんかこう感覚的にやってると落とし穴にハマることがよくある
ってことを見た覚えがあるからだ



それが大事 固有値 固有ベクトル 対角化 グラフ理論 有向 重みナシ シンプル


つまり、
x^6=1の6つの複素解は、w=(-1+i√(3))/2(の複素共役)とべき乗と、その逆の符号ですべて表しきれるということ

反時計回りに
-w*
w
-1
w*
-w
1



ちょっと油断したら体を冷やしてしまって、飯食ったから喉の痛みは和らいだが
まだ頭痛が割りとひどい。さっさと寝よう。今日通院して、明日も通院なんだ。
ついでにいうと今週の金曜も通院で
来週の水曜は1年越しの通院なんだ




追記5/17+5:44
思い出した!
ラグランジュ・リゾルベントかもしれない!

拍手[0回]



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