Skip to content

Commit

Permalink
Update tutorials
Browse files Browse the repository at this point in the history
  • Loading branch information
caleb-johnson committed Sep 10, 2024
1 parent 043af7c commit 88dd955
Show file tree
Hide file tree
Showing 5 changed files with 491 additions and 461 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ For more installation information refer to these [installation instructions](doc

### Computational requirements

The computational cost of SQD is dominated by the eigenstate solver calls. At each step of the self-consistent configuration recovery iteration, `n_batches` of eigenstate solver calls are performed. The different calls are embarrassingly parallel. In this [tutorial](docs/tutorials/01_getting_started_fermionic.ipynb), those calls are inside a `for` loop. **It is highly recommended to perform these calls in parallel**.
The computational cost of SQD is dominated by the eigenstate solver calls. At each step of the self-consistent configuration recovery iteration, `n_batches` of eigenstate solver calls are performed. The different calls are embarrassingly parallel. In this [tutorial](docs/tutorials/01_chemistry_hamiltonian.ipynb), those calls are inside a `for` loop. **It is highly recommended to perform these calls in parallel**.

The [`qiskit_addon_sqd.fermion.solve_fermion()`](qiskit_addon_sqd/fermion.py) function is multithreaded and capable of handling systems with ~25 spacial orbitals and ~10 electrons with subspace dimensions of ~$10^7$, using ~10-30 cores.

Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For more installation information refer to the `installation instructions <insta
System sizes and computational requirements
-------------------------------------------

The computational cost of SQD is dominated by the eigenstate solver calls. At each step of the self-consistent configuration recovery iteration, `n_batches` of eigenstate solver calls are performed. The different calls are embarrassingly parallel. In this `tutorial <tutorials/01_getting_started_fermionic.ipynb>`_, those calls are inside a `for` loop. **It is highly recommended to perform these calls in parallel**.
The computational cost of SQD is dominated by the eigenstate solver calls. At each step of the self-consistent configuration recovery iteration, `n_batches` of eigenstate solver calls are performed. The different calls are embarrassingly parallel. In this `tutorial <tutorials/01_chemistry_hamiltonian.ipynb>`_, those calls are inside a `for` loop. **It is highly recommended to perform these calls in parallel**.

The :func:`qiskit_addon_sqd.fermion.solve_fermion` function is multithreaded and capable of handling systems with ~25 spacial orbitals and ~10 electrons with subspace dimensions of ~$10^7$, using ~10-30 cores.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
"\n",
"1. **Step 1: Map to quantum problem**\n",
" - Generate an ansatz for estimating the ground state\n",
"2. **Optimize the problem**\n",
"2. **Step 2: Optimize the problem**\n",
" - Transpile the ansatz for the backend\n",
"3. **Execute**\n",
"3. **Step 3: Execute experiments**\n",
" - Draw samples from the ansatz using the ``Sampler`` primitive\n",
"4. **Reconstruct results**\n",
"4. **Step 4: Post-process results**\n",
" - Self-consistent configuration recovery loop\n",
" - Post-process the full set of bitstring samples, using prior knowledge of particle number and the most updated orbital occupancy information obtained from the ground state approximations at each iteration.\n",
" - Probabilistically create batches of subsamples from recovered bitstrings.\n",
Expand Down Expand Up @@ -190,7 +190,7 @@
"id": "db11bf6d",
"metadata": {},
"source": [
"### Step 2: Optimize for target hardware"
"### Step 2: Optimize the problem"
]
},
{
Expand Down Expand Up @@ -236,8 +236,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Gate counts (w/o pre-init passes): OrderedDict({'rz': 7422, 'sx': 6021, 'ecr': 2240, 'x': 322, 'measure': 32, 'barrier': 1})\n",
"Gate counts (w/ pre-init passes): OrderedDict({'rz': 4162, 'sx': 3190, 'ecr': 1262, 'x': 209, 'measure': 32, 'barrier': 1})\n"
"Gate counts (w/o pre-init passes): OrderedDict({'rz': 7405, 'sx': 6014, 'ecr': 2232, 'x': 315, 'measure': 32, 'barrier': 1})\n",
"Gate counts (w/ pre-init passes): OrderedDict({'rz': 4163, 'sx': 3189, 'ecr': 1262, 'x': 208, 'measure': 32, 'barrier': 1})\n"
]
}
],
Expand Down Expand Up @@ -268,7 +268,7 @@
"id": "0cc1edef",
"metadata": {},
"source": [
"### Step 3: Execute the experiments"
"### Step 3: Execute experiments"
]
},
{
Expand Down Expand Up @@ -307,7 +307,7 @@
"id": "6df05b6e",
"metadata": {},
"source": [
"## Step 4: Reconstruct results"
"## Step 4: Post-process results"
]
},
{
Expand Down
451 changes: 0 additions & 451 deletions docs/tutorials/02_getting_started_qubit.ipynb

This file was deleted.

Loading

0 comments on commit 88dd955

Please sign in to comment.