34 lines
486 B
PHP
Raw Normal View History

2023-05-10 13:39:12 +08:00
<?php
2023-11-02 14:13:04 +08:00
use Matrix\Matrix;
use Matrix\Decomposition\QR;
2023-05-10 13:39:12 +08:00
2023-11-02 14:13:04 +08:00
include __DIR__ . '/../vendor/autoload.php';
2023-05-10 13:39:12 +08:00
2023-11-02 14:13:04 +08:00
$grid = [
2023-05-10 13:39:12 +08:00
[0, 1],
2023-11-02 14:13:04 +08:00
[-1, 0],
];
$targetGrid = [
[-1],
[2],
2023-05-10 13:39:12 +08:00
];
2023-11-02 14:13:04 +08:00
$matrix = new Matrix($grid);
$target = new Matrix($targetGrid);
$decomposition = new QR($matrix);
$X = $decomposition->solve($target);
echo 'X', PHP_EOL;
var_export($X->toArray());
echo PHP_EOL;
2023-05-10 13:39:12 +08:00
2023-11-02 14:13:04 +08:00
$resolve = $matrix->multiply($X);
2023-05-10 13:39:12 +08:00
2023-11-02 14:13:04 +08:00
echo 'Resolve', PHP_EOL;
var_export($resolve->toArray());
echo PHP_EOL;