def hhl_circuit(self):
        """Constructs the HHL circuit.

        Returns:
            The HHL circuit. The ancilla measurement has key 'a' and the memory measurement
            is in key 'm'. If the ancilla is measured as 1, the memory is in the desired
            state |x>.
        """
        c = cirq.Circuit()
        hs = HamiltonianSimulation(self.A, self.t)
        pe = PhaseEstimation(self.register_size + 1, hs)
        c.append([gate(self.memory) for gate in self.input_prep_gates])
        c.append(
            [
                pe(*(self.register + [self.memory])),
                EigenRotation(self.register_size + 1, self.C, self.t)(
                    *(self.register + [self.ancilla])
                ),
                pe(*(self.register + [self.memory])) ** -1,
            ]
        )
        return c
Constructs the HHL circuit.

        Returns:
            The HHL circuit. The ancilla measurement has key 'a' and the memory measurement
            is in key 'm'. If the ancilla is measured as 1, the memory is in the desired
            state |x>.
        
examples/hhl.py