Example #1
0
    def unprime_label(self, labels=None):
        """
        Remove the last prime (') from all `label` in `labels`

        Parameters
        ----------
        labels : str or list of str, optional
            Labels to unprime. If None all labels of the tensor will be 
            unprimed.

        Examples
        --------
        >>> t = Tensor(np.array([1,0]), labels=["idx"])
        >>> t.prime_label("idx")
        >>> print(t)
        Tensor object: shape = (2,), labels = ["idx'"]
        >>> t.prime_label("idx")
        >>> print(t)
        Tensor object: shape = (2,), labels = ["idx''"]
        >>> t.unprime_label("idx")
        >>> print(t)
        Tensor object: shape = (2,), labels = ["idx'"]
        >>> t.unprime_label("idx")
        >>> print(t)
        Tensor object: shape = (2,), labels = ["idx"]
        """
        if labels is None:
            labels = self.labels
        elif not isinstance(labels, list):
            labels = [labels]
        for i, label in enumerate(self.labels):
            for noprime in labels:
                if lbl.noprime_label(label) == noprime:
                    self.labels[i] = lbl.unprime_label(self.labels[i])
Example #2
0
    def prime_label(self, labels=None):
        """
        Add a prime (') to all `label` in `labels`

        Parameters
        ----------
        labels : str or list of str, optional
            Labels to prime. If None all labels of the tensor will be primed.

        See also
        -------
        unprime_label
        """
        if labels is None:
            labels = self.labels
        elif not isinstance(labels, list):
            labels = [labels]
        for i, label in enumerate(self.labels):
            for noprime in labels:
                if lbl.noprime_label(label) == noprime:
                    self.labels[i] = lbl.prime_label(self.labels[i])