Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
8e81f9d
Merge pull request #1 from ICHEC/rt
rajarshitiwari May 16, 2024
3e878e2
renamed files, corrected lecture number headers
rajarshitiwari May 16, 2024
2ba34b1
renamed files, corrected lecture number headers
rajarshitiwari May 16, 2024
f23f02b
minor change in graph style
rajarshitiwari Jun 17, 2024
df97cd9
kickstarted
rajarshitiwari Jul 4, 2024
f765902
Merge pull request #2 from ICHEC/rt
rajarshitiwari Jul 4, 2024
155d233
corrected lists
rajarshitiwari Jul 15, 2024
f973569
more content
rajarshitiwari Jul 15, 2024
4a8311f
Merge pull request #3 from ICHEC/rt
rajarshitiwari Jul 15, 2024
106a108
removed older staff
rajarshitiwari Jul 15, 2024
1b0b38f
split
rajarshitiwari Jul 15, 2024
a75037f
moved from lec10 to lec11
rajarshitiwari Jul 15, 2024
2b1aa6c
Merge pull request #4 from ICHEC/rt
rajarshitiwari Jul 15, 2024
45f55ae
removed iframe, add screenshot
rajarshitiwari Jul 16, 2024
5c4b1df
added screenshots
rajarshitiwari Jul 16, 2024
ff8a5b0
Merge pull request #5 from ICHEC/rt
rajarshitiwari Jul 16, 2024
c1d9c1d
updated
rajarshitiwari Jul 22, 2024
3297f96
added matplotlib-venn
rajarshitiwari Jul 22, 2024
01016cc
Merge pull request #6 from ICHEC/rt
rajarshitiwari Jul 22, 2024
a4b9fe5
added iamges and modalities
Karthik-Krishnakumar Jul 24, 2024
f0ab1bc
Merge pull request #7 from ICHEC/kk
rajarshitiwari Jul 24, 2024
4ceacbd
updated
rajarshitiwari Aug 1, 2024
8084513
Merge pull request #8 from ICHEC/rt
rajarshitiwari Aug 1, 2024
216c22b
updated
rajarshitiwari Aug 6, 2024
80466f5
updated
rajarshitiwari Aug 8, 2024
650e973
Merge pull request #9 from ICHEC/rt
rajarshitiwari Aug 8, 2024
9bedc90
updated
rajarshitiwari Aug 20, 2024
fa68b13
Merge pull request #10 from ICHEC/rt
rajarshitiwari Aug 21, 2024
dbd18fc
updated
rajarshitiwari Aug 22, 2024
68dca45
Merge pull request #11 from ICHEC/rt
rajarshitiwari Aug 22, 2024
d8cad8d
updated
rajarshitiwari Aug 26, 2024
d985637
added
rajarshitiwari Aug 26, 2024
28eca7f
updated
rajarshitiwari Aug 26, 2024
45569f8
Merge pull request #12 from ICHEC/rt
rajarshitiwari Aug 26, 2024
9978e73
removed qpcc mentions
rajarshitiwari Aug 26, 2024
fe4d69f
Merge pull request #13 from ICHEC/rt
rajarshitiwari Aug 26, 2024
cb77123
updated
rajarshitiwari Aug 26, 2024
8f6c7c1
Merge pull request #14 from ICHEC/rt
rajarshitiwari Aug 26, 2024
f2bfae4
guest lecturer intro
rajarshitiwari Sep 23, 2024
74c22cb
Merge pull request #15 from ICHEC/rt
rajarshitiwari Sep 23, 2024
6dbf4f0
updated
rajarshitiwari Oct 1, 2024
0962e7e
image
rajarshitiwari Oct 1, 2024
a721a0e
Merge pull request #16 from ICHEC/rt
rajarshitiwari Oct 1, 2024
c9d6fe5
updated till Hilbert space
rajarshitiwari Oct 3, 2024
09af929
hilbert
rajarshitiwari Oct 3, 2024
3bd09ab
figure
rajarshitiwari Oct 3, 2024
045ef47
Merge pull request #17 from ICHEC/rt
rajarshitiwari Oct 3, 2024
856e01f
added summary of lecture and reference
rajarshitiwari Oct 4, 2024
4efec47
updated
rajarshitiwari Oct 4, 2024
f90015c
Merge pull request #18 from ICHEC/rt
rajarshitiwari Oct 4, 2024
34f5244
rearanged reference
rajarshitiwari Oct 4, 2024
0a4d5d8
updated
rajarshitiwari Oct 4, 2024
25c7c71
Merge pull request #19 from ICHEC/rt
rajarshitiwari Oct 4, 2024
994236b
operators and states
rajarshitiwari Oct 7, 2024
ed8a87b
Merge pull request #20 from ICHEC/rt
rajarshitiwari Oct 7, 2024
7e58b50
updated
rajarshitiwari Oct 8, 2024
99f1fb3
Merge pull request #21 from ICHEC/rt
rajarshitiwari Oct 8, 2024
7e28bb4
pure/mix state
rajarshitiwari Oct 18, 2024
00aba74
Merge pull request #22 from ICHEC/rt
rajarshitiwari Oct 18, 2024
c0fbb41
minor fix
rajarshitiwari Oct 18, 2024
f36288e
Merge pull request #23 from ICHEC/rt
rajarshitiwari Oct 18, 2024
32c79c5
added
rajarshitiwari Oct 21, 2024
cedb3d9
Merge pull request #24 from ICHEC/rt
rajarshitiwari Oct 21, 2024
cbe2f55
updated
rajarshitiwari Oct 29, 2024
9d405df
added
rajarshitiwari Oct 29, 2024
59f532d
Merge pull request #25 from ICHEC/rt
rajarshitiwari Oct 29, 2024
0ff3693
updated
rajarshitiwari Oct 29, 2024
d3ce376
Merge pull request #26 from ICHEC/rt
rajarshitiwari Oct 29, 2024
ee5e629
lecture 9 speaker info
rajarshitiwari Oct 30, 2024
8c48f57
Merge pull request #27 from ICHEC/rt
rajarshitiwari Oct 30, 2024
30ce1a6
changed title
rajarshitiwari Nov 8, 2024
514beec
Merge pull request #28 from ICHEC/rt
rajarshitiwari Nov 8, 2024
590848f
updated
rajarshitiwari Nov 11, 2024
3c27422
moved to folder
rajarshitiwari Nov 11, 2024
4ac24f4
Merge pull request #29 from ICHEC/rt
rajarshitiwari Nov 11, 2024
0335c8a
added something
rajarshitiwari Nov 11, 2024
ed85bda
added something
rajarshitiwari Nov 11, 2024
199c08d
updated
rajarshitiwari Nov 19, 2024
2c7a603
updated
rajarshitiwari Nov 19, 2024
96db223
Merge pull request #30 from ICHEC/rt
rajarshitiwari Nov 19, 2024
0b73435
example ready
rajarshitiwari Nov 19, 2024
822fa87
updated
rajarshitiwari Nov 22, 2024
f8fc42f
Merge pull request #31 from ICHEC/rt
rajarshitiwari Nov 22, 2024
abfb9e6
updated
rajarshitiwari Nov 22, 2024
385684d
renamed file
rajarshitiwari Nov 22, 2024
46d328d
Merge pull request #32 from ICHEC/rt
rajarshitiwari Nov 22, 2024
749b83a
updated
rajarshitiwari Jan 20, 2025
c84cd71
Merge pull request #33 from ICHEC/rt
rajarshitiwari Jan 20, 2025
3990005
Added images to lecture-2
Karthik-Krishnakumar Jan 20, 2025
30d6955
Merge pull request #34 from ICHEC/kk
Karthik-Krishnakumar Jan 20, 2025
a32da8e
an -> a
rajarshitiwari Jan 20, 2025
64c5276
Merge pull request #35 from ICHEC/main
rajarshitiwari Jan 20, 2025
8467f05
added js anim for dec/bin
rajarshitiwari Feb 6, 2025
02cd05d
added manim
rajarshitiwari Feb 19, 2025
483a1b3
added ffmpeg
rajarshitiwari Feb 21, 2025
180f9c7
added manim
rajarshitiwari Feb 21, 2025
47679f2
updated
rajarshitiwari May 30, 2025
8ee37e5
added
rajarshitiwari May 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ jobs:
run: |
wget https://github.com/jgraph/drawio-desktop/releases/download/v23.1.5/drawio-amd64-23.1.5.deb
sudo apt -f install ./drawio-amd64-23.1.5.deb
sudo apt -f install ffmpeg
pip install -r requirements.txt


Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@

