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年からの価格推移をリニアスケールとログスケールでプロット。 | トップページ | 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年12月16日 Microwave Journalの特集は軍事・ドローンを使ったESM等、SEMCOがCLLCコンバータ向けMLCC発表、SpaceXとSTM(フェイズドアレイアンテナのチップ開発)の協業10年、広帯域バランを使ったバランス測定解説(2025.12.16)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2025/12/8-2025/12/14(2025.12.14)
- 高周波・RFニュース 2025年12月13日 5G Americasが米国の5G普及率99%と発表、ZTEが800G Metro Transport Network (MTN) 標準化主導、NordicのnRF9151モジュールがSkylo認証取得、不完全なViaの電気特性解説、QualcommがRISC-VのVentana Micro Systems買収など(2025.12.13)
- 高周波・RFニュース 2025年12月12日 iFixitが水冷スマホRedMagic 11 Proを分解、Qorvoがロボット向けの技術を紹介、SamsungとKTが6Gに向けAI-RANを実証、NordicがnRF9151向けソフトと開発キット発表、Taoglasが6G向けアンテナ設計解説など(2025.12.12)
- 高周波・RFニュース 2025年12月11日 Qualcommが6Gに向けたOBBB法解説、GSMAが欧州のスペクトラム価格についての報告、Menlo Microが防衛向けに高スタンドオフ保護ミリ波スイッチ発表、京セラとローデ&シュワルツがCES2026でミリ波PAAMデモ、iFIxitのスマホアプリ(2025.12.11)
「旅行・地域」カテゴリの記事
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年12月16日 Microwave Journalの特集は軍事・ドローンを使ったESM等、SEMCOがCLLCコンバータ向けMLCC発表、SpaceXとSTM(フェイズドアレイアンテナのチップ開発)の協業10年、広帯域バランを使ったバランス測定解説(2025.12.16)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2025/12/8-2025/12/14(2025.12.14)
- 高周波・RFニュース 2025年12月13日 5G Americasが米国の5G普及率99%と発表、ZTEが800G Metro Transport Network (MTN) 標準化主導、NordicのnRF9151モジュールがSkylo認証取得、不完全なViaの電気特性解説、QualcommがRISC-VのVentana Micro Systems買収など(2025.12.13)
- 高周波・RFニュース 2025年12月12日 iFixitが水冷スマホRedMagic 11 Proを分解、Qorvoがロボット向けの技術を紹介、SamsungとKTが6Gに向けAI-RANを実証、NordicがnRF9151向けソフトと開発キット発表、Taoglasが6G向けアンテナ設計解説など(2025.12.12)
- 高周波・RFニュース 2025年12月11日 Qualcommが6Gに向けたOBBB法解説、GSMAが欧州のスペクトラム価格についての報告、Menlo Microが防衛向けに高スタンドオフ保護ミリ波スイッチ発表、京セラとローデ&シュワルツがCES2026でミリ波PAAMデモ、iFIxitのスマホアプリ(2025.12.11)
« 2025年のマグロの初競り価格は2億700万円。ということで1999年からの価格推移をリニアスケールとログスケールでプロット。 | トップページ | 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 »


コメント