Javaの数値計算ライブラリApache Commons Mathを使う(準備編) eclipseをインストールしてライブラリも入れるが最新バージョンの4.0beta1だと複素行列がうまくいかない。3.6.1ならOK。とりあえず複素行列の加減乗、トレースを計算。グラフのためにJFreeChartも入れる。
これまでVisual C#(Basic, F#)、JavaScript、PHPなどの数値計算ライブラリを試してきたが今度はJavaでやってみる。
本当はClojureを使いたいがあまりにJavaのことを知らないでやるのもどうかと思ったので。
今回は準備編。
IDEはeclipseで日本語化も含めてこちらから。
数値計算ライブラリはApache Commons Mathを使う。
https://commons.apache.org/proper/commons-math/
ただ問題は最新バージョンの4.0beta1だと複素行列がうまくいかない。3.6.1ならOK。
こちらのアーカイブからダウンロードできる。
https://archive.apache.org/dist/commons/math/
プロジェクト管理はMavenを使うのが推奨のようだが、まあ数値計算のお試しなので普通のJavaプロジェクトでやってみる。
プロジェクトを作成して、その名前を右クリックしてビルド・パス→外部アーカイブの追加でダウンロードしたjarファイルを指定する。
javadocもダウンロードされるのでライブラリのオプション→Javadocロケーションのここに入れるとよさそう。
ではまずは準備として複素行列の定義、加減乗、トレースのような簡単なものをやってみる。ちなみにFieldMatrixのところを全部RealMatrixすればもっと簡単に実行列の計算ができる。
import org.apache.commons.math3.complex.*;
import org.apache.commons.math3.linear.FieldMatrix;
import org.apache.commons.math3.linear.MatrixUtils;
public class MatrixCalc {
public static void main(String[] args) {
Complex[][] a_array =
{
{new Complex(1.0, 2.0), new Complex(3.0, 4.0)},
{new Complex(5.0, 6.0), new Complex(7.0, 8.0)}
};
Complex[][] b_array =
{
{new Complex(9.0, 10.0), new Complex(11.0, 12.0)},
{new Complex(13.0, 14.0), new Complex(15.0, 16.0)}
};
var a = MatrixUtils.createFieldMatrix(a_array);
var b = MatrixUtils.createFieldMatrix(b_array);
DisplayMatrix(a.add(b));
DisplayMatrix(a.subtract(b));
DisplayMatrix(a.multiply(b));
System.out.println(a.getTrace());
}
static void DisplayMatrix(FieldMatrix<Complex> m) {
for (int i = 0; i < m.getRowDimension(); i++) {
System.out.print("[");
for (int j = 0; j < m.getColumnDimension(); j++) {
System.out.print(m.getEntry(i, j));
if (j < m.getColumnDimension() - 1) {
System.out.print(", ");
}
}
System.out.println("]");
}
}
}
|
ちゃんと結果が
[(10.0, 12.0), (14.0, 16.0)]
[(18.0, 20.0), (22.0, 24.0)]
[(-8.0, -8.0), (-8.0, -8.0)]
[(-8.0, -8.0), (-8.0, -8.0)]
[(-28.0, 122.0), (-32.0, 142.0)]
[(-36.0, 306.0), (-40.0, 358.0)]
(8.0, 10.0)
と出力された。ということで
高周波&数値計算関係記事リンク集
の例をやっていく。
グラフのプロットはJFreeChartを使うことにした。これも上と同じくビルド・バスの追加でOK。
https://www.jfree.org/jfreechart/
こちらなどを全面的に参考にしている。
http://javadrive.s25.xrea.com/jfreechart/index.html
« 高周波・RFニュース 2025年8月25日 everythingRFが記事やホワイトペーパーを学習させた生成AI The RF AI Expertを発表、2xThru法について聞いてみた。Oakley x Meta HSTNsスマートグラスをiFixitが分解、Qorvoの電源管理eBook、QuectelのISM向けアンテナ | トップページ | 高周波・RFニュース 2025年8月26日 everythingRFマガジン最新刊発行、Samsung Galaxy Z Flip7分解動画、5Gミリ波AiPはやっぱり1個、SONY Xperia 1VII分解動画、RFは同軸じゃなくてフレキ、0Ω抵抗解説、PlayerDataのスポーツトラッカーにNordicのSoC,PMICが採用 »
「パソコン・インターネット」カテゴリの記事
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8(2026.02.08)
- Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。(2026.02.10)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/1/25-2026/2/1(2026.02.01)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など(2026.02.13)
- 高周波・RFニュース 2026年2月12日 IEEE Antenna and Propagation Magazineに量子アニーリングの記事、AI-Drivenワイヤレスサミットが3月末に開催、3GPPのCT, SA WG会議がインドのゴア州で開催中、Infineon GaN Insights 2026(2026.02.12)
- 高周波・RFニュース 2026年2月11日 IEEE Microwave Magazineは女性研究者特集、Emerson/NIの2026年通信業界トレンドのホワイトペーパー、アンリツが6G FR3対応の測定器発表、GSAの2月度NTNレポートなど(2026.02.11)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8(2026.02.08)
- Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。(2026.02.10)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年2月13日 GSMAが農村部の通信改善には1GHz以下が必要とレポート、Skyworksがクロックバッファのラインアップ拡充、YageoがWi-Fi 7向けグランド非依存アンテナ発表、SamsungがHBM4量産など(2026.02.13)
- 高周波・RFニュース 2026年2月12日 IEEE Antenna and Propagation Magazineに量子アニーリングの記事、AI-Drivenワイヤレスサミットが3月末に開催、3GPPのCT, SA WG会議がインドのゴア州で開催中、Infineon GaN Insights 2026(2026.02.12)
- 高周波・RFニュース 2026年2月11日 IEEE Microwave Magazineは女性研究者特集、Emerson/NIの2026年通信業界トレンドのホワイトペーパー、アンリツが6G FR3対応の測定器発表、GSAの2月度NTNレポートなど(2026.02.11)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/2/1-2026/2/8(2026.02.08)
- Google Antigravityで、いつも見ている高周波関連サイト数十をスクレイピングしてローカルLLM(OllamaのQwen3:8b)で1週間分まとめてもらうRF Weekly Digestを作ってもらった。モデルはGemini 3 Proで。Google AI StudioのBuildで作ったものよりはちょっと劣るか。(2026.02.10)
« 高周波・RFニュース 2025年8月25日 everythingRFが記事やホワイトペーパーを学習させた生成AI The RF AI Expertを発表、2xThru法について聞いてみた。Oakley x Meta HSTNsスマートグラスをiFixitが分解、Qorvoの電源管理eBook、QuectelのISM向けアンテナ | トップページ | 高周波・RFニュース 2025年8月26日 everythingRFマガジン最新刊発行、Samsung Galaxy Z Flip7分解動画、5Gミリ波AiPはやっぱり1個、SONY Xperia 1VII分解動画、RFは同軸じゃなくてフレキ、0Ω抵抗解説、PlayerDataのスポーツトラッカーにNordicのSoC,PMICが採用 »





コメント