qiskit/dagcircuit/dagcircuit.py
def rename_register(self, regname, newname):
        """Rename a classical or quantum register throughout the circuit.

        regname = existing register name string
        newname = replacement register name string
        """
        if regname == newname:
            return
        if newname in self.qregs or newname in self.cregs:
            raise DAGCircuitError("duplicate register name %s" % newname)
        if regname not in self.qregs and regname not in self.cregs:
            raise DAGCircuitError("no register named %s" % regname)
        if regname in self.qregs:
            reg = self.qregs[regname]
            reg.name = newname
            self.qregs[newname] = reg
            self.qregs.pop(regname, None)
        if regname in self.cregs:
            reg = self.cregs[regname]
            reg.name = newname
            self.qregs[newname] = reg
            self.qregs.pop(regname, None)

        for node in self._multi_graph.nodes():
            if node.type == "in" or node.type == "out":
                if node.name and regname in node.name:
                    node.name = newname
            elif node.type == "op":
                qa = []
                for a in node.qargs:
                    if a[0] == regname:
                        a = (newname, a[1])
                    qa.append(a)
                node.qargs = qa
                ca = []
                for a in node.cargs:
                    if a[0] == regname:
                        a = (newname, a[1])
                    ca.append(a)
                node.cargs = ca
                if node.condition is not None:
                    if node.condition[0] == regname:
                        node.condition = (newname, node.condition[1])
        # eX = edge, d= data
        for _, _, edge_data in self._multi_graph.edges(data=True):
            if regname in edge_data['name']:
                edge_data['name'] = re.sub(regname, newname, edge_data['name'])
def rename_register(self, regname, newname):
        if regname == newname:
            return
        if newname in self.qregs or newname in self.cregs:
            raise DAGCircuitError("duplicate register name %s" % newname)
        if regname not in self.qregs and regname not in self.cregs:
            raise DAGCircuitError("no register named %s" % regname)
        if regname in self.qregs:
            reg = self.qregs[regname]
            reg.name = newname
            self.qregs[newname] = reg
            self.qregs.pop(regname, None)
        if regname in self.cregs:
            reg = self.cregs[regname]
            reg.name = newname
            self.qregs[newname] = reg
            self.qregs.pop(regname, None)

        for node in self._multi_graph.nodes():
            if node.type == "in" or node.type == "out":
                if node.name and regname in node.name:
                    node.name = newname
            elif node.type == "op":
                qa = []
                for a in node.qargs:
                    if a[0] == regname:
                        a = (newname, a[1])
                    qa.append(a)
                node.qargs = qa
                ca = []
                for a in node.cargs:
                    if a[0] == regname:
                        a = (newname, a[1])
                    ca.append(a)
                node.cargs = ca
                if node.condition is not None:
                    if node.condition[0] == regname:
                        node.condition = (newname, node.condition[1])
        # eX = edge, d= data
        for _, _, edge_data in self._multi_graph.edges(data=True):
            if regname in edge_data['name']:
                edge_data['name'] = re.sub(regname, newname, edge_data['name'])
def rename_register ( self , regname , newname ) : if regname == newname : return if newname in self . qregs or newname in self . cregs : raise DAGCircuitError ( "duplicate register name %s" % newname ) if regname not in self . qregs and regname not in self . cregs : raise DAGCircuitError ( "no register named %s" % regname ) if regname in self . qregs : reg = self . qregs [ regname ] reg . name = newname self . qregs [ newname ] = reg self . qregs . pop ( regname , None ) if regname in self . cregs : reg = self . cregs [ regname ] reg . name = newname self . qregs [ newname ] = reg self . qregs . pop ( regname , None ) for node in self . _multi_graph . nodes ( ) : if node . type == "in" or node . type == "out" : if node . name and regname in node . name : node . name = newname elif node . type == "op" : qa = [ ] for a in node . qargs : if a [ 0 ] == regname : a = ( newname , a [ 1 ] ) qa . append ( a ) node . qargs = qa ca = [ ] for a in node . cargs : if a [ 0 ] == regname : a = ( newname , a [ 1 ] ) ca . append ( a ) node . cargs = ca if node . condition is not None : if node . condition [ 0 ] == regname : node . condition = ( newname , node . condition [ 1 ] ) # eX = edge, d= data for _ , _ , edge_data in self . _multi_graph . edges ( data = True ) : if regname in edge_data [ 'name' ] : edge_data [ 'name' ] = re . sub ( regname , newname , edge_data [ 'name' ] )
Rename a classical or quantum register throughout the circuit.

        regname = existing register name string
        newname = replacement register name string
Rename a classical or quantum register throughout the circuit .