```mermaid
graph LR
Old("External") --> New("CT4106")
1o(Lecture 1) --> 1n(Lecture 1)
2o(Lecture 2) --> 2n(Lecture 2)
3o(Lecture 3) --> 3n(Lecture 3)
new1("New") --> 4n(Lecture 4)
new2("Guest 1") --> 5n(Lecture 5)
4o(Lecture 4) --> 6n(Lecture 6)
new3("Guest 2") --> 7n(Lecture 7)
5o(Lecture 5) & 6o(Lecture 6) --> 8n(Lecture 8)
new4("Guest 3") --> 9n(Lecture 9)
7o(Lecture 7) --> 10n(Lecture 10) & 11n(Lecture 11)
new5("ICHEC") --> 12n(Lecture 12)
Old("External") ==> New(["CT4106"])
1o(Lecture 1) ==> 1n(Lecture 1)
2o(Lecture 2) ==> 2n(Lecture 2)
3o(Lecture 3) ==> 3n(Lecture 3)
new1("New") ==> 4n(Lecture 4)
new2("Guest 1") ==> 5n(Lecture 5)
4o(Lecture 4) ==> 6n(Lecture 6)
new3("Guest 2") ==> 7n(Lecture 7)
5o(Lecture 5) & 6o(Lecture 6) ==> 8n(Lecture 8)
new4("Guest 3") ==> 9n(Lecture 9)
7o(Lecture 7) ==> 10n(Lecture 10) & 11n(Lecture 11)
new5("ICHEC") ==> 12n(Lecture 12)
```
Binary file added __pycache__/measure.cpython-312.pyc
Binary file not shown.
26 changes: 13 additions & 13 deletions _toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ format: jb-book
root: index

