@bgicli/bgicli 2.2.8 → 2.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/skills/anthropic-algorithmic-art/SKILL.md +405 -0
- package/data/skills/anthropic-canvas-design/SKILL.md +130 -0
- package/data/skills/anthropic-claude-api/SKILL.md +243 -0
- package/data/skills/anthropic-doc-coauthoring/SKILL.md +375 -0
- package/data/skills/anthropic-docx/SKILL.md +590 -0
- package/data/skills/anthropic-frontend-design/SKILL.md +42 -0
- package/data/skills/anthropic-internal-comms/SKILL.md +32 -0
- package/data/skills/anthropic-mcp-builder/SKILL.md +236 -0
- package/data/skills/anthropic-pdf/SKILL.md +314 -0
- package/data/skills/anthropic-pptx/SKILL.md +232 -0
- package/data/skills/anthropic-skill-creator/SKILL.md +485 -0
- package/data/skills/anthropic-webapp-testing/SKILL.md +96 -0
- package/data/skills/anthropic-xlsx/SKILL.md +292 -0
- package/data/skills/arxiv-database/SKILL.md +362 -0
- package/data/skills/astropy/SKILL.md +329 -0
- package/data/skills/ctx-advanced-evaluation/SKILL.md +402 -0
- package/data/skills/ctx-bdi-mental-states/SKILL.md +311 -0
- package/data/skills/ctx-context-compression/SKILL.md +272 -0
- package/data/skills/ctx-context-degradation/SKILL.md +206 -0
- package/data/skills/ctx-context-fundamentals/SKILL.md +201 -0
- package/data/skills/ctx-context-optimization/SKILL.md +195 -0
- package/data/skills/ctx-evaluation/SKILL.md +251 -0
- package/data/skills/ctx-filesystem-context/SKILL.md +287 -0
- package/data/skills/ctx-hosted-agents/SKILL.md +260 -0
- package/data/skills/ctx-memory-systems/SKILL.md +225 -0
- package/data/skills/ctx-multi-agent-patterns/SKILL.md +257 -0
- package/data/skills/ctx-project-development/SKILL.md +291 -0
- package/data/skills/ctx-tool-design/SKILL.md +271 -0
- package/data/skills/dhdna-profiler/SKILL.md +162 -0
- package/data/skills/generate-image/SKILL.md +183 -0
- package/data/skills/geomaster/SKILL.md +365 -0
- package/data/skills/get-available-resources/SKILL.md +275 -0
- package/data/skills/hamelsmu-build-review-interface/SKILL.md +96 -0
- package/data/skills/hamelsmu-error-analysis/SKILL.md +164 -0
- package/data/skills/hamelsmu-eval-audit/SKILL.md +183 -0
- package/data/skills/hamelsmu-evaluate-rag/SKILL.md +177 -0
- package/data/skills/hamelsmu-generate-synthetic-data/SKILL.md +131 -0
- package/data/skills/hamelsmu-validate-evaluator/SKILL.md +212 -0
- package/data/skills/hamelsmu-write-judge-prompt/SKILL.md +144 -0
- package/data/skills/hf-cli/SKILL.md +174 -0
- package/data/skills/hf-mcp/SKILL.md +178 -0
- package/data/skills/hugging-face-dataset-viewer/SKILL.md +121 -0
- package/data/skills/hugging-face-datasets/SKILL.md +542 -0
- package/data/skills/hugging-face-evaluation/SKILL.md +651 -0
- package/data/skills/hugging-face-jobs/SKILL.md +1042 -0
- package/data/skills/hugging-face-model-trainer/SKILL.md +717 -0
- package/data/skills/hugging-face-paper-pages/SKILL.md +239 -0
- package/data/skills/hugging-face-paper-publisher/SKILL.md +624 -0
- package/data/skills/hugging-face-tool-builder/SKILL.md +110 -0
- package/data/skills/hugging-face-trackio/SKILL.md +115 -0
- package/data/skills/hugging-face-vision-trainer/SKILL.md +593 -0
- package/data/skills/huggingface-gradio/SKILL.md +245 -0
- package/data/skills/matlab/SKILL.md +376 -0
- package/data/skills/modal/SKILL.md +381 -0
- package/data/skills/openai-cloudflare-deploy/SKILL.md +224 -0
- package/data/skills/openai-develop-web-game/SKILL.md +149 -0
- package/data/skills/openai-doc/SKILL.md +80 -0
- package/data/skills/openai-figma/SKILL.md +42 -0
- package/data/skills/openai-figma-implement-design/SKILL.md +264 -0
- package/data/skills/openai-gh-address-comments/SKILL.md +25 -0
- package/data/skills/openai-gh-fix-ci/SKILL.md +69 -0
- package/data/skills/openai-imagegen/SKILL.md +174 -0
- package/data/skills/openai-jupyter-notebook/SKILL.md +107 -0
- package/data/skills/openai-linear/SKILL.md +87 -0
- package/data/skills/openai-netlify-deploy/SKILL.md +247 -0
- package/data/skills/openai-notion-knowledge-capture/SKILL.md +56 -0
- package/data/skills/openai-notion-meeting-intelligence/SKILL.md +60 -0
- package/data/skills/openai-notion-research-documentation/SKILL.md +59 -0
- package/data/skills/openai-notion-spec-to-implementation/SKILL.md +58 -0
- package/data/skills/openai-openai-docs/SKILL.md +69 -0
- package/data/skills/openai-pdf/SKILL.md +67 -0
- package/data/skills/openai-playwright/SKILL.md +147 -0
- package/data/skills/openai-render-deploy/SKILL.md +479 -0
- package/data/skills/openai-screenshot/SKILL.md +267 -0
- package/data/skills/openai-security-best-practices/SKILL.md +86 -0
- package/data/skills/openai-security-ownership-map/SKILL.md +206 -0
- package/data/skills/openai-security-threat-model/SKILL.md +81 -0
- package/data/skills/openai-sentry/SKILL.md +123 -0
- package/data/skills/openai-sora/SKILL.md +178 -0
- package/data/skills/openai-speech/SKILL.md +144 -0
- package/data/skills/openai-spreadsheet/SKILL.md +145 -0
- package/data/skills/openai-transcribe/SKILL.md +81 -0
- package/data/skills/openai-vercel-deploy/SKILL.md +77 -0
- package/data/skills/openai-yeet/SKILL.md +28 -0
- package/data/skills/pennylane/SKILL.md +224 -0
- package/data/skills/polars-bio/SKILL.md +374 -0
- package/data/skills/primekg/SKILL.md +97 -0
- package/data/skills/pymatgen/SKILL.md +689 -0
- package/data/skills/qiskit/SKILL.md +273 -0
- package/data/skills/qutip/SKILL.md +316 -0
- package/data/skills/recursive-decomposition/SKILL.md +185 -0
- package/data/skills/rowan/SKILL.md +427 -0
- package/data/skills/scholar-evaluation/SKILL.md +298 -0
- package/data/skills/sentry-create-alert/SKILL.md +210 -0
- package/data/skills/sentry-fix-issues/SKILL.md +126 -0
- package/data/skills/sentry-pr-code-review/SKILL.md +105 -0
- package/data/skills/sentry-python-sdk/SKILL.md +317 -0
- package/data/skills/sentry-setup-ai-monitoring/SKILL.md +217 -0
- package/data/skills/stable-baselines3/SKILL.md +297 -0
- package/data/skills/sympy/SKILL.md +498 -0
- package/data/skills/trailofbits-ask-questions-if-underspecified/SKILL.md +85 -0
- package/data/skills/trailofbits-audit-context-building/SKILL.md +302 -0
- package/data/skills/trailofbits-differential-review/SKILL.md +220 -0
- package/data/skills/trailofbits-insecure-defaults/SKILL.md +117 -0
- package/data/skills/trailofbits-modern-python/SKILL.md +333 -0
- package/data/skills/trailofbits-property-based-testing/SKILL.md +123 -0
- package/data/skills/trailofbits-semgrep-rule-creator/SKILL.md +172 -0
- package/data/skills/trailofbits-sharp-edges/SKILL.md +292 -0
- package/data/skills/trailofbits-variant-analysis/SKILL.md +142 -0
- package/data/skills/transformers.js/SKILL.md +637 -0
- package/data/skills/writing/SKILL.md +419 -0
- package/dist/bgi.js +66 -2
- package/package.json +1 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vercel-deploy
|
|
3
|
+
description: Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vercel Deploy
|
|
7
|
+
|
|
8
|
+
Deploy any project to Vercel instantly. **Always deploy as preview** (not production) unless the user explicitly asks for production.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
- Check whether the Vercel CLI is installed **without** escalated permissions (for example, `command -v vercel`).
|
|
13
|
+
- Only escalate the actual deploy command if sandboxing blocks the deployment network calls (`sandbox_permissions=require_escalated`).
|
|
14
|
+
- The deployment might take a few minutes. Use appropriate timeout values.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
1. Check whether the Vercel CLI is installed (no escalation for this check):
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
command -v vercel
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. If `vercel` is installed, run this (with a 10 minute timeout):
|
|
25
|
+
```bash
|
|
26
|
+
vercel deploy [path] -y
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Important:** Use a 10 minute (600000ms) timeout for the deploy command since builds can take a while.
|
|
30
|
+
|
|
31
|
+
3. If `vercel` is not installed, or if the CLI fails with "No existing credentials found", use the fallback method below.
|
|
32
|
+
|
|
33
|
+
## Fallback (No Auth)
|
|
34
|
+
|
|
35
|
+
If CLI fails with auth error, use the deploy script:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
skill_dir="<path-to-skill>"
|
|
39
|
+
|
|
40
|
+
# Deploy current directory
|
|
41
|
+
bash "$skill_dir/scripts/deploy.sh"
|
|
42
|
+
|
|
43
|
+
# Deploy specific project
|
|
44
|
+
bash "$skill_dir/scripts/deploy.sh" /path/to/project
|
|
45
|
+
|
|
46
|
+
# Deploy existing tarball
|
|
47
|
+
bash "$skill_dir/scripts/deploy.sh" /path/to/project.tgz
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The script handles framework detection, packaging, and deployment. It waits for the build to complete and returns JSON with `previewUrl` and `claimUrl`.
|
|
51
|
+
|
|
52
|
+
**Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment."
|
|
53
|
+
|
|
54
|
+
## Production Deploys
|
|
55
|
+
|
|
56
|
+
Only if user explicitly asks:
|
|
57
|
+
```bash
|
|
58
|
+
vercel deploy [path] --prod -y
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
|
|
63
|
+
Show the user the deployment URL. For fallback deployments, also show the claim URL.
|
|
64
|
+
|
|
65
|
+
**Do not** curl or fetch the deployed URL to verify it works. Just return the link.
|
|
66
|
+
|
|
67
|
+
## Troubleshooting
|
|
68
|
+
|
|
69
|
+
### Escalated Network Access
|
|
70
|
+
|
|
71
|
+
If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the actual deploy command with escalated permissions (use `sandbox_permissions=require_escalated`). Do not escalate the `command -v vercel` installation check. The deploy requires escalated network access when sandbox networking blocks outbound requests.
|
|
72
|
+
|
|
73
|
+
Example guidance to the user:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
The deploy needs escalated network access to deploy to Vercel. I can rerun the command with escalated permissions—want me to proceed?
|
|
77
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "yeet"
|
|
3
|
+
description: "Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Prerequisites
|
|
7
|
+
|
|
8
|
+
- Require GitHub CLI `gh`. Check `gh --version`. If missing, ask the user to install `gh` and stop.
|
|
9
|
+
- Require authenticated `gh` session. Run `gh auth status`. If not authenticated, ask the user to run `gh auth login` (and re-run `gh auth status`) before continuing.
|
|
10
|
+
|
|
11
|
+
## Naming conventions
|
|
12
|
+
|
|
13
|
+
- Branch: `codex/{description}` when starting from main/master/default.
|
|
14
|
+
- Commit: `{description}` (terse).
|
|
15
|
+
- PR title: `[codex] {description}` summarizing the full diff.
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
- If on main/master/default, create a branch: `git checkout -b "codex/{description}"`
|
|
20
|
+
- Otherwise stay on the current branch.
|
|
21
|
+
- Confirm status, then stage everything: `git status -sb` then `git add -A`.
|
|
22
|
+
- Commit tersely with the description: `git commit -m "{description}"`
|
|
23
|
+
- Run checks if not already. If checks fail due to missing deps/tools, install dependencies and rerun once.
|
|
24
|
+
- Push with tracking: `git push -u origin $(git branch --show-current)`
|
|
25
|
+
- If git push fails due to workflow auth errors, pull from master and retry the push.
|
|
26
|
+
- Open a PR and edit title/body to reflect the description and the deltas: `GH_PROMPT_DISABLED=1 GIT_TERMINAL_PROMPT=0 gh pr create --draft --fill --head $(git branch --show-current)`
|
|
27
|
+
- Write the PR description to a temp file with real newlines (e.g. pr-body.md ... EOF) and run pr-body.md to avoid \\n-escaped markdown.
|
|
28
|
+
- PR description (markdown) must be detailed prose covering the issue, the cause and effect on users, the root cause, the fix, and any tests or checks used to validate.
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pennylane
|
|
3
|
+
description: Hardware-agnostic quantum ML framework with automatic differentiation. Use when training quantum circuits via gradients, building hybrid quantum-classical models, or needing device portability across IBM/Google/Rigetti/IonQ. Best for variational algorithms (VQE, QAOA), quantum neural networks, and integration with PyTorch/JAX/TensorFlow. For hardware-specific optimizations use qiskit (IBM) or cirq (Google); for open quantum systems use qutip.
|
|
4
|
+
license: Apache-2.0 license
|
|
5
|
+
metadata:
|
|
6
|
+
skill-author: K-Dense Inc.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PennyLane
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
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.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
Install using uv:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uv pip install pennylane
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
For quantum hardware access, install device plugins:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# IBM Quantum
|
|
27
|
+
uv pip install pennylane-qiskit
|
|
28
|
+
|
|
29
|
+
# Amazon Braket
|
|
30
|
+
uv pip install amazon-braket-pennylane-plugin
|
|
31
|
+
|
|
32
|
+
# Google Cirq
|
|
33
|
+
uv pip install pennylane-cirq
|
|
34
|
+
|
|
35
|
+
# Rigetti Forest
|
|
36
|
+
uv pip install pennylane-rigetti
|
|
37
|
+
|
|
38
|
+
# IonQ
|
|
39
|
+
uv pip install pennylane-ionq
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Quick Start
|
|
43
|
+
|
|
44
|
+
Build a quantum circuit and optimize its parameters:
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
import pennylane as qml
|
|
48
|
+
from pennylane import numpy as np
|
|
49
|
+
|
|
50
|
+
# Create device
|
|
51
|
+
dev = qml.device('default.qubit', wires=2)
|
|
52
|
+
|
|
53
|
+
# Define quantum circuit
|
|
54
|
+
@qml.qnode(dev)
|
|
55
|
+
def circuit(params):
|
|
56
|
+
qml.RX(params[0], wires=0)
|
|
57
|
+
qml.RY(params[1], wires=1)
|
|
58
|
+
qml.CNOT(wires=[0, 1])
|
|
59
|
+
return qml.expval(qml.PauliZ(0))
|
|
60
|
+
|
|
61
|
+
# Optimize parameters
|
|
62
|
+
opt = qml.GradientDescentOptimizer(stepsize=0.1)
|
|
63
|
+
params = np.array([0.1, 0.2], requires_grad=True)
|
|
64
|
+
|
|
65
|
+
for i in range(100):
|
|
66
|
+
params = opt.step(circuit, params)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Core Capabilities
|
|
70
|
+
|
|
71
|
+
### 1. Quantum Circuit Construction
|
|
72
|
+
|
|
73
|
+
Build circuits with gates, measurements, and state preparation. See `references/quantum_circuits.md` for:
|
|
74
|
+
- Single and multi-qubit gates
|
|
75
|
+
- Controlled operations and conditional logic
|
|
76
|
+
- Mid-circuit measurements and adaptive circuits
|
|
77
|
+
- Various measurement types (expectation, probability, samples)
|
|
78
|
+
- Circuit inspection and debugging
|
|
79
|
+
|
|
80
|
+
### 2. Quantum Machine Learning
|
|
81
|
+
|
|
82
|
+
Create hybrid quantum-classical models. See `references/quantum_ml.md` for:
|
|
83
|
+
- Integration with PyTorch, JAX, TensorFlow
|
|
84
|
+
- Quantum neural networks and variational classifiers
|
|
85
|
+
- Data encoding strategies (angle, amplitude, basis, IQP)
|
|
86
|
+
- Training hybrid models with backpropagation
|
|
87
|
+
- Transfer learning with quantum circuits
|
|
88
|
+
|
|
89
|
+
### 3. Quantum Chemistry
|
|
90
|
+
|
|
91
|
+
Simulate molecules and compute ground state energies. See `references/quantum_chemistry.md` for:
|
|
92
|
+
- Molecular Hamiltonian generation
|
|
93
|
+
- Variational Quantum Eigensolver (VQE)
|
|
94
|
+
- UCCSD ansatz for chemistry
|
|
95
|
+
- Geometry optimization and dissociation curves
|
|
96
|
+
- Molecular property calculations
|
|
97
|
+
|
|
98
|
+
### 4. Device Management
|
|
99
|
+
|
|
100
|
+
Execute on simulators or quantum hardware. See `references/devices_backends.md` for:
|
|
101
|
+
- Built-in simulators (default.qubit, lightning.qubit, default.mixed)
|
|
102
|
+
- Hardware plugins (IBM, Amazon Braket, Google, Rigetti, IonQ)
|
|
103
|
+
- Device selection and configuration
|
|
104
|
+
- Performance optimization and caching
|
|
105
|
+
- GPU acceleration and JIT compilation
|
|
106
|
+
|
|
107
|
+
### 5. Optimization
|
|
108
|
+
|
|
109
|
+
Train quantum circuits with various optimizers. See `references/optimization.md` for:
|
|
110
|
+
- Built-in optimizers (Adam, gradient descent, momentum, RMSProp)
|
|
111
|
+
- Gradient computation methods (backprop, parameter-shift, adjoint)
|
|
112
|
+
- Variational algorithms (VQE, QAOA)
|
|
113
|
+
- Training strategies (learning rate schedules, mini-batches)
|
|
114
|
+
- Handling barren plateaus and local minima
|
|
115
|
+
|
|
116
|
+
### 6. Advanced Features
|
|
117
|
+
|
|
118
|
+
Leverage templates, transforms, and compilation. See `references/advanced_features.md` for:
|
|
119
|
+
- Circuit templates and layers
|
|
120
|
+
- Transforms and circuit optimization
|
|
121
|
+
- Pulse-level programming
|
|
122
|
+
- Catalyst JIT compilation
|
|
123
|
+
- Noise models and error mitigation
|
|
124
|
+
- Resource estimation
|
|
125
|
+
|
|
126
|
+
## Common Workflows
|
|
127
|
+
|
|
128
|
+
### Train a Variational Classifier
|
|
129
|
+
|
|
130
|
+
```python
|
|
131
|
+
# 1. Define ansatz
|
|
132
|
+
@qml.qnode(dev)
|
|
133
|
+
def classifier(x, weights):
|
|
134
|
+
# Encode data
|
|
135
|
+
qml.AngleEmbedding(x, wires=range(4))
|
|
136
|
+
|
|
137
|
+
# Variational layers
|
|
138
|
+
qml.StronglyEntanglingLayers(weights, wires=range(4))
|
|
139
|
+
|
|
140
|
+
return qml.expval(qml.PauliZ(0))
|
|
141
|
+
|
|
142
|
+
# 2. Train
|
|
143
|
+
opt = qml.AdamOptimizer(stepsize=0.01)
|
|
144
|
+
weights = np.random.random((3, 4, 3)) # 3 layers, 4 wires
|
|
145
|
+
|
|
146
|
+
for epoch in range(100):
|
|
147
|
+
for x, y in zip(X_train, y_train):
|
|
148
|
+
weights = opt.step(lambda w: (classifier(x, w) - y)**2, weights)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Run VQE for Molecular Ground State
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
from pennylane import qchem
|
|
155
|
+
|
|
156
|
+
# 1. Build Hamiltonian
|
|
157
|
+
symbols = ['H', 'H']
|
|
158
|
+
coords = np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.74])
|
|
159
|
+
H, n_qubits = qchem.molecular_hamiltonian(symbols, coords)
|
|
160
|
+
|
|
161
|
+
# 2. Define ansatz
|
|
162
|
+
@qml.qnode(dev)
|
|
163
|
+
def vqe_circuit(params):
|
|
164
|
+
qml.BasisState(qchem.hf_state(2, n_qubits), wires=range(n_qubits))
|
|
165
|
+
qml.UCCSD(params, wires=range(n_qubits))
|
|
166
|
+
return qml.expval(H)
|
|
167
|
+
|
|
168
|
+
# 3. Optimize
|
|
169
|
+
opt = qml.AdamOptimizer(stepsize=0.1)
|
|
170
|
+
params = np.zeros(10, requires_grad=True)
|
|
171
|
+
|
|
172
|
+
for i in range(100):
|
|
173
|
+
params, energy = opt.step_and_cost(vqe_circuit, params)
|
|
174
|
+
print(f"Step {i}: Energy = {energy:.6f} Ha")
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Switch Between Devices
|
|
178
|
+
|
|
179
|
+
```python
|
|
180
|
+
# Same circuit, different backends
|
|
181
|
+
circuit_def = lambda dev: qml.qnode(dev)(circuit_function)
|
|
182
|
+
|
|
183
|
+
# Test on simulator
|
|
184
|
+
dev_sim = qml.device('default.qubit', wires=4)
|
|
185
|
+
result_sim = circuit_def(dev_sim)(params)
|
|
186
|
+
|
|
187
|
+
# Run on quantum hardware
|
|
188
|
+
dev_hw = qml.device('qiskit.ibmq', wires=4, backend='ibmq_manila')
|
|
189
|
+
result_hw = circuit_def(dev_hw)(params)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Detailed Documentation
|
|
193
|
+
|
|
194
|
+
For comprehensive coverage of specific topics, consult the reference files:
|
|
195
|
+
|
|
196
|
+
- **Getting started**: `references/getting_started.md` - Installation, basic concepts, first steps
|
|
197
|
+
- **Quantum circuits**: `references/quantum_circuits.md` - Gates, measurements, circuit patterns
|
|
198
|
+
- **Quantum ML**: `references/quantum_ml.md` - Hybrid models, framework integration, QNNs
|
|
199
|
+
- **Quantum chemistry**: `references/quantum_chemistry.md` - VQE, molecular Hamiltonians, chemistry workflows
|
|
200
|
+
- **Devices**: `references/devices_backends.md` - Simulators, hardware plugins, device configuration
|
|
201
|
+
- **Optimization**: `references/optimization.md` - Optimizers, gradients, variational algorithms
|
|
202
|
+
- **Advanced**: `references/advanced_features.md` - Templates, transforms, JIT compilation, noise
|
|
203
|
+
|
|
204
|
+
## Best Practices
|
|
205
|
+
|
|
206
|
+
1. **Start with simulators** - Test on `default.qubit` before deploying to hardware
|
|
207
|
+
2. **Use parameter-shift for hardware** - Backpropagation only works on simulators
|
|
208
|
+
3. **Choose appropriate encodings** - Match data encoding to problem structure
|
|
209
|
+
4. **Initialize carefully** - Use small random values to avoid barren plateaus
|
|
210
|
+
5. **Monitor gradients** - Check for vanishing gradients in deep circuits
|
|
211
|
+
6. **Cache devices** - Reuse device objects to reduce initialization overhead
|
|
212
|
+
7. **Profile circuits** - Use `qml.specs()` to analyze circuit complexity
|
|
213
|
+
8. **Test locally** - Validate on simulators before submitting to hardware
|
|
214
|
+
9. **Use templates** - Leverage built-in templates for common circuit patterns
|
|
215
|
+
10. **Compile when possible** - Use Catalyst JIT for performance-critical code
|
|
216
|
+
|
|
217
|
+
## Resources
|
|
218
|
+
|
|
219
|
+
- Official documentation: https://docs.pennylane.ai
|
|
220
|
+
- Codebook (tutorials): https://pennylane.ai/codebook
|
|
221
|
+
- QML demonstrations: https://pennylane.ai/qml/demonstrations
|
|
222
|
+
- Community forum: https://discuss.pennylane.ai
|
|
223
|
+
- GitHub: https://github.com/PennyLaneAI/pennylane
|
|
224
|
+
|