Skip to content
This repository was archived by the owner on Dec 7, 2021. It is now read-only.

Commit 9c2c86c

Browse files
Merge pull request #1422 from manoelmarques/stable-0.8.1
[Stable] Qiskit Aqua Release 0.8.1
2 parents 5d7a8cb + c526bdb commit 9c2c86c

File tree

99 files changed

+429
-165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+429
-165
lines changed

.github/actions/install-libraries/action.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,4 @@ runs:
2626
pip install -U pip
2727
pip install -U setuptools wheel
2828
fi
29-
# sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
3029
shell: bash

.github/actions/install-master-dependencies/action.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ runs:
2424
pip install https://github.com/Qiskit/qiskit-terra/archive/master.zip
2525
pip install https://github.com/Qiskit/qiskit-ignis/archive/master.zip
2626
pip install https://github.com/Qiskit/qiskit-ibmq-provider/archive/master.zip
27-
# sudo apt-get -y update
2827
sudo apt-get -y install g++-7
2928
sudo apt-get -y install libopenblas-dev
3029
git clone https://github.com/Qiskit/qiskit-aer.git /tmp/qiskit-aer

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,9 @@ jobs:
250250
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
251251
source "$HOME/miniconda/etc/profile.d/conda.sh"
252252
conda activate
253+
# PSI4 has problems with dataclasses
254+
pip uninstall -y dataclasses
253255
fi
254-
# sudo apt-get -y update
255256
sudo apt-get -y install libgfortran5
256257
pip install https://github.com/rpmuller/pyquante2/archive/master.zip
257258
pip install pyscf
@@ -461,7 +462,6 @@ jobs:
461462
shell: bash
462463
- name: Install Dependencies
463464
run: |
464-
# sudo apt-get -y update
465465
sudo apt-get -y install libgfortran5
466466
pip install https://github.com/rpmuller/pyquante2/archive/master.zip
467467
pip install pyscf

qiskit/aqua/VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.8.0
1+
0.8.1

qiskit/aqua/algorithms/classifiers/qsvm/_qsvm_binary.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ def train(self, data, labels):
7676
"""
7777
scaling = 1.0 if self._qalgo.quantum_instance.is_statevector else None
7878
kernel_matrix = self._qalgo.construct_kernel_matrix(data)
79+
lambda2 = self._qalgo.lambda2
7980
labels = labels * 2 - 1 # map label from 0 --> -1 and 1 --> 1
8081
labels = labels.astype(np.float)
81-
[alpha, b, support] = optimize_svm(kernel_matrix, labels, scaling=scaling)
82+
[alpha, b, support] = optimize_svm(kernel_matrix, labels, scaling=scaling, lambda2=lambda2)
8283
support_index = np.where(support)
8384
alphas = alpha[support_index]
8485
svms = data[support_index]

qiskit/aqua/algorithms/classifiers/qsvm/qsvm.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ def __init__(self, feature_map: Union[QuantumCircuit, FeatureMap],
8080
test_dataset: Optional[Dict[str, np.ndarray]] = None,
8181
datapoints: Optional[np.ndarray] = None,
8282
multiclass_extension: Optional[MulticlassExtension] = None,
83+
lambda2: float = 0.001,
8384
quantum_instance: Optional[
8485
Union[QuantumInstance, BaseBackend, Backend]] = None) -> None:
8586
"""
@@ -90,6 +91,7 @@ def __init__(self, feature_map: Union[QuantumCircuit, FeatureMap],
9091
datapoints: Prediction dataset.
9192
multiclass_extension: If number of classes is greater than 2 then a multiclass scheme
9293
must be supplied, in the form of a multiclass extension.
94+
lambda2: L2 norm regularization factor
9395
quantum_instance: Quantum Instance or Backend
9496
9597
Raises:
@@ -118,6 +120,7 @@ def __init__(self, feature_map: Union[QuantumCircuit, FeatureMap],
118120
self.setup_training_data(training_dataset)
119121
self.setup_test_data(test_dataset)
120122
self.setup_datapoint(datapoints)
123+
self.lambda2 = lambda2
121124

122125
self.feature_map = feature_map
123126
self.num_qubits = self.feature_map.num_qubits

qiskit/aqua/algorithms/minimum_eigen_solvers/qaoa/var_form.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import numpy as np
1818

19-
from qiskit.aqua.operators import (OperatorBase, X, I, H, Zero, CircuitStateFn,
19+
from qiskit.aqua.operators import (OperatorBase, X, I, H, CircuitStateFn,
2020
EvolutionFactory, LegacyBaseOperator)
2121
from qiskit.aqua.components.variational_forms import VariationalForm
2222
from qiskit.aqua.components.initial_states import InitialState
@@ -80,13 +80,12 @@ def construct_circuit(self, parameters, q=None):
8080
self.num_parameters, len(parameters)
8181
))
8282

83-
circuit = (H ^ self._num_qubits)
8483
# initialize circuit, possibly based on given register/initial state
8584
if self._initial_state is not None:
86-
init_state = CircuitStateFn(self._initial_state.construct_circuit('circuit'))
85+
stateVector = CircuitStateFn(self._initial_state.construct_circuit('circuit'))
86+
circuit = stateVector.to_circuit_op()
8787
else:
88-
init_state = Zero
89-
circuit = circuit.compose(init_state)
88+
circuit = (H ^ self._num_qubits)
9089

9190
for idx in range(self._p):
9291
circuit = (self._cost_operator * parameters[idx]).exp_i().compose(circuit)

qiskit/aqua/algorithms/quantum_algorithm.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ def run(self,
6060
AquaError: If a quantum instance or backend has not been provided
6161
"""
6262
if quantum_instance is None and self.quantum_instance is None:
63-
raise AquaError("Quantum device or backend "
64-
"is needed since you are running quantum algorithm.")
63+
raise AquaError("A QuantumInstance or Backend "
64+
"must be supplied to run the quantum algorithm.")
6565
if isinstance(quantum_instance, (BaseBackend, Backend)):
6666
self.set_backend(quantum_instance, **kwargs)
6767
else:

qiskit/aqua/components/neural_networks/pytorch_discriminator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def load_model(self, load_dir: str):
9090
Args:
9191
load_dir: file with stored pytorch discriminator model to be loaded
9292
"""
93-
torch.load(load_dir)
93+
self._discriminator = torch.load(load_dir)
9494

9595
@property
9696
def discriminator_net(self):

qiskit/aqua/components/optimizers/nlopts/nloptimizer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ def optimize(self, num_vars, objective_function, gradient_function=None,
9393
variable_bounds=None, initial_point=None):
9494
super().optimize(num_vars, objective_function,
9595
gradient_function, variable_bounds, initial_point)
96+
if variable_bounds is None:
97+
variable_bounds = [(None, None)] * num_vars
9698
return self._minimize(self._optimizer_names[self.get_nlopt_optimizer()],
9799
objective_function,
98100
variable_bounds,
@@ -101,7 +103,7 @@ def optimize(self, num_vars, objective_function, gradient_function=None,
101103
def _minimize(self,
102104
name: str,
103105
objective_function: Callable,
104-
variable_bounds: Optional[List[Tuple[float, float]]] = None,
106+
variable_bounds: Optional[List[Tuple[float, float]]],
105107
initial_point: Optional[np.ndarray] = None,
106108
max_evals: int = 1000) -> Tuple[float, float, int]:
107109
"""Minimize using objective function

0 commit comments

Comments
 (0)