I have tried to run Shor's algorithm using IBM high performance simulator. I
am currently using QuantumInstance
to factorize a number. The code is provided below:
from qiskit import *
IBMQ.save_account('<My API String>')
IBMQ.load_account()
from qiskit.tools.monitor import job_monitor
from qiskit.utils import QuantumInstance
from qiskit.algorithms import Shor
N=63
provider = IBMQ.get_provider('ibm-q')
sim = provider.backends.ibmq_qasm_simulator
quantum_instance = QuantumInstance(sim, shots=1024)
shor = Shor(quantum_instance=quantum_instance)
job_monitor(shor, interval=2)
rslt = shor.factor(N)
hsl = rslt.factors[0]
print("Factor result: "+str(hsl))
And it is giving me this error:
configrc.store_credentials:WARNING:2022-04-18 13:49:09,225: Credentials already present. Set overwrite=True to overwrite.
Traceback (most recent call last):
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\session.py", line 278, in request
response.raise_for_status()
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 960, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Python\test_shor_2_cloud.py", line 4, in <module>
IBMQ.load_account()
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\ibmqfactory.py", line 191, in load_account
self._initialize_providers(credentials, preferences)
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\ibmqfactory.py", line 456, in _initialize_providers
auth_client = AuthClient(credentials.token,
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\clients\auth.py", line 41, in __init__
self.base_api = self._init_service_clients(**request_kwargs)
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\clients\auth.py", line 53, in _init_service_clients
access_token = self._request_access_token()
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\clients\auth.py", line 75, in _request_access_token
response = self.auth_api.login(self.api_token)
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\rest\root.py", line 125, in login
return self.session.post(url, json={'apiToken': api_token}).json()
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\sessions.py", line 577, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\qiskit\providers\ibmq\api\session.py", line 300, in request
raise RequestsApiError(message, status_code) from ex
qiskit.providers.ibmq.api.exceptions.RequestsApiError: '401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken. Login failed., Error code: 3446.'
Any suggestion?