[Design] Add ability to reason about Circuit structure
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza con el ejemplo de tfq.convert_to_tensor del issue y el punto de entrada propuesto tfq.circuit_structure; después, revisa las entradas de circuitos Cirq serializados y los alfabetos de puertas y símbolos sugeridos. Para darlo por terminado, se requiere una representación acordada de las salidas encoding y params, incluido cómo se representan la estructura del circuito, los símbolos, los qubits y la profundidad.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
It would be a very useful feature to be able to reason about "Circuit structures". Supporting this feature would mean that we would roughly need to be able create an op to do the following:
my_circuit = cirq.Circuit(cirq.H(q0), cirq.CNOT(q0, q1), cirq.Y(q1) ** beta)
circuit_tensor = tfq.convert_to_tensor([my_circuit])
structure_grid = tfq.circuit_structure(circuit_tensor)
print(structure_grid)
# [[...], ...] some kind of meaningful 2d description of the circuit.
# Should maybe be something like [batch_size, ragged on n_qubits, ragged on depth, n_channels]
# Maybe an additional output to track symbols as well ?
My current thinking is that we do something like this:
have the following inputs:
(optional) gate_alphabet where gate_alphabet[gate] = a unique integer value
(optional) symbol_alphabet[symbol_name] = a unique integer value different from any in gate_alphabet
circuits[i] = a serialized cirq.Circuit`
symbol_names = a list of all symbols found in all the circuits in circuits
Outputs:
encoding[i][j][k] = gate_alphabet[operation from circuits[i] at moment j at qubit index k]
params[i][j][k][l] = symbol_alphabet[parameter l from operation from circuits[i] at moment j at qubit index k]
or the value of l if it isn't a symbol.
What do people think ?
Going to leave open for discussion with @vprusso and others.
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 665
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tensorflow/quantum
-
area/devops help wanted no QC knowledge needed priority/before-0.7.7
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
tensorflow/quantum#1082 · 1 comentario · 1 reacción ·
-
Support Keras 3Quizá libre de nuevo @rosspeili la tomó hace 75 días y no hay ningún pull request abierto. Abiertoarea/keras help wanted skill-level/intermediate
tensorflow/quantum#1090 · 4 comentarios · 1 asignado ·
-
Investigate support for JAXAbiertoskill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
tensorflow/quantum#1089 · 2 comentarios ·
-
area/core priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1088 ·
-
Support dynamic quantum circuitsAbiertoarea/circuits priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1087 ·
Todos los issues de tensorflow/quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
PedestrianDynamics/pyFDS-Evac#343 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
theskumar/python-dotenv#708 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
Docs Timedelta
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pandas-dev/pandas#69919 ·
Los mantenedores suelen responder en 1 día
-
API documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
zephyrproject-rtos/west#1009 · 2 comentarios ·
Los mantenedores suelen responder en 3 días