public function trace() { if (!$this->isSquare()) { throw new Exception\MatrixException('trace only works on a square matrix'); } $m = $this->m; $tr⟮A⟯ = 0; for ($i = 0; $i < $m; $i++) { $tr⟮A⟯ += $this->A[$i][$i]; } return $tr⟮A⟯; }