# Pennylane > Framework de ML cuántico agnóstico al hardware con diferenciación automática: entrena circuitos cuánticos, construye modelos híbridos cuántico-clásicos y cambia de dispositivo entre IBM, Google, Rigetti e IonQ. Fuente: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/pennylane Markdown: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/pennylane.md Repositorio: https://github.com/K-Dense-AI/scientific-agent-skills Autor: K-Dense-AI Licencia: Apache-2.0 license Actualizado: el mes pasado Coste de contexto: 110 tok instalada, 2.1k tok al activarse, 24.3k tok con todos los archivos del bundle Bundle: 8 archivos, 95 KB Permisos que pide: read bash python ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent claude-code # Cursor npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent cursor # Codex npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent codex # Gemini CLI npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent gemini # Windsurf npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent windsurf # Cline npx -y skills add K-Dense-AI/scientific-agent-skills --skill pennylane --agent cline ``` ## Qué hace - Construye y entrena circuitos cuánticos con diferenciación automática usando PennyLane - Crea modelos híbridos cuántico-clásicos integrados con PyTorch o JAX - Cubre algoritmos variacionales (VQE, QAOA), redes neuronales cuánticas y química cuántica (Hamiltonianos, UCCSD) - Permite cambiar de dispositivo (simuladores locales o hardware IBM/Google/Rigetti/IonQ) con el mismo circuito ## Cuándo usarla - Se necesita entrenar circuitos cuánticos con gradientes o construir modelos híbridos cuántico-clásicos - Se busca portabilidad de dispositivo entre IBM, Google, Rigetti o IonQ - Se trabaja con algoritmos variacionales (VQE, QAOA) o redes neuronales cuánticas ## Cuándo no - Se necesitan optimizaciones específicas de hardware IBM (usar qiskit) o de Google (usar cirq), o sistemas cuánticos abiertos (usar qutip) ## Qué la activa - "Entrena un clasificador variacional con PennyLane" - "Corre VQE para la energía del estado fundamental de H2" - "Cambia este circuito de simulador a hardware de IBM" - "Construye una red neuronal cuántica híbrida con PyTorch" ## Antes de instalar - PennyLane 0.45.0 requiere Python 3.11+; se instala con `uv pip install pennylane==0.45.0` y necesita el plugin del proveedor de hardware correspondiente para ejecutar en dispositivos reales. ## Archivos - SKILL.md — 8 KB - references/advanced_features.md — 15 KB - references/devices_backends.md — 13 KB - references/getting_started.md — 5 KB - references/optimization.md — 16 KB - references/quantum_chemistry.md — 15 KB - references/quantum_circuits.md — 9 KB - references/quantum_ml.md — 14 KB ## SKILL.md Reproducido tal cual desde K-Dense-AI/scientific-agent-skills bajo Apache-2.0 license. Esta sección es el documento original y está en inglés. # PennyLane ## Overview PennyLane is a quantum computing library that enables training quantum computers like neural networks. It provides automatic differentiation of quantum circuits, device-independent programming, and seamless integration with classical machine learning frameworks. ## Installation PennyLane 0.45.0 requires Python 3.11 or newer. Install using uv with pinned versions for reproducible environments: ```bash uv pip install "pennylane==0.45.0" ``` For quantum hardware access, install the plugin matching the target provider. Start from a clean environment when adding or upgrading Qiskit because its dependency graph is strict. ```bash # IBM Quantum uv pip install "pennylane-qiskit==0.45.0" # Amazon Braket uv pip install "amazon-braket-pennylane-plugin==1.34.1" # Google Cirq uv pip install "pennylane-cirq==0.44.0" # Rigetti Forest uv pip install "pennylane-rigetti==0.40.0" # IonQ uv pip install "pennylane-ionq==0.45.0" # High-performance local simulators uv pip install "pennylane-lightning==0.45.0" # Catalyst JIT compilation uv pip install "pennylane-catalyst==0.15.0" ``` ## Quick Start Build a quantum circuit and optimize its parameters: ```python import pennylane as qml from pennylane import numpy as np # Create device dev = qml.device('default.qubit', wires=2) # Define quantum circuit @qml.qnode(dev) def circuit(params): qml.RX(params[0], wires=0) qml.RY(params[1], wires=1) qml.CNOT(wires=[0, 1]) return qml.expval(qml.PauliZ(0)) # Optimize parameters opt = qml.GradientDescentOptimizer(stepsize=0.1) params = np.array([0.1, 0.2], requires_grad=True) for i in range(100): params = opt.step(circuit, params) ``` ## Core Capabilities ### 1. Quantum Circuit Construction Build circuits with gates, measurements, and state preparation. See `references/quantum_circuits.md` for: - Single and multi-qubit gates - Controlled operations and conditional logic - Mid-circuit measurements and adaptive circuits - Various measurement types (expectation, probability, samples) - Circuit inspection and debugging ### 2. Quantum Machine Learning Create hybrid quantum-classical models. See `references/quantum_ml.md` for: - Integration with PyTorch and JAX - Quantum neural networks and variational classifiers - Data encoding strategies (angle, amplitude, basis, IQP) - Training hybrid models with backpropagation - Transfer learning with quantum circuits ### 3. Quantum Chemistry Simulate molecules and compute ground state energies. See `references/quantum_chemistry.md` for: - Molecular Hamiltonian generation - Variational Quantum Eigensolver (VQE) - UCCSD ansatz for chemistry - Geometry optimization and dissociation curves - Molecular property calculations ### 4. Device Management Execute on simulators or quantum hardware. See `references/devices_backends.md` for: - Built-in simulators (default.qubit, lightning.qubit, default.mixed) - Hardware plugins (IBM, Amazon Braket, Google, Rigetti, IonQ) - Device selection and configuration - Performance optimization and caching - GPU acceleration and JIT compilation ### 5. Optimization Train quantum circuits with various optimizers. See `references/optimization.md` for: - Built-in optimizers (Adam, gradient descent, momentum, RMSProp) - Gradient computation methods (backprop, parameter-shift, adjoint) - Variational algorithms (VQE, QAOA) - Training strategies (learning rate schedules, mini-batches) - Handling barren plateaus and local minima ### 6. Advanced Features Leverage templates, transforms, and compilation. See `references/advanced_features.md` for: - Circuit templates and layers - Transforms and circuit optimization - Pulse-level programming - Catalyst JIT compilation - Noise models and error mitigation - Resource estimation ## Common Workflows ### Train a Variational Classifier ```python # 1. Define ansatz @qml.qnode(dev) def classifier(x, weights): # Encode data qml.AngleEmbedding(x, wires=range(4)) # Variational layers qml.StronglyEntanglingLayers(weights, wires=range(4)) return qml.expval(qml.PauliZ(0)) # 2. Train opt = qml.AdamOptimizer(stepsize=0.01) weights = np.random.random((3, 4, 3)) # 3 layers, 4 wires for epoch in range(100): for x, y in zip(X_train, y_train): weights = opt.step(lambda w: (classifier(x, w) - y)**2, weights) ``` ### Run VQE for Molecular Ground State ```python from pennylane import qchem # 1. Build Hamiltonian symbols = ['H', 'H'] geometry = np.array([[0.0, 0.0, -0.66140414], [0.0, 0.0, 0.66140414]]) molecule = qchem.Molecule(symbols, geometry) H, n_qubits = qchem.molecular_hamiltonian(molecule) hf_state = qchem.hf_state(electrons=2, orbitals=n_qubits) singles, doubles = qchem.excitations(electrons=2, orbitals=n_qubits) s_wires, d_wires = qchem.excitations_to_wires(singles, doubles) # 2. Define ansatz @qml.qnode(dev) def vqe_circuit(params): qml.BasisState(hf_state, wires=range(n_qubits)) qml.UCCSD(params, wires=range(n_qubits), s_wires=s_wires, d_wires=d_wires) return qml.expval(H) # 3. Optimize opt = qml.AdamOptimizer(stepsize=0.1) params = np.zeros(len(singles) + len(doubles), requires_grad=True) for i in range(100): params, energy = opt.step_and_cost(vqe_circuit, params) print(f"Step {i}: Energy = {energy:.6f} Ha") ``` ### Switch Between Devices ```python # Same circuit, different backends circuit_def = lambda dev: qml.qnode(dev)(circuit_function) # Test on simulator dev_sim = qml.device('default.qubit', wires=4) result_sim = circuit_def(dev_sim)(params) # Run on quantum hardware from qiskit_ibm_runtime import QiskitRuntimeService service = QiskitRuntimeService() backend = service.least_busy(operational=True, simulator=False, min_num_qubits=4) dev_hw = qml.device('qiskit.remote', wires=backend.num_qubits, backend=backend) result_hw = circuit_def(dev_hw)(params) ``` ## Detailed Documentation For comprehensive coverage of specific topics, consult the reference files: - **Getting started**: `references/getting_started.md` - Installation, basic concepts, first steps - **Quantum circuits**: `references/quantum_circuits.md` - Gates, measurements, circuit patterns - **Quantum ML**: `references/quantum_ml.md` - Hybrid models, framework integration, QNNs - **Quantum chemistry**: `references/quantum_chemistry.md` - VQE, molecular Hamiltonians, chemistry workflows - **Devices**: `references/devices_backends.md` - Simulators, hardware plugins, device configuration - **Optimization**: `references/optimization.md` - Optimizers, gradients, variational algorithms - **Advanced**: `references/advanced_features.md` - Templates, transforms, JIT compilation, noise ## Best Practices 1. **Start with simulators** - Test on `default.qubit` before deploying to hardware 2. **Use parameter-shift for hardware** - Backpropagation only works on simulators 3. **Choose appropriate encodings** - Match data encoding to problem structure 4. **Initialize carefully** - Use small random values to avoid barren plateaus 5. **Monitor gradients** - Check for vanishing gradients in deep circuits 6. **Cache devices** - Reuse device objects to reduce initialization overhead 7. **Profile circuits** - Use `qml.specs()` to analyze circuit complexity 8. **Test locally** - Validate on simulators before submitting to hardware 9. **Use templates** - Leverage built-in templates for common circuit patterns 10. **Compile when possible** - Use Catalyst JIT for performance-critical code ## Resources - Official documentation: https://docs.pennylane.ai - Codebook (tutorials): https://pennylane.ai/codebook - QML demonstrations: https://pennylane.ai/qml/demonstrations - Community forum: https://discuss.pennylane.ai - GitHub: https://github.com/PennyLaneAI/pennylane ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [K-Dense-AI](https://skillsagentes.com/creators/k-dense-ai.md) — 163 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Citation Management](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/citation-management.md): Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas. - [Scientific Slides](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scientific-slides.md): Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual. - [Literature Review](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/literature-review.md): Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver). - [Infographics](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/infographics.md): Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo. - [Latex Posters](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/latex-posters.md): Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)