/** * Tests the LU decomposition. * * @test * @dataProvider provider * @param array matrix * @param array permutation * @param array L * @param array U * @param double determinant */ public function testLUDecomposition($array, $expectedPermutation, $expectedL, $expectedU) { $matrix = new \Libraries\Matrix(sizeof($array), sizeof($array[0])); $matrix->fromArray($array); $decomposition = new \Libraries\Decompositions\LU($matrix); $this->assertSame($expectedL, $decomposition->getL()->asArray()); $this->assertSame($expectedU, $decomposition->getU()->asArray()); $this->assertSame($expectedPermutation, $decomposition->getPermutation()->asArray()); }
/** * Tests add exceptions. * * @test * @dataProvider providerOperateExceptions * @expectedException InvalidArgumentException * @param array matrix * @param array vector */ public function testOperateExceptions($matrix, $vector) { $matrixMatrix = new \Libraries\Matrix(sizeof($matrix), sizeof($matrix[0])); $vectorVector = new \Libraries\Vector(sizeof($vector)); $matrixMatrix->fromArray($matrix); $vectorVector->fromArray($vector); \Libraries\Matrix::operate($matrixMatrix, $vectorVector); }