package Jampack;

class Trace{

   public static Znum o(Zmat A){

      if (A.nc != A.nr){
         throw new RuntimeException
            ("Nonsquare matrix");
      }

      Znum t = new Znum();

      for (int i=0; i<A.nr; i++){
         t.re = t.re + A.re[i][i];
         t.im = t.im + A.im[i][i];
      }

      return t;
   }

   public static Znum o(Zdiagmat D){

      Znum t = new Znum();

      for (int i=0; i<D.order; i++){
         t.re = t.re + D.re[i];
         t.im = t.im + D.im[i];
      }

      return t;
   }

}
