PHPの数値計算ライブラリmathPHPを使う(1)まずは行列計算。連立方程式、逆行列、行列式はもちろん、LU分解、QR分解、コレスキー分解なども簡単にできる。
過去にVisual C#用の数値計算ライブラリMath.NET numericsやJavaScript用の数値計算ライブラリmath.jsを使って遊んでみたが、
今回はPHPの数値計算ライブラリ、mathPHPを使ってみる。
https://github.com/markrogoyski/math-php
インストールは書いてある通りにすればすぐできた。機能かなり充実している。ではまずは連立方程式、逆行列、行列式を計算してみよう。
事例はJavaScriptのときに使ったもの。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\LinearAlgebra\MatrixFactory;
use MathPHP\LinearAlgebra\Vector;
$m = [
[ 2, 1, 1],
[-1, 1, -1],
[ 1, 2, 3]
];
$A = MatrixFactory::create($m);
$b = new Vector([2, 3, -10]);
$x = $A->solve($b);
$A_inv = $A->inverse();
$detA = $A->det();
print("x = $x\n");
print("A⁻¹ = $A_inv\n");
print("det(A) = $detA\n");
|
結果は
x = [3, 1, -5]
A⁻¹ = [0.55555555555556, -0.11111111111111, -0.22222222222222]
[0.22222222222222, 0.55555555555556, 0.11111111111111]
[-0.33333333333333, -0.33333333333333, 0.33333333333333]
det(A) = 9
となって一瞬で計算できた。めっちゃ簡単。
行列の分解もLU分解(とCrout分解)、QR分解、コレスキー分解、特異値分解(SVD、これは別の記事で書く)などが簡単にできる。
QR分解やってみよう。Wikipediaに出てた例題を使う。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\LinearAlgebra\MatrixFactory;
$A = MatrixFactory::create([[12, -51, 4],
[6, 167, -68],
[-4, 24, -41],
]);
$QR = $A->qrDecomposition();
$Q = $QR->Q;
$R = $QR->R;
print("Q = $Q\n");
print("R = $R\n");
|
Q = [-0.85714285714286, 0.39428571428571, 0.33142857142857]
[-0.42857142857143, -0.90285714285714, -0.034285714285714]
[0.28571428571429, -0.17142857142857, 0.94285714285714]
R = [-14, -21, 14]
[5.5169544146758E-17, -175, 70]
[6.1489275210009E-18, -3.5527136788005E-15, -35]
となってこれも簡単に計算できた。
ちょっといろいろ使ってみよう(続く)。
« 2025年のマグロの初競り価格は2億700万円。ということで1999年からの価格推移をリニアスケールとログスケールでプロット。 | トップページ | 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 »
「パソコン・インターネット」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/5-4/12(2026.04.12)
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
「学問・資格」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- 高周波・RFニュース 2026年4月17日 atisの3GPP Rel.20ウェビナー動画公開、MWCバルセロナ2026でのGSMA Device Enablement Summit資料公開、ハリファ大学が無線周波数AI言語モデルRF-GPT発表、レドームの解説など(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- 高周波・RFニュース 2026年4月16日 AmazonがGlobalstarを買収、GSMAが日本のデジタル化をレポート、Mini-Circuitsがケーブルアセンブリを動画で解説、Kymetaが米国海軍研究局と衛星通信で契約、PerasoがドローンIFF向け60GHzモジュール出荷、SEMCOが1500V耐圧MLCC発表(2026.04.16)
- 高周波・RFニュース 2026年4月15日 Microwave Journalはアンプと発振器特集、Signal Integrity Journalは100GHz越えのインターコネクトのAIを使うHFSSモデル化、ローデ・シュワルツが潜水艦通信をUDT2026で発表、Xiaomi Poco X8 Pro分解動画、atisの5Gポリシーレポート(2026.04.15)
「旅行・地域」カテゴリの記事
「日記・コラム・つぶやき」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- 高周波・RFニュース 2026年4月17日 atisの3GPP Rel.20ウェビナー動画公開、MWCバルセロナ2026でのGSMA Device Enablement Summit資料公開、ハリファ大学が無線周波数AI言語モデルRF-GPT発表、レドームの解説など(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- 高周波・RFニュース 2026年4月16日 AmazonがGlobalstarを買収、GSMAが日本のデジタル化をレポート、Mini-Circuitsがケーブルアセンブリを動画で解説、Kymetaが米国海軍研究局と衛星通信で契約、PerasoがドローンIFF向け60GHzモジュール出荷、SEMCOが1500V耐圧MLCC発表(2026.04.16)
- 高周波・RFニュース 2026年4月15日 Microwave Journalはアンプと発振器特集、Signal Integrity Journalは100GHz越えのインターコネクトのAIを使うHFSSモデル化、ローデ・シュワルツが潜水艦通信をUDT2026で発表、Xiaomi Poco X8 Pro分解動画、atisの5Gポリシーレポート(2026.04.15)
« 2025年のマグロの初競り価格は2億700万円。ということで1999年からの価格推移をリニアスケールとログスケールでプロット。 | トップページ | 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 »


コメント