예제 #1
0
 /**
  * @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));
 }