Skip to content

Commit

Permalink
Make prototypes be lowercase
Browse files Browse the repository at this point in the history
  • Loading branch information
garrison committed Mar 1, 2022
1 parent 190b8c6 commit fc943ba
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion CITATION.bib
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@misc{quantum-kernel-training,
author = {Bryce Fuller and Jennifer R. Glick and Caleb Johnson},
title = {{Quantum Kernel Training Toolkit}},
howpublished = {\url{https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training}},
howpublished = {\url{https://github.com/IBM-Quantum-prototypes/quantum-kernel-training}},
year = {2021}
}
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Navigate to your workspace and clone the repository using the HTTPS address.

```
cd path/to/your/workspace
git clone https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training.git
git clone https://github.com/IBM-Quantum-prototypes/quantum-kernel-training.git
```

[This Github tutorial](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) provides more information on cloning git repositories using ssh keys.
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@
[![Python](https://img.shields.io/badge/Python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-informational)](https://www.python.org/)
[![Qiskit](https://img.shields.io/badge/Qiskit-%E2%89%A5%200.34.1-6133BD)](https://github.com/Qiskit/qiskit)
[![Qiskit Machine Learning](https://img.shields.io/badge/Qiskit%20Machine%20Learning-%E2%89%A5%200.3.0-6133BD)](https://github.com/Qiskit/qiskit-machine-learning)
[![License](https://img.shields.io/github/license/IBM-Quantum-Prototypes/quantum-kernel-training?label=License)](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/LICENSE.txt)
[![Tests](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/actions/workflows/makefile.yml/badge.svg)](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/actions/workflows/makefile.yml)
[![License](https://img.shields.io/github/license/IBM-Quantum-prototypes/quantum-kernel-training?label=License)](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/LICENSE.txt)
[![Tests](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/actions/workflows/makefile.yml/badge.svg)](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/actions/workflows/makefile.yml)



<!-- PROJECT LOGO -->
<br />
<p align="center">
<a href="https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training#readme">
<a href="https://github.com/IBM-Quantum-prototypes/quantum-kernel-training#readme">
<img src="docs/images/qkt_image.png" alt="Logo" width="350">
</a>
<h2 align="center">Quantum Kernel Training Toolkit</h2>

<p align="center">
<a href="https://mybinder.org/v2/gh/IBM-Quantum-Prototypes/quantum-kernel-training/HEAD?labpath=docs%2Ftutorials%2Fkernel_optimization_using_qkt.ipynb">
<a href="https://mybinder.org/v2/gh/IBM-Quantum-prototypes/quantum-kernel-training/HEAD?labpath=docs%2Ftutorials%2Fkernel_optimization_using_qkt.ipynb">
<img src="https://img.shields.io/badge/launch-demo-579ACA.svg?style=for-the-badge&logo=data:image/png;base64,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" alt="Launch Demo" hspace="10" vspace="10">
</a>
<a href="https://www.youtube.com/playlist?list=PLBdVpcwjMU7L4hZdJK_jFfCC24oHDolgo">
Expand Down Expand Up @@ -104,8 +104,8 @@ The QKT Toolkit includes documentation split into
### How to Give Feedback

We encourage your feedback! You can share your thoughts with us by:
- [Opening an issue](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/issues) in the repository
- [Starting a conversation on GitHub Discussions](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/discussions)
- [Opening an issue](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/issues) in the repository
- [Starting a conversation on GitHub Discussions](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/discussions)
- Filling out our [survey](https://airtable.com/shrFxJXYzjxf5tFvx)


Expand Down
6 changes: 3 additions & 3 deletions docs/background/qkernels_and_data_w_group_structure.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"\n",
"### Aligning Covariant Quantum Kernels on a Dataset\n",
"\n",
"In practice, SVMs involve a choice of the kernel function. Sometimes, symmetries in the data can inform this selection, other times it is chosen in an ad hoc manner. Kernel alignment is an approach to learning a kernel on a given dataset by iteratively adapting it to have high similarity to a target kernel informed from the underlying data distribution. As a result, the SVM with an aligned kernel will likely generalize better to new data than with an unaligned kernel [4]. Using this concept, Ref. [1] introduced an algorithm for quantum kernel alignment, which provides a way to learn a quantum kernel from a family of kernels. Specifically, the algorithm optimizes the parameters in a quantum circuit to maximize the alignment of the corresponding quantum kernel while converging to the maximum SVM margin. More information about QKA can be found in the [background material](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/docs/background/svm_weighted_kernel_alignment.ipynb).\n",
"In practice, SVMs involve a choice of the kernel function. Sometimes, symmetries in the data can inform this selection, other times it is chosen in an ad hoc manner. Kernel alignment is an approach to learning a kernel on a given dataset by iteratively adapting it to have high similarity to a target kernel informed from the underlying data distribution. As a result, the SVM with an aligned kernel will likely generalize better to new data than with an unaligned kernel [4]. Using this concept, Ref. [1] introduced an algorithm for quantum kernel alignment, which provides a way to learn a quantum kernel from a family of kernels. Specifically, the algorithm optimizes the parameters in a quantum circuit to maximize the alignment of the corresponding quantum kernel while converging to the maximum SVM margin. More information about QKA can be found in the [background material](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/docs/background/svm_weighted_kernel_alignment.ipynb).\n",
"\n",
"Applying QKA to covariant quantum kernels corresponds to extending Eq. (1) to\n",
"\n",
Expand Down Expand Up @@ -64,14 +64,14 @@
"\n",
"### Dataset Examples\n",
"\n",
"In this toolkit, we've defined two specific problem instances (and their [datasets](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/tree/main/data)) to test these ideas out. To do this, we choose a particular graph for the subgroup, and then generate the corresponding datasets as described above. Let's consider the quantum device `ibmq_montreal`, with coupling map shown below:\n",
"In this toolkit, we've defined two specific problem instances (and their [datasets](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/tree/main/data)) to test these ideas out. To do this, we choose a particular graph for the subgroup, and then generate the corresponding datasets as described above. Let's consider the quantum device `ibmq_montreal`, with coupling map shown below:\n",
"\n",
"<p align=\"center\">\n",
" <img src=\"../../docs/images/chip.png\" width=\"505\">\n",
"</p>\n",
"\n",
"\n",
"We'll pick two different subgraphs, one for [7 qubits](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/data/dataset_graph7.csv) and one for [10 qubits](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/data/dataset_graph10.csv), to define our problem instances. Then, using the parametrized fiducial state in Eq. (3), we train the quantum kernel with QKA to learn a set of parameters.\n",
"We'll pick two different subgraphs, one for [7 qubits](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/data/dataset_graph7.csv) and one for [10 qubits](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/data/dataset_graph10.csv), to define our problem instances. Then, using the parametrized fiducial state in Eq. (3), we train the quantum kernel with QKA to learn a set of parameters.\n",
"\n",
"<p align=\"center\">\n",
" <img src=\"../../docs/images/subgraphs.png\" width=\"580\">\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/how_tos/create_custom_quantum_feature_map.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"metadata": {},
"source": [
"### Design the Circuit\n",
"Similarly to classical feature engineering, creating a quantum feature map is a process that strongly depends on the learning problem at hand. In general, we cannot suggest an optimal feature map with no prior knowledge of the learning problem. Instead, we will focus on the basic steps to create a circuit using the Qiskit API. To illustrate, we will build a version of the [covariant feature map](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/qkt/feature_maps/covariant_feature_map.py), which is tailored to a dataset with a particular structure. Check out [this guide](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/docs/background/qkernels_and_data_w_group_structure.ipynb) for more information on covariant quantum kernels.\n",
"Similarly to classical feature engineering, creating a quantum feature map is a process that strongly depends on the learning problem at hand. In general, we cannot suggest an optimal feature map with no prior knowledge of the learning problem. Instead, we will focus on the basic steps to create a circuit using the Qiskit API. To illustrate, we will build a version of the [covariant feature map](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/qkt/feature_maps/covariant_feature_map.py), which is tailored to a dataset with a particular structure. Check out [this guide](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/docs/background/qkernels_and_data_w_group_structure.ipynb) for more information on covariant quantum kernels.\n",
"\n",
"For this example, the feature map will be built from a circuit containing trainable parameters `θ` followed by a circuit encoding the input data `x`. The trainable parameter of the $i$th qubit corresponds to a rotation around the $y$-axis by an angle `θ[i]`. We follow this by an entanglement layer of controlled-$z$ gates. Finally, we encode two features `x[i], x[i+1]` per qubit using consecutive rotations around the $x$ and $z$ axes. "
]
Expand Down
2 changes: 1 addition & 1 deletion docs/how_tos/train_kernels_using_qiskit_feature_maps.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@
"\n",
"As a user, you are free to define your own trainable feature map and we encourage you to do so! This is a growing area of research, and understanding what makes a good trainable feature map is an important next step toward realizing practical quantum machine learning. \n",
"\n",
"In our [guide on creating custom quantum feature maps](https://github.com/IBM-Quantum-Prototypes/quantum-kernel-training/blob/main/docs/how_tos/create_custom_quantum_feature_map.ipynb) we give an example of a trainable feature map tailored to classifying datasets with a particular group structure. "
"In our [guide on creating custom quantum feature maps](https://github.com/IBM-Quantum-prototypes/quantum-kernel-training/blob/main/docs/how_tos/create_custom_quantum_feature_map.ipynb) we give an example of a trainable feature map tailored to classifying datasets with a particular group structure. "
]
},
{
Expand Down
Loading

0 comments on commit fc943ba

Please sign in to comment.