/**
* Tests LinAlg::lud with singular 4x4 matrix
*/
public function testLUDecompositionSingularMatrix()
{
$matrix = NumPHP::identity(4);
$matrix->set(2, 2, 0);
$expectedP = NumPHP::identity(4);
$expectedL = NumPHP::identity(4);
$expectedU = NumPHP::identity(4);
$expectedU->set(2, 2, 0);
list($pMatrix, $lMatrix, $uMatrix) = LinAlg::lud($matrix);
$this->assertNumArrayEquals($expectedP, $pMatrix, 'Matrix P is not equal');
$this->assertNumArrayEquals($expectedL, $lMatrix, 'Matrix L is not equal');
$this->assertNumArrayEquals($expectedU, $uMatrix, 'Matrix U is not equal');
}