« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »

2025年1月 8日 (水)

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 ¹/₂

⁵/₆とか面白いな。さて次は(続く)。

 

 

« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。 | トップページ | 西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。 »

最近の記事

最近のコメント

2025年1月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト
無料ブログはココログ