Skip to content
This repository was archived by the owner on Aug 21, 2023. It is now read-only.

Improves Monitoring VQE convergence#1446

Merged
Eric-Arellano merged 7 commits intoQiskit:masterfrom
divshacker:QAMP_2
Jul 26, 2023
Merged

Improves Monitoring VQE convergence#1446
Eric-Arellano merged 7 commits intoQiskit:masterfrom
divshacker:QAMP_2

Conversation

@divshacker
Copy link
Copy Markdown
Contributor

@divshacker divshacker commented Apr 29, 2023

Summary

This PR will improve the tutorial 02_vqe_advanced_options

Details and comments

fixes #1403
Part of #1401
I have updated Few old links and references and changed images to SVGs

@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@divshacker divshacker marked this pull request as draft April 29, 2023 11:38
Comment thread tutorials/algorithms/02_vqe_advanced_options.ipynb Outdated
@woodsp-ibm
Copy link
Copy Markdown
Member

woodsp-ibm commented Apr 29, 2023

I have updated Few old links and references and changed images to SVGs

As far as the output cell image format - these notebooks re-run/converted to html by CI for the published docs.

@divshacker
Copy link
Copy Markdown
Contributor Author

I have updated Few old links and references and changed images to SVGs

As far as the output cell image format - these notebooks re-run/converted to html by CI for the published docs.

Yes, I know that the images format will be changed anyway before publishing but like after making changes and rerunning the tutorials locally the images are automatically changed to SVGs due to my local environment. I am not doing it intentionally. Also as these tutorials would also remain in GitHub repo so it's good to change them into SVGs if they are not in that format.

@divshacker divshacker requested a review from woodsp-ibm July 26, 2023 10:57
@divshacker
Copy link
Copy Markdown
Contributor Author

This PR is ready for review
Thanks

Eric-Arellano pushed a commit that referenced this pull request Jul 26, 2023
<!--
⚠️ If you do not respect this template, your pull request will be
closed.
⚠️ Your pull request title should be short detailed and understandable
for all.
⚠️ If your pull request fixes an open issue, please link to the issue.

✅ I have added the tests to cover my changes.
✅ I have updated the documentation accordingly.
✅ I have read the CONTRIBUTING document.
-->

### Summary
I have coded a script which (when directory is specified) checks for the
broken links in the Jupyter notebooks and tells its exact place and the
error it shows.
```
import os
import nbformat as nbf
import re
import requests
# Code to populate file_list with relevant .ipynb files
file_list = []

for root, dirs, files in os.walk("qiskit-tutorials/tutorials/"):
    for file in files:
        if file.endswith(".ipynb"):
            file_list.append(os.path.join(root, file))  # Including the relative path of the file

INLINE_LINK_RE = re.compile(r'\[([^\]]+)\]\(([^)]+)\)')
for file_path in file_list:
    try:
        with open(file_path) as file:
            nb = nbf.read(file, 4)
    except OSError as e:
        print(f"Error occurred while reading file: {file_path}")
        print("Error message:", str(e))
        print()
        continue

    for cell in nb["cells"]:
        if cell["cell_type"] != "markdown":
            continue
        links = list(INLINE_LINK_RE.findall(cell["source"]))
        for link in links:
            if not link:
                continue
            link_text, link_url = link
            if link_url.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):
                continue  # Skip image links
            try:
                response = requests.get(link_url)
                if response.status_code != 200:
                    print(f"Broken link found in file: {file_path}")
                    print(f"Link: {link_text}")
                    print(f"URL: {link_url}")
                    print("HTTP status code:", response.status_code)
                    print()
            except requests.RequestException as e:
                print(f"Error occurred while checking link in file: {file_path}")
                print(f"Link: {link_text}")
                print(f"URL: {link_url}")
                print("Error message:", str(e))
                print()

```

### Details and comments

This code is part of QAMP Project [Issues in Qiskit Tutorials
#37](qiskit-advocate/qamp-spring-23#37)
which can read many files at once and can find broken links with their
exact position and error code it is showing.

I ran this above code throughout the repo and checked each and every
Jupyter notebook files, based on the output I have fixed many links.
This PR is just the Last PR of the of project, which fixes the remaining
broken links. All the other broken links are already fixed in the past
PRs which are made throughout this project. #1445 #1446 #1467 #1483
#1484.
This project also fixes #1402
Copy link
Copy Markdown
Collaborator

@Eric-Arellano Eric-Arellano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@Eric-Arellano Eric-Arellano dismissed woodsp-ibm’s stale review July 26, 2023 12:06

The problematic code has been removed

@Eric-Arellano Eric-Arellano merged commit 08cfec1 into Qiskit:master Jul 26, 2023
ElePT pushed a commit to ElePT/qiskit-algorithms that referenced this pull request Aug 17, 2023
<!--
⚠️ If you do not respect this template, your pull request will be
closed.
⚠️ Your pull request title should be short detailed and understandable
for all.
⚠️ If your pull request fixes an open issue, please link to the issue.

✅ I have added the tests to cover my changes.
✅ I have updated the documentation accordingly.
✅ I have read the CONTRIBUTING document.
-->

### Summary
This PR will improve the tutorial
[02_vqe_advanced_options](https://qiskit.org/documentation/tutorials/algorithms/02_vqe_advanced_options.html)


### Details and comments
fixes Qiskit/qiskit-tutorials#1403 
Part of Qiskit/qiskit-tutorials#1401
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

Improve Monitoring VQE convergence tutorial if needed

3 participants