PHPの数値計算ライブラリmathPHPを使う(2)複素数、クォータニオン(四元数)、有理数も使える。有理数が⁵/₆みたいな出力になるのが面白い。
1回目は行列を扱った。今回は複素数、クォータニオン(四元数)、有理数を試してみる。
まずは複素数の四則演算とベキ。残念ながらsinやlog, expはないようだ。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\Number\Complex;
//複素数
$z1 = new Complex(1, 2);
$z2 = new Complex(3, 4);
$z3 = $z1->add($z2);
$z4 = $z1->subtract($z2);
$z5 = $z1->multiply($z2);
$z6 = $z1->divide(($z2));
$z7 = $z1->pow($z2);
print("z1 + z3 = $z3\n");
print("z1 - z3 = $z4\n");
print("z1 * z3 = $z5\n");
print("z1 / z3 = $z6\n");
print("z1 ^ z3 = $z7\n");
|
z1 + z3 = 4 + 6i
z1 - z3 = -2 - 2i
z1 * z3 = -5 + 10i
z1 / z3 = 0.44 + 0.08i
z1 ^ z3 = 0.12900959407447 + 0.03392409290517i
と出た。
次はクォータニオン。この例題を使った。
https://manabitimes.jp/math/983
<?php
require_once __DIR__ . '/vendor/autoload.php';
Use MathPHP\Number\Quaternion;
//クォータニオン(r, x, y, z)の順
$q = new Quaternion(0, 1/sqrt(2), 1/sqrt(2), 0);
$a = new Quaternion(0, 3, 0, 0); // A=3i
$b = $q->multiply($a->multiply($q->complexConjugate()));
print("$b\n");
|
3jと出た。
次は有理数。面白い出力になる。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\Number\Rational;
//有理数
$r1 = new Rational(0, 1, 2);
$r2 = new Rational(0, 1, 3);
$r3 = $r1->add($r2);
$r4 = $r1->subtract($r2);
$r5 = $r1->multiply($r2);
$r6 = $r1->divide($r2);
print("r1 + r2 = $r3\n");
print("r1 - r2 = $r4\n");
print("r1 * r2 = $r5\n");
print("r1 / r2 = $r6\n");
|
r1 + r2 = ⁵/₆
r1 - r2 = ¹/₆
r1 * r2 = ¹/₆
r1 / r2 = 1 ¹/₂
⁵/₆とか面白いな。さて次は(続く)。
« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »
「パソコン・インターネット」カテゴリの記事
- PythonでFDTD法で電磁界シミュレーションできるopenEMSを使う(2)例題にあるマイクロストリップパッチアンテナ(MSA)を計算する。Sパラメータや入力インピーダンスだけでなく近傍界から遠方界の変換で指向性も計算できる。電流分布も動画で見る。給電はLumpedポートが使える。(2025.05.19)
- PythonでFDTD法で電磁界シミュレーションできるopenEMSを使う(1)例題にあるマイクロストリップラインのノッチフィルタ(スタブ)を動かして電磁界分布を動画で見てみる。CSXCADでモデルは確認できるし、ParaViewで電磁界分布が見られる。Sパラメータも計算できる。(2025.05.14)
- ユニクロとAkamaiのコラボTシャツに書かれているコードを解読してみる。base64でデコードするとbashのシェルスクリプトが出てきて実行すると♥PEACE♥FOR♥ALL♥FOR♥ALL♥PEACE♥FOR♥ALL♥という文字が色付きで正弦波で流れた。(2025.05.01)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年5月21日 TDKが0201のRFインダクタ発表、InfineonがUWBのFiraコンソーシアムの理事会に、ubloxがロボット用GNSSモジュール発表、FibocomがMediaTekのT930を使った5Gモジュール発表、Motolora Edge 60 Pro分解動画(2025.05.21)
- 高周波・RFニュース 2025年5月17日 QualcommがSnapdragon 7 Gen4発表と6Gウェビナー開催、Broadcomが200G/レーンの第三世代CPO発表、IEEE Antenna and Propagation Magazineは電磁気解析の計算再現性・ベンチマーク、Perasoがミリ波デバイスを200万個出荷と発表(2025.05.17)
- 高周波・RFニュース 2025年5月16日 BAWフィルタのAkoustisがSpace Xの子会社に売却へ、DuPontがPyraluxなどのエレクトロニクス部門をスピンオフさせQnityという名前に、Microwave Journal5月号でローデ・シュワルツが最新スペアナ解説、GSAが5G Advancedレポート発行(2025.05.16)
- 高周波・RFニュース 2025年5月15日 2025 104th ARFTG のプロシーディング公開、R&SがRF Testing Innovations Forum開催、IEEE Journal of Microwaves5月号発行、Microwave Journal5月特別号は宇宙特集、QorvoがMatter用SoC 3種発売、MediaTekが5G FWA用T930発売(2025.05.15)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年5月21日 TDKが0201のRFインダクタ発表、InfineonがUWBのFiraコンソーシアムの理事会に、ubloxがロボット用GNSSモジュール発表、FibocomがMediaTekのT930を使った5Gモジュール発表、Motolora Edge 60 Pro分解動画(2025.05.21)
- 高周波・RFニュース 2025年5月17日 QualcommがSnapdragon 7 Gen4発表と6Gウェビナー開催、Broadcomが200G/レーンの第三世代CPO発表、IEEE Antenna and Propagation Magazineは電磁気解析の計算再現性・ベンチマーク、Perasoがミリ波デバイスを200万個出荷と発表(2025.05.17)
- 高周波・RFニュース 2025年5月16日 BAWフィルタのAkoustisがSpace Xの子会社に売却へ、DuPontがPyraluxなどのエレクトロニクス部門をスピンオフさせQnityという名前に、Microwave Journal5月号でローデ・シュワルツが最新スペアナ解説、GSAが5G Advancedレポート発行(2025.05.16)
- 高周波・RFニュース 2025年5月15日 2025 104th ARFTG のプロシーディング公開、R&SがRF Testing Innovations Forum開催、IEEE Journal of Microwaves5月号発行、Microwave Journal5月特別号は宇宙特集、QorvoがMatter用SoC 3種発売、MediaTekが5G FWA用T930発売(2025.05.15)
« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »
コメント