Skip to content

Commit e79371b

Browse files
committed
Update lipkin.ipynb
1 parent 3427ac2 commit e79371b

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

doc/src/week7/lipkin.ipynb

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@
584584
},
585585
{
586586
"cell_type": "code",
587-
"execution_count": null,
587+
"execution_count": 12,
588588
"id": "a305c1f1",
589589
"metadata": {},
590590
"outputs": [],
@@ -661,10 +661,35 @@
661661
},
662662
{
663663
"cell_type": "code",
664-
"execution_count": null,
664+
"execution_count": 13,
665665
"id": "c93f4097",
666666
"metadata": {},
667-
"outputs": [],
667+
"outputs": [
668+
{
669+
"ename": "RequestsApiError",
670+
"evalue": "'401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken. Login failed., Error code: 3446.'",
671+
"output_type": "error",
672+
"traceback": [
673+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
674+
"\u001b[0;31mHTTPError\u001b[0m Traceback (most recent call last)",
675+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/session.py:278\u001b[0m, in \u001b[0;36mRetrySession.request\u001b[0;34m(self, method, url, bare, **kwargs)\u001b[0m\n\u001b[1;32m 277\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mrequest(method, final_url, headers\u001b[38;5;241m=\u001b[39mheaders, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m--> 278\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 279\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m RequestException \u001b[38;5;28;01mas\u001b[39;00m ex:\n\u001b[1;32m 280\u001b[0m \u001b[38;5;66;03m# Wrap the requests exceptions into a IBM Q custom one, for\u001b[39;00m\n\u001b[1;32m 281\u001b[0m \u001b[38;5;66;03m# compatibility.\u001b[39;00m\n",
676+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/requests/models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[0;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n",
677+
"\u001b[0;31mHTTPError\u001b[0m: 401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken",
678+
"\nThe above exception was the direct cause of the following exception:\n",
679+
"\u001b[0;31mRequestsApiError\u001b[0m Traceback (most recent call last)",
680+
"Cell \u001b[0;32mIn[13], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mIBMQ\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_account\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m provider \u001b[38;5;241m=\u001b[39m IBMQ\u001b[38;5;241m.\u001b[39mget_provider()\n\u001b[1;32m 3\u001b[0m IBMQC\u001b[38;5;241m=\u001b[39mprovider\u001b[38;5;241m.\u001b[39mget_backend(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mibmq_manila\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
681+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/ibmqfactory.py:191\u001b[0m, in \u001b[0;36mIBMQFactory.load_account\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 187\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCredentials are already in use. The existing \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 188\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124maccount in the session will be replaced.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 189\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdisable_account()\n\u001b[0;32m--> 191\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_initialize_providers\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreferences\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[38;5;66;03m# Prevent edge case where no hubs are available.\u001b[39;00m\n\u001b[1;32m 194\u001b[0m providers \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mproviders()\n",
682+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/ibmqfactory.py:456\u001b[0m, in \u001b[0;36mIBMQFactory._initialize_providers\u001b[0;34m(self, credentials, preferences)\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_initialize_providers\u001b[39m(\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28mself\u001b[39m, credentials: Credentials,\n\u001b[1;32m 448\u001b[0m preferences: Optional[Dict] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 449\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 450\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Authenticate against IBM Quantum and populate the providers.\u001b[39;00m\n\u001b[1;32m 451\u001b[0m \n\u001b[1;32m 452\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;124;03m credentials: Credentials for IBM Quantum.\u001b[39;00m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;124;03m preferences: Account preferences.\u001b[39;00m\n\u001b[1;32m 455\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 456\u001b[0m auth_client \u001b[38;5;241m=\u001b[39m \u001b[43mAuthClient\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtoken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 457\u001b[0m \u001b[43m \u001b[49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbase_url\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mcredentials\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnection_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 459\u001b[0m service_urls \u001b[38;5;241m=\u001b[39m auth_client\u001b[38;5;241m.\u001b[39mcurrent_service_urls()\n\u001b[1;32m 460\u001b[0m user_hubs \u001b[38;5;241m=\u001b[39m auth_client\u001b[38;5;241m.\u001b[39muser_hubs()\n",
683+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:41\u001b[0m, in \u001b[0;36mAuthClient.__init__\u001b[0;34m(self, api_token, auth_url, **request_kwargs)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_service_urls \u001b[38;5;241m=\u001b[39m {} \u001b[38;5;66;03m# type: ignore[var-annotated]\u001b[39;00m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauth_api \u001b[38;5;241m=\u001b[39m Api(RetrySession(auth_url, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mrequest_kwargs))\n\u001b[0;32m---> 41\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbase_api \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_init_service_clients\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrequest_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
684+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:53\u001b[0m, in \u001b[0;36mAuthClient._init_service_clients\u001b[0;34m(self, **request_kwargs)\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Initialize the clients used for communicating with the API.\u001b[39;00m\n\u001b[1;32m 45\u001b[0m \n\u001b[1;32m 46\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;124;03m Client for the API server.\u001b[39;00m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;66;03m# Request an access token.\u001b[39;00m\n\u001b[0;32m---> 53\u001b[0m access_token \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request_access_token\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;66;03m# Use the token for the next auth server requests.\u001b[39;00m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauth_api\u001b[38;5;241m.\u001b[39msession\u001b[38;5;241m.\u001b[39maccess_token \u001b[38;5;241m=\u001b[39m access_token\n",
685+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/clients/auth.py:75\u001b[0m, in \u001b[0;36mAuthClient._request_access_token\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Request a new access token from the API authentication service.\u001b[39;00m\n\u001b[1;32m 66\u001b[0m \n\u001b[1;32m 67\u001b[0m \u001b[38;5;124;03mReturns:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124;03m RequestsApiError: If the request failed.\u001b[39;00m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 75\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mauth_api\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlogin\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mapi_token\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 77\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m RequestsApiError \u001b[38;5;28;01mas\u001b[39;00m ex:\n\u001b[1;32m 78\u001b[0m \u001b[38;5;66;03m# Get the original exception that raised.\u001b[39;00m\n",
686+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/rest/root.py:125\u001b[0m, in \u001b[0;36mApi.login\u001b[0;34m(self, api_token)\u001b[0m\n\u001b[1;32m 116\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Login with token.\u001b[39;00m\n\u001b[1;32m 117\u001b[0m \n\u001b[1;32m 118\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;124;03m JSON response.\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 124\u001b[0m url \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_url(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlogin\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 125\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msession\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpost\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mapiToken\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mapi_token\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mjson()\n",
687+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/requests/sessions.py:637\u001b[0m, in \u001b[0;36mSession.post\u001b[0;34m(self, url, data, json, **kwargs)\u001b[0m\n\u001b[1;32m 626\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpost\u001b[39m(\u001b[38;5;28mself\u001b[39m, url, data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, json\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 627\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Sends a POST request. Returns :class:`Response` object.\u001b[39;00m\n\u001b[1;32m 628\u001b[0m \n\u001b[1;32m 629\u001b[0m \u001b[38;5;124;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 634\u001b[0m \u001b[38;5;124;03m :rtype: requests.Response\u001b[39;00m\n\u001b[1;32m 635\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 637\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mPOST\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjson\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
688+
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/qiskit/providers/ibmq/api/session.py:300\u001b[0m, in \u001b[0;36mRetrySession.request\u001b[0;34m(self, method, url, bare, **kwargs)\u001b[0m\n\u001b[1;32m 297\u001b[0m \u001b[38;5;66;03m# Modify the original message on the chained exceptions.\u001b[39;00m\n\u001b[1;32m 298\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_modify_chained_exception_messages(ex)\n\u001b[0;32m--> 300\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m RequestsApiError(message, status_code) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mex\u001b[39;00m\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
689+
"\u001b[0;31mRequestsApiError\u001b[0m: '401 Client Error: Unauthorized for url: https://auth.quantum-computing.ibm.com/api/users/loginWithToken. Login failed., Error code: 3446.'"
690+
]
691+
}
692+
],
668693
"source": [
669694
"IBMQ.load_account()\n",
670695
"provider = IBMQ.get_provider()\n",

0 commit comments

Comments
 (0)