/**
* Augment a matrix from below
* An augmented matrix is a matrix obtained by appending the rows of two given matrices
*
* [1, 2, 3]
* A = [2, 3, 4]
* [3, 4, 5]
*
* B = [4, 5, 6]
*
* [1, 2, 3]
* (A_B) = [2, 3, 4]
* [3, 4, 5]
* [4, 5, 6]
*
* @param Matrix $B Matrix rows to add to matrix A
*
* @return Matrix
*
* @throws MatrixException if matrices do not have the same number of columns
*/
public function augmentBelow(Matrix $B) : Matrix
{
if ($B->getN() !== $this->n) {
throw new Exception\MatrixException('Matrices to augment do not have the same number of columns');
}
$⟮A∣B⟯ = array_merge($this->A, $B->getMatrix());
return MatrixFactory::create($⟮A∣B⟯);
}