TypeScriptで複素数クラスを作って複素数の四則演算、exp、べき、logの計算ができるようにした。大昔にJavaScriptで作ったり、数値計算ライブラリmathjsを使ったりしたがもうちょっとお手軽なものが欲しかったので。
だいぶ昔にこれを書いたが、いまだによくアクセスがある。ただ全くJavaScriptの知識がないまま書いたのでいまいち。
一方JavaScript/TypeScriptには数値計算ライブラリ math.jsというのがあってしばらく遊んでいた。最後につけているリンク参照。
これはこれで便利だが、複素数だけ使いたいというときには大げさ。
なので、今度はTypeScriptで複素数クラスを作ってみた。今回もほぼTypeScriptの知識はないのだが…
こんな感じのcomplex.tsを作って、
これをこんな感じで使う。
結構お手軽に計算できた。さてこれで何をやろうとしているかというと(続く)。
<math.jsの事例>
JavaScriptの数値計算ライブラリmathjsを使う(1) まずは行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。このココログで直接計算できる機能も付けた。
JavaScriptの数値計算ライブラリmathjsを使う(2) 次は複素数演算。四則演算や平方根、べき乗、expなどが簡単にできる。このココログで直接計算できる簡易電卓を作ってみた。
JavaScriptの数値計算ライブラリmathjsを使う(3) Plotlyを併用して関数をグラフ表示する。ココログでもグラフ表示できるようになった。
JavaScriptの数値計算ライブラリmathjsを使う(4) 高速フーリエ変換(FFT)を計算してココログにplotlyでグラフ表示できるようにする。。
JavaScriptの数値計算ライブラリmathjsを使う(5) 複素行列の固有値・固有ベクトルを求める。ココログで計算できるようにした。
JavaScriptの数値計算ライブラリmathjsを使う(6) 特異値分解(SVD)、主成分分析(PCA)を計算してみる。このココログでも計算できるようにした。
JavaScriptの数値計算ライブラリmathjsを使う(7) マンデルブロ集合を描く。このココログでも計算して図示できるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(8) 4段4次のルンゲクッタ法でローレンツ方程式を計算。このココログでもPlotlyで3次元でぐりぐり動かせるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(9) 仏陀のお姿のフラクタル Buddhabrot(ブッダブロ)を描く。このココログでも計算できるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(10) リーマンゼータ関数(Riemann Zeta function)を計算、3次元化してPlotlyでぐりぐり動かす
今回のコードのVisual Studio Codeの画像:
« すぐコンサル的な人は問題と課題は違うというが、あれは誰が言い出したんだろうか。マナー講師みたいなルール。辞書的には同じ風で、たぶん英語ならIssueとTask(Challenge)のような感じで違うものをわざと同じような単語でごまかしている?…戦略と戦術も同じ匂いがする。 | トップページ | Excelの自動化がいつの間にかVBAじゃなくてデスクトップ版でもOfficeスクリプト(TypeScript)で出来るようになっていた。Python in Excelとか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »
「パソコン・インターネット」カテゴリの記事
- Xのタイムラインが何かランダムウォークのガウス分布じゃなくて逆正弦法則のように見えてきている…仕方ないのでJulia言語でモンテカルロシミュレーションで試行回数を変えて逆正弦法則とガウス分布を見る。(2025.07.16)
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- Gemini CLIが使えるようになっていたので早速VSCodeのターミナルから使って、JavaScriptで連立一次方程式を計算するコードを書いてもらった。普通にガウスの消去法で計算するhtmlを作ってくれた。(2025.06.27)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年7月17日 IEEE Microwave Magazineで地上監視レーダ解説など、Microwave Journalでミリ波AiPのOTA測定解説など、5G Americasが5G Advancedホワイトペーパー発行、TDKのAI 微細欠陥検出edgeRX Vision、IEEE Trans. on THz の今月号発行(2025.07.17)
- Xのタイムラインが何かランダムウォークのガウス分布じゃなくて逆正弦法則のように見えてきている…仕方ないのでJulia言語でモンテカルロシミュレーションで試行回数を変えて逆正弦法則とガウス分布を見る。(2025.07.16)
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年7月17日 IEEE Microwave Magazineで地上監視レーダ解説など、Microwave Journalでミリ波AiPのOTA測定解説など、5G Americasが5G Advancedホワイトペーパー発行、TDKのAI 微細欠陥検出edgeRX Vision、IEEE Trans. on THz の今月号発行(2025.07.17)
- Xのタイムラインが何かランダムウォークのガウス分布じゃなくて逆正弦法則のように見えてきている…仕方ないのでJulia言語でモンテカルロシミュレーションで試行回数を変えて逆正弦法則とガウス分布を見る。(2025.07.16)
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
« すぐコンサル的な人は問題と課題は違うというが、あれは誰が言い出したんだろうか。マナー講師みたいなルール。辞書的には同じ風で、たぶん英語ならIssueとTask(Challenge)のような感じで違うものをわざと同じような単語でごまかしている?…戦略と戦術も同じ匂いがする。 | トップページ | Excelの自動化がいつの間にかVBAじゃなくてデスクトップ版でもOfficeスクリプト(TypeScript)で出来るようになっていた。Python in Excelとか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »
コメント