public function testScalarMultiplcationOrder(array $A, array $B, int $r)
{
$A = MatrixFactory::create($A);
$B = MatrixFactory::create($B);
// r(AB)
$AB = $A->multiply($B);
$r⟮AB⟯ = $AB->scalarMultiply($r);
// (rA)B
$rA = $A->scalarMultiply($r);
$⟮rA⟯B = $rA->multiply($B);
// A(rB)
$rB = $B->scalarMultiply($r);
$A⟮rB⟯ = $A->multiply($rB);
$this->assertEquals($r⟮AB⟯->getMatrix(), $⟮rA⟯B->getMatrix());
$this->assertEquals($⟮rA⟯B->getMatrix(), $A⟮rB⟯->getMatrix());
$this->assertEquals($r⟮AB⟯->getMatrix(), $A⟮rB⟯->getMatrix());
}