chapters:
- file: lecture-01/demystifying-quantum-computing.md
- file: lecture-02/integrating-classical-and-quantum-computing.md
- file: lecture-03/from-bits-to-qubits.md
- file: lecture-04/mathematical-framework-for-qc.md
- file: lecture-05/intro-to-quantum-info.md
- file: lecture-06/realizing-quantum-computing-systems.md
- file: lecture-07/quantum-computing-hardwares.md
- file: lecture-08/accessing-quantum-computing-systems.md
- file: lecture-08/landscape-of-sdks-tools.md
- file: lecture-09/heterogeneous-quantum-computing.md
- file: lecture-10/quantum-algorithms-1.md
- file: lecture-11/quantum-algorithms-2.md
- file: lecture-12/quantum-activity-in-ichec.md
- file: lecture-01/demystifying-qc.md
- file: lecture-02/integrating-cc-and-qc.md
- file: lecture-03/from-bits-to-qubits.md
- file: lecture-04/math-for-qc.md
- file: lecture-05/intro-to-quantum-info.md
- file: lecture-06/realizing-qc-systems.md
- file: lecture-07/qc-hardwares.md
- file: lecture-08/accessing-qc-systems.md
- file: lecture-08/landscape-of-sdks-tools.md
- file: lecture-09/cloud-qc.md
- file: lecture-10/quantum-algorithms-1.md
- file: lecture-11/quantum-algorithms-2.md
- file: lecture-12/quantum-computing-ireland.md
33 changes: 18 additions & 15 deletions index.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Quantum Programming Certification Course (QPCC)
title: Quantum Programming Foundations Course CT4106
layout: home
---
# QPCC Lectures Overview
# CT4106 Lectures Overview

