code: def sqrt(self):
          
          if self.isdiagonal:
              return type(self)(x=np.sqrt(self.__x), isdiagonal=True,
                                row_names=self.row_names,
                                col_names=self.col_names,
                                autoalign=self.autoalign)
          elif self.shape[1] == 1: #a vector
              return type(self)(x=np.sqrt(self.__x), isdiagonal=False,
                                row_names=self.row_names,
                                col_names=self.col_names,
                                autoalign=self.autoalign)
          else:
              return type(self)(x=la.sqrtm(self.__x), row_names=self.row_names,
                                col_names=self.col_names,
                                autoalign=self.autoalign)
docs: square root operation
  
          Returns
          -------
          Matrix : Matrix
              square root of self