public function perpendicular() : Vector
{
if ($this->n !== 2) {
throw new Exception\VectorException('Perpendicular operation only makes sense for 2D vector. 3D and higher vectors have infinite perpendular vectors.');
}
$A⊥ = [-$this->A[1], $this->A[0]];
return new Vector($A⊥);
}