public function perp(Vector $B) : Vector { $A⋅B⊥ = $B->perpDotProduct($this); $│B│² = $B->l2norm() ** 2; $B⊥ = $B->perpendicular(); return $B⊥->scalarMultiply($A⋅B⊥ / $│B│²); }