The Quantum Programming Certification Course (QPCC) is offered from ICHEC aimed at providing exposure into quantum computing with minimal technical prerequisits. It is evolving, and we are added more modules with time to make it more comprehensive and inclusive of the skills and knowledge of the quantum computing ecosystem. Below are the list of modules currently offered.
The Quantum Programming Foundations Course (CT4106) is offered from ICHEC aimed at providing exposure into quantum computing with minimal technical prerequisits. It is evolving, and we intend to add more modules with time to make it more comprehensive and inclusive of the skills and knowledge of the quantum computing ecosystem. Below are the list of modules currently offered. This page serves as the landing page for the lecture notes for each of the vidoe lectures in CT4106.


```{mermaid}
Expand Down Expand Up @@ -46,28 +46,31 @@ mindmap
```

## List of Lectures
- [Lecture 1 - Demystifying Quantum Computing](lecture-1/demystifying-quantum-computing.md)
- [Lecture 2 - Integrating Classical and Quantum Computing](lecture-2/integrating-classical-and-quantum-computing.md)
- [Lecture 3 - From Bits to Qubits](lecture-3/from-bits-to-qubits.md)
- [Lecture 4 - Realizing Quantum Computing Systems](lecture-4/realizing-quantum-computing-systems.md)
- [Lecture 5 - Accessing Quantum Computing Systems](lecture-5/accessing-quantum-computing-systems.md)
- [Lecture 6 - Landscape of Quantum SDK's and Tools](lecture-6/landscape-of-sdks-tools.md)
- [Lecture 7 - Landscape of Quantum algorithms](lecture-7/landscape-of-quantum-algorithms.md)

- [Lecture 1 - Demystifying Quantum Computing](lecture-01/demystifying-quantum-computing.md)
- [Lecture 2 - Integrating Classical and Quantum Computing](lecture-02/integrating-classical-and-quantum-computing.md)
- [Lecture 3 - From Bits to Qubits](lecture-03/from-bits-to-qubits.md)
- [Lecture 4 - Mathematical Framework for Qubits](lecture-04/math-for-qc.md)
- [Lecture 5 - Guest Lecture: Introduction to Quantum Information & Cryptography](lecture-05/intro-to-quantum-info.md)
- [Lecture 6 - Realizing Quantum Computing Systems](lecture-06/realizing-qc-systems.md)
- [Lecture 7 - Guest Lecture: Building a Quantum Computer](lecture-07/qc-hardwares.md)
- Lecture 8 - Accessing and Programming Quantum Computing Systems
- [8a: Accessing Quantum Computing](lecture-08/accessing-qc-systems.md)
- [8b: Landscape of Quantum SDK's and Tools](lecture-08/landscape-of-sdks-tools.md)
- [Lecture 9 - Guest Lecture: Cloud Quantum computing Service](lecture-09/cloud-qc.md)
- [Lecture 10 - Quantum Algorithms - I](lecture-10/quantum-algorithms-1.md)
- [Lecture 11 - Quantum Algorithms - II](lecture-11/quantum-algorithms-2.md)
- [Lecture 12 - ICHEC's engagement in Quantum Computing](lecture-12/quantum-activity-in-ichec.md)


---

## Contact
For QPCC related queries, contact us or the instructors at following -
For course related queries, contact us or the instructors at following -

| Name | Email |
|--- |:---: |
| QPCC team | <qpcc@ichec.ie> |
| Emil Dimitrov | <emil.dimitrov@ichec.ie> |
| Karthik Krishnakumar | <karthik.krishnakumar@ichec.ie> |
| Pablo Lauret | <pablo.lauret@ichec.ie> |
| Pablo Suárez Vieites | <pablo.suarez@ichec.ie> |
| Rajarshi Tiwari | <rajarshi.tiwari@ichec.ie> |
| Venkatesh Kannan | <venkatesh.kannan@ichec.ie> |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ we now move on to addressed where quantum computing fits in this context, and wh
​The primary reasons why computational technology developers and its end-users are looking at the next generation of methodologies and platforms is that currently there are a number of challenges and limitations that classical high-performance computing is hitting​

```{card}
- a number of complex computational, simulation and modelling problems remain intractable – and, an feasible time-to-solution is achieved by reducing the complexity through approximations of the problems/systems that are solved (through methods such as heuristics), or reducing the precision of the solution to be completed to an acceptable threshold that produces a good-enough solution. This is a compromise between high-accuracy or high-precision, versus a reasonable time-to-solution or what problem size can be actually represented and solved in a classical high-performance computer.​
- a number of complex computational, simulation and modelling problems remain intractable – and, a feasible time-to-solution is achieved by reducing the complexity through approximations of the problems/systems that are solved (through methods such as heuristics), or reducing the precision of the solution to be completed to an acceptable threshold that produces a good-enough solution. This is a compromise between high-accuracy or high-precision, versus a reasonable time-to-solution or what problem size can be actually represented and solved in a classical high-performance computer.​
```
```{card}
- Typically, these are faced in all of the sectors, algorithms and application areas that we walked through earlier.​
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ layout: post



## Why imtegrate classical & Quantum Computing
## Why integrate classical & Quantum Computing

### Classical High-Performance Computing

Expand Down Expand Up @@ -61,6 +61,10 @@ And, the importance of doing this as a part of existing HPC software methods and
### Quantum Computation Workflow
Before going forward with some specific examples of potential hybrid high-performance quantum computing applications, let us look deeper into the quantum computing part of an application workflow.

```{image} ../prep/images/Computation_map.jpg
:align: center
```

Presently, all data is generated and stored in classical format – that is in binary as bits. This is represented by the first letter in this map where C represents generation of classical data.
This classical data is then processed by classical computing systems in classical formats. This is represented by the second letter in the map where C represents classical nature of the processing/computing system.
Thus, the top left category CC is the scenario where classical data is generated and stored is processed by classical computing systems.
Expand All @@ -69,9 +73,11 @@ Towards the end of this lecture, we will highlight quantum sensing and metrology
QC is the scenario where quantum data may be used for classical computing systems, an example is where classical applications such as machine learning models could be useful to study the internal state of a quantum system and associated quantum data.
And, QQ is where quantum data is processed by quantum computers. This quantum data may come from measuring a quantum system through quantum sensing and metrology technologies, or quantum data within a quantum computer to simulate a quantum system such as a physics or molecular models.

Now, the highlighted category CQ is the scenario where quantum computing systems process classical data. The data can be constituted of any kind of observations from classical systems such as text, images, time series, structured or unstructured data. In this scenario, is necessary to translate the classical data and represent it as quantum data within a quantum computer for it to be processed. This is illustrated in the workflow on the right.
Now, the highlighted category CQ is the scenario where quantum computing systems process classical data. The data can be constituted of any kind of observations from classical systems such as text, images, time series, structured or unstructured data. In this scenario, is necessary to translate the classical data and represent it as quantum data within a quantum computer for it to be processed. This is illustrated in the workflow below.

<<CLICK>>
```{image} ../prep/images/workflow_quantum.png
:align: center
```
The classical input data is prepared into quantum data through a step commonly referred to as quantum encoding or state preparation. The result is quantum states in which a set of qubits are used to represent the data as a superposition – do not worry about the terminologies and complexities now – if you continue with future lectures, these are introduced more understandably. For now, it is essential to just acknowledge that classical input data has to be encoded into quantum states, which can then be processed by a quantum program which is defined using a series of quantum operations. These quantum operations process the initial quantum state into a resultant quantum state. At the end of the processing, in order to get the quantum results out of the quantum computer, a series of steps have to be performed. The first of these steps is to perform measurements to read what are called observables of the quantum computing system.

Let’s pause here for a moment. In the lecture on “Demystifying quantum computing”, we discussed that there are several technology options available to engineer and develop a quantum computer – using superconductors, photons, neutral atoms, ions, etc. – each with its own pros and cons. Depending on the technology used to implement a quantum processor, the observables of the quantum system that will be measured may be different. For a photon-based quantum computer, the observables can be phase, polarisation and wavelength. Irrespective of this, the observables are measured to describe the state of a quantum system.
Expand Down
23 changes: 23 additions & 0 deletions lecture-03/and-gate.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading