|
6 | 6 | "metadata": {}, |
7 | 7 | "source": [ |
8 | 8 | "# Autocallables with Integration Amplitude Loading\n", |
9 | | - "In this Notebook we will go through the implementation of the Integration Amplitude Loading Method for the autocallables based on https://arxiv.org/pdf/2402.05574.pdf and https://arxiv.org/pdf/2012.03819 using classiq platform QMOD language." |
| 9 | + "This notebook covers the implementation of the Integration Amplitude Loading Method for the autocallables based on [[1]](#QALROP) and [[2]](#TQA) using the Classiq platform's Qmod language." |
10 | 10 | ] |
11 | 11 | }, |
12 | 12 | { |
|
22 | 22 | "execution_count": 39, |
23 | 23 | "id": "7c206d17", |
24 | 24 | "metadata": { |
25 | | - "collapsed": false, |
26 | 25 | "ExecuteTime": { |
27 | 26 | "end_time": "2025-06-22T15:37:58.815349Z", |
28 | 27 | "start_time": "2025-06-22T15:37:58.800464Z" |
| 28 | + }, |
| 29 | + "collapsed": false, |
| 30 | + "jupyter": { |
| 31 | + "outputs_hidden": false |
29 | 32 | } |
30 | 33 | }, |
31 | 34 | "outputs": [], |
|
82 | 85 | "id": "4d310535", |
83 | 86 | "metadata": {}, |
84 | 87 | "source": [ |
85 | | - "## Gaussian State preparation" |
| 88 | + "## Gaussian State Preparation" |
86 | 89 | ] |
87 | 90 | }, |
88 | 91 | { |
|
133 | 136 | "id": "2ff92132", |
134 | 137 | "metadata": {}, |
135 | 138 | "source": [ |
136 | | - "Compute $R_T^{max}$ resulting from discretization." |
| 139 | + "Compute $R_T^{max}$ resulting from discretization:" |
137 | 140 | ] |
138 | 141 | }, |
139 | 142 | { |
|
178 | 181 | "id": "7e2ec6ab", |
179 | 182 | "metadata": {}, |
180 | 183 | "source": [ |
181 | | - "In two's complement, given $N$ as number of qubits, we can represent from $-2^{N-1}$ and $2^{N-1}-1$." |
| 184 | + "In two's complement, given $N$ as the number of qubits, represent from $-2^{N-1}$ and $2^{N-1}-1$:" |
182 | 185 | ] |
183 | 186 | }, |
184 | 187 | { |
|
250 | 253 | "id": "9720568b", |
251 | 254 | "metadata": {}, |
252 | 255 | "source": [ |
253 | | - "### Compute constant rotations" |
| 256 | + "## Compute Constant Rotations" |
254 | 257 | ] |
255 | 258 | }, |
256 | 259 | { |
|
319 | 322 | "cell_type": "markdown", |
320 | 323 | "id": "02902fd7", |
321 | 324 | "metadata": { |
322 | | - "collapsed": false |
| 325 | + "collapsed": false, |
| 326 | + "jupyter": { |
| 327 | + "outputs_hidden": false |
| 328 | + } |
323 | 329 | }, |
324 | 330 | "source": [ |
325 | 331 | "## Verifications" |
|
338 | 344 | "outputs": [ |
339 | 345 | { |
340 | 346 | "data": { |
341 | | - "text/plain": "1.9215788783046464" |
| 347 | + "text/plain": [ |
| 348 | + "1.9215788783046464" |
| 349 | + ] |
342 | 350 | }, |
343 | 351 | "execution_count": 50, |
344 | 352 | "metadata": {}, |
|
362 | 370 | "outputs": [ |
363 | 371 | { |
364 | 372 | "data": { |
365 | | - "text/plain": "1.9215788783046523" |
| 373 | + "text/plain": [ |
| 374 | + "1.9215788783046523" |
| 375 | + ] |
366 | 376 | }, |
367 | 377 | "execution_count": 51, |
368 | 378 | "metadata": {}, |
|
386 | 396 | "outputs": [ |
387 | 397 | { |
388 | 398 | "data": { |
389 | | - "text/plain": "2.7693490391599074" |
| 399 | + "text/plain": [ |
| 400 | + "2.7693490391599074" |
| 401 | + ] |
390 | 402 | }, |
391 | 403 | "execution_count": 52, |
392 | 404 | "metadata": {}, |
|
410 | 422 | "outputs": [ |
411 | 423 | { |
412 | 424 | "data": { |
413 | | - "text/plain": "2.7693490391599074" |
| 425 | + "text/plain": [ |
| 426 | + "2.7693490391599074" |
| 427 | + ] |
414 | 428 | }, |
415 | 429 | "execution_count": 53, |
416 | 430 | "metadata": {}, |
|
434 | 448 | "outputs": [ |
435 | 449 | { |
436 | 450 | "data": { |
437 | | - "text/plain": "1.7763568394002505e-15" |
| 451 | + "text/plain": [ |
| 452 | + "1.7763568394002505e-15" |
| 453 | + ] |
438 | 454 | }, |
439 | 455 | "execution_count": 54, |
440 | 456 | "metadata": {}, |
|
684 | 700 | "tags": [] |
685 | 701 | }, |
686 | 702 | "source": [ |
687 | | - "## Integration Method circuit synthesis" |
| 703 | + "## Integration Method Circuit Synthesis" |
688 | 704 | ] |
689 | 705 | }, |
690 | 706 | { |
|
766 | 782 | "execution_count": 68, |
767 | 783 | "id": "07f52524", |
768 | 784 | "metadata": { |
769 | | - "collapsed": false, |
770 | 785 | "ExecuteTime": { |
771 | 786 | "end_time": "2025-06-22T15:38:00.096570Z", |
772 | 787 | "start_time": "2025-06-22T15:38:00.029467Z" |
| 788 | + }, |
| 789 | + "collapsed": false, |
| 790 | + "jupyter": { |
| 791 | + "outputs_hidden": false |
773 | 792 | } |
774 | 793 | }, |
775 | 794 | "outputs": [], |
|
922 | 941 | "id": "194c5c2f", |
923 | 942 | "metadata": {}, |
924 | 943 | "source": [ |
925 | | - "## IQAE functions and QStruct" |
| 944 | + "## IQAE Functions and QStruct" |
926 | 945 | ] |
927 | 946 | }, |
928 | 947 | { |
929 | 948 | "cell_type": "code", |
930 | 949 | "execution_count": 69, |
931 | 950 | "id": "c62677d3", |
932 | 951 | "metadata": { |
933 | | - "collapsed": false, |
934 | 952 | "ExecuteTime": { |
935 | 953 | "end_time": "2025-06-22T15:38:00.099770Z", |
936 | 954 | "start_time": "2025-06-22T15:38:00.069101Z" |
| 955 | + }, |
| 956 | + "collapsed": false, |
| 957 | + "jupyter": { |
| 958 | + "outputs_hidden": false |
937 | 959 | } |
938 | 960 | }, |
939 | 961 | "outputs": [], |
|
968 | 990 | "id": "2aa62bc4", |
969 | 991 | "metadata": {}, |
970 | 992 | "source": [ |
971 | | - "## Base simulator sythesis" |
| 993 | + "## Base Simulator Synthesis" |
972 | 994 | ] |
973 | 995 | }, |
974 | 996 | { |
|
1016 | 1038 | "execution_count": 71, |
1017 | 1039 | "id": "bb4c7d89", |
1018 | 1040 | "metadata": { |
1019 | | - "collapsed": false, |
1020 | 1041 | "ExecuteTime": { |
1021 | 1042 | "end_time": "2025-06-22T15:38:45.852317Z", |
1022 | 1043 | "start_time": "2025-06-22T15:38:45.785258Z" |
| 1044 | + }, |
| 1045 | + "collapsed": false, |
| 1046 | + "jupyter": { |
| 1047 | + "outputs_hidden": false |
1023 | 1048 | } |
1024 | 1049 | }, |
1025 | 1050 | "outputs": [ |
|
1040 | 1065 | "id": "95d7c365", |
1041 | 1066 | "metadata": {}, |
1042 | 1067 | "source": [ |
1043 | | - "### Execution takes a lot of time\n", |
1044 | | - "See the results below" |
| 1068 | + "Execution takes a lot of time. \n", |
| 1069 | + "Examine the results:" |
1045 | 1070 | ] |
1046 | 1071 | }, |
1047 | 1072 | { |
|
1086 | 1111 | "execution_count": 74, |
1087 | 1112 | "id": "5a474534", |
1088 | 1113 | "metadata": { |
1089 | | - "collapsed": false, |
1090 | 1114 | "ExecuteTime": { |
1091 | 1115 | "end_time": "2025-06-22T15:38:45.924205Z", |
1092 | 1116 | "start_time": "2025-06-22T15:38:45.827303Z" |
| 1117 | + }, |
| 1118 | + "collapsed": false, |
| 1119 | + "jupyter": { |
| 1120 | + "outputs_hidden": false |
1093 | 1121 | } |
1094 | 1122 | }, |
1095 | 1123 | "outputs": [ |
|
1113 | 1141 | " + str(postprocessing(0.1197666))\n", |
1114 | 1142 | ")" |
1115 | 1143 | ] |
| 1144 | + }, |
| 1145 | + { |
| 1146 | + "cell_type": "markdown", |
| 1147 | + "id": "d840bf68-8161-47a6-a106-a39549471b46", |
| 1148 | + "metadata": {}, |
| 1149 | + "source": [ |
| 1150 | + "## References\n", |
| 1151 | + "\n", |
| 1152 | + "<a name='QALROP'>[1]</a> [Francesca Cibrario et al. (2024). Quantum Amplitude Loading for Rainbow Options Pricing. Preprint.](https://arxiv.org/abs/2402.05574v2)\n", |
| 1153 | + "\n", |
| 1154 | + "<a name='TQA'>[2]</a> [Shouvanik Chakrabarti et al. (2021). A Threshold for Quantum Advantage in Derivative Pricing, Quantum 5, 463.](https://arxiv.org/pdf/2012.03819)\n", |
| 1155 | + " " |
| 1156 | + ] |
1116 | 1157 | } |
1117 | 1158 | ], |
1118 | 1159 | "metadata": { |
|
0 commit comments