/** * @depends testMultiplica4 */ public function testInversa() { $tmp1 = new MatrixBase(3, 3, 5); $tmp1->setPoint(1, 1, 2); $tmp1->setPoint(1, 2, -2); $tmp1->setPoint(1, 3, 2); $tmp1->setPoint(2, 1, 2); $tmp1->setPoint(2, 2, 1); $tmp1->setPoint(2, 3, 0); $tmp1->setPoint(3, 1, 3); $tmp1->setPoint(3, 2, -2); $tmp1->setPoint(3, 3, 2); $inversa = $tmp1->inversa(); $tmp2 = new MatrixBase(3, 3, 5); $tmp2->setPoint(1, 1, -1); $tmp2->setPoint(1, 2, 0); $tmp2->setPoint(1, 3, 1); $tmp2->setPoint(2, 1, 2); $tmp2->setPoint(2, 2, 1); $tmp2->setPoint(2, 3, -2); $tmp2->setPoint(3, 1, 7 / 2); $tmp2->setPoint(3, 2, 1); $tmp2->setPoint(3, 3, -3); $this->assertTrue($tmp2->isMatrixEquals($inversa)); $tmp3 = new MatrixBase(3, 3, 5); $tmp3->setPoint(1, 1, 1); $tmp3->setPoint(1, 2, 0); $tmp3->setPoint(1, 3, 0); $tmp3->setPoint(2, 1, 0); $tmp3->setPoint(2, 2, 1); $tmp3->setPoint(2, 3, 0); $tmp3->setPoint(3, 1, 0); $tmp3->setPoint(3, 2, 0); $tmp3->setPoint(3, 3, 1); $multiplicada = $tmp1->multiplicationMatrix($inversa); $this->assertTrue($tmp3->isMatrixEquals($multiplicada)); }