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