359
359
< h1 > Source code for qiskit_finance.circuit.library.probability_distributions.normal</ h1 > < div class ="highlight "> < pre >
360
360
< span > </ span > < span class ="c1 "> # This code is part of a Qiskit project.</ span >
361
361
< span class ="c1 "> #</ span >
362
- < span class ="c1 "> # (C) Copyright IBM 2017, 2023 .</ span >
362
+ < span class ="c1 "> # (C) Copyright IBM 2017, 2024 .</ span >
363
363
< span class ="c1 "> #</ span >
364
364
< span class ="c1 "> # This code is licensed under the Apache License, Version 2.0. You may</ span >
365
365
< span class ="c1 "> # obtain a copy of this license in the LICENSE.txt file in the root directory</ span >
@@ -373,7 +373,9 @@ <h1>Source code for qiskit_finance.circuit.library.probability_distributions.nor
373
373
374
374
< span class ="kn "> from</ span > < span class ="nn "> typing</ span > < span class ="kn "> import</ span > < span class ="n "> Tuple</ span > < span class ="p "> ,</ span > < span class ="n "> Union</ span > < span class ="p "> ,</ span > < span class ="n "> List</ span > < span class ="p "> ,</ span > < span class ="n "> Optional</ span > < span class ="p "> ,</ span > < span class ="n "> Any</ span >
375
375
< span class ="kn "> import</ span > < span class ="nn "> numpy</ span > < span class ="k "> as</ span > < span class ="nn "> np</ span >
376
+
376
377
< span class ="kn "> from</ span > < span class ="nn "> qiskit.circuit</ span > < span class ="kn "> import</ span > < span class ="n "> QuantumCircuit</ span >
378
+ < span class ="kn "> from</ span > < span class ="nn "> qiskit.circuit.library</ span > < span class ="kn "> import</ span > < span class ="n "> Initialize</ span > < span class ="p "> ,</ span > < span class ="n "> Isometry</ span >
377
379
378
380
379
381
< div class ="viewcode-block " id ="NormalDistribution "> < a class ="viewcode-back " href ="../../../../../stubs/qiskit_finance.circuit.library.NormalDistribution.html#qiskit_finance.circuit.library.NormalDistribution "> [docs]</ a > < span class ="k "> class</ span > < span class ="nc "> NormalDistribution</ span > < span class ="p "> (</ span > < span class ="n "> QuantumCircuit</ span > < span class ="p "> ):</ span >
@@ -567,13 +569,10 @@ <h1>Source code for qiskit_finance.circuit.library.probability_distributions.nor
567
569
< span class ="nb "> super</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="fm "> __init__</ span > < span class ="p "> (</ span > < span class ="o "> *</ span > < span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> qregs</ span > < span class ="p "> ,</ span > < span class ="n "> name</ span > < span class ="o "> =</ span > < span class ="n "> name</ span > < span class ="p "> )</ span >
568
570
569
571
< span class ="c1 "> # use default the isometry (or initialize w/o resets) algorithm to construct the circuit</ span >
570
- < span class ="c1 "> # pylint: disable=no-member</ span >
571
572
< span class ="k "> if</ span > < span class ="n "> upto_diag</ span > < span class ="p "> :</ span >
572
- < span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> isometry </ span > < span class ="p "> (</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> sqrt</ span > < span class ="p "> (</ span > < span class ="n "> normalized_probabilities</ span > < span class ="p "> ),</ span > < span class ="n " > inner </ span > < span class ="o " > . </ span > < span class ="n " > qubits </ span > < span class ="p "> ,</ span > < span class ="kc " > None </ span > < span class ="p "> )</ span >
573
+ < span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> append </ span > < span class ="p "> (</ span > < span class ="n "> Isometry </ span > < span class =" p " > ( </ span > < span class =" n " > np</ span > < span class ="o "> .</ span > < span class ="n "> sqrt</ span > < span class ="p "> (</ span > < span class ="n "> normalized_probabilities</ span > < span class ="p "> ),</ span > < span class ="mi " > 0 </ span > < span class ="p " > , </ span > < span class ="mi " > 0 </ span > < span class ="p "> ) ,</ span > < span class ="n " > inner </ span > < span class =" o " > . </ span > < span class =" n " > qubits </ span > < span class ="p "> )</ span >
573
574
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> to_instruction</ span > < span class ="p "> (),</ span > < span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> qubits</ span > < span class ="p "> )</ span > < span class ="c1 "> # Isometry is not a Gate</ span >
574
575
< span class ="k "> else</ span > < span class ="p "> :</ span >
575
- < span class ="kn "> from</ span > < span class ="nn "> qiskit.extensions</ span > < span class ="kn "> import</ span > < span class ="n "> Initialize</ span > < span class ="c1 "> # pylint: disable=cyclic-import</ span >
576
-
577
576
< span class ="n "> initialize</ span > < span class ="o "> =</ span > < span class ="n "> Initialize</ span > < span class ="p "> (</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> sqrt</ span > < span class ="p "> (</ span > < span class ="n "> normalized_probabilities</ span > < span class ="p "> ))</ span >
578
577
< span class ="n "> circuit</ span > < span class ="o "> =</ span > < span class ="n "> initialize</ span > < span class ="o "> .</ span > < span class ="n "> gates_to_uncompute</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> inverse</ span > < span class ="p "> ()</ span >
579
578
< span class ="n "> inner</ span > < span class ="o "> .</ span > < span class ="n "> compose</ span > < span class ="p "> (</ span > < span class ="n "> circuit</ span > < span class ="p "> ,</ span > < span class ="n "> inplace</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> )</ span >
0 commit comments