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 ¹/₂
⁵/₆とか面白いな。さて次は(続く)。
« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »
「パソコン・インターネット」カテゴリの記事
- Pascalの開発者ヴィルトさんがお亡くなりになったということで、そういやDelphiってどうなってる?と思って調べると、もはやボーランドではなくEmbacardero社が販売していて、しかも無償のDelphi 12 Community Editionがある。早速インストールして試す。(2025.01.10)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 2025年年賀状に描く巳の絵をいろんな生成AI(OpenAI ChatGPT-4o, Google Gemini 2 Flash Experimental、XのGrok2、Microsoft Designer)に描いてもらう。同じプロンプトだったが一番好きなのはChatGPTかな。でも実は年賀状には全部使った。(2024.12.31)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携(2025.01.13)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用(2025.01.09)
- NHK パンサー尾形さんの笑わない数学 微分・積分 スペシャルがもうすぐ始まる。これから見てリアルタイムでポストしたのでそのスレッドを残す。(2024.12.29)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携(2025.01.13)
- Pascalの開発者ヴィルトさんがお亡くなりになったということで、そういやDelphiってどうなってる?と思って調べると、もはやボーランドではなくEmbacardero社が販売していて、しかも無償のDelphi 12 Community Editionがある。早速インストールして試す。(2025.01.10)
- UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。(2025.01.14)
- 高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用(2025.01.09)
« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »
コメント