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とか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »
「パソコン・インターネット」カテゴリの記事
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
- Claude CodeでGemma 4:26b(Ollama経由, 31bは遅すぎ、e4bはプランモードに入れない)を使ってPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。(2026.04.07)
「学問・資格」カテゴリの記事
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
- 高周波・RFニュース 2026年4月9日 QorvoがXバンドフェイズドアレイレーダ解説、atisがニューロシンボリックコグニティブアシスタントNESYのホワイトペーパー発行、Mini-CircuitsがADSを使ったアンプシミュレーション解説、Vishayがウィルキンソンデバイダ・コンバイナ発表(2026.04.09)
- 高周波・RFニュース 2026年4月8日 BroadcomがOFC2026での出展(200T AI時代)を解説、QualcommがMWCバルセロナ2026でのAIネイティブ6Gについて解説、iFixitがApple AirPods Max 2を分解、TDKが5GHz対応ノイズサプレッションフィルタ発表(2026.04.08)
「日記・コラム・つぶやき」カテゴリの記事
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
- 高周波・RFニュース 2026年4月9日 QorvoがXバンドフェイズドアレイレーダ解説、atisがニューロシンボリックコグニティブアシスタントNESYのホワイトペーパー発行、Mini-CircuitsがADSを使ったアンプシミュレーション解説、Vishayがウィルキンソンデバイダ・コンバイナ発表(2026.04.09)
- 高周波・RFニュース 2026年4月8日 BroadcomがOFC2026での出展(200T AI時代)を解説、QualcommがMWCバルセロナ2026でのAIネイティブ6Gについて解説、iFixitがApple AirPods Max 2を分解、TDKが5GHz対応ノイズサプレッションフィルタ発表(2026.04.08)
« すぐコンサル的な人は問題と課題は違うというが、あれは誰が言い出したんだろうか。マナー講師みたいなルール。辞書的には同じ風で、たぶん英語ならIssueとTask(Challenge)のような感じで違うものをわざと同じような単語でごまかしている?…戦略と戦術も同じ匂いがする。 | トップページ | Excelの自動化がいつの間にかVBAじゃなくてデスクトップ版でもOfficeスクリプト(TypeScript)で出来るようになっていた。Python in Excelとか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »




コメント