Reproduce arXiv:2207.05612

Open
#73 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
matplotlib, python

Research direction

Start by reading the linked paper, especially Figure 2(a), and identify the DMRG and finite-fidelity methods needed to reproduce it. Then check examples/reproduce_papers/ for an existing reproduction and use the requested folder structure and meta.yaml fields. Compare small systems against exact tc.Circuit results; done means a generated figure or terminal output matching the paper, with Black and Pylint checks confirmed.

Written by the indexing model from the issue text.

Description

good first issue

1. Paper Information

  • Title: A density-matrix renormalization group algorithm for simulating quantum circuits
    with a finite fidelity

  • Link: https://arxiv.org/abs/2207.05612

  • Tags: DMRG, matrix product state, classical simulation

2. Reproduction Goal

Which specific figure or table from the paper needs to be reproduced?

  • Target: Fig 2(a)

  • Expected Metric/Result: also compare with exact tc.Circuit results for small size systems to ensure the correctness

  • Allow to reduce the problem size compared to the paper: Yes, could use reduced qubit counts

3. Directory Structure Plan

To keep the repository organized, please strictly follow this folder structure:

  • Proposed Folder Name: examples/reproduce_papers/<YYYY>_<keywords>/
    • Naming Convention: year_keywords
    • Example: examples/reproduce_papers/2023_quantum_transformer/

4. Metadata Definition (meta.yaml)

Please provide the content for the meta.yaml file that will be placed in the folder.

Contributors/AI: Copy and fill this block directly into the meta.yaml file.

title: ""
arxiv_id: ""
url: ""
year: 
authors: 
  - ""
  - ""
tags:
  - ""
  - ""
hardware_requirements:
  gpu: False
  min_memory: ""
description: ""
outputs:
  - target: "Figure 2(a)"
    path: result.png
    script: "main.py"

5. Implementation Requirements

For AI Assistants / Contributors: Please strictly follow the rules below.

  • Docstring Standard:

    • The file MUST start with a docstring containing the paper title and the link.
      Format example:

      """
      Reproduction of "Paper Title"
      Link: https://arxiv.org/abs/xxxx.xxxxx
      
      Description:
      This script reproduces Figure 3 from the paper using TensorCircuit-NG.
      """
      
  • Outputs:
    The reproduced data and figures should be in outputs/ subfolder.

  • Subfolder structure:

    examples/reproduce_papers/<YYYY>_<Keywords>/
    ├── meta.yaml
    ├── main.py
    ├── ...       # models, data, etc.
    └── outputs/
        ├── result.png    # used for gallery
        └── ...           # other outputs if necessary
    
  • Code Quality & Linter:

    • Formatter: The code must be formatted using black.
    • Linter: The code must pass pylint checks (clean code, handle errors).
    • Type Hints: Standard type is NOT REQUIRED.
  • Dependencies:

    • Use tensorcircuit as the main framework.
    • Use matplotlib for plotting if necessary.

6. Verification

To be considered complete, please provide:

  1. A screenshot of the generated plot or the terminal output matching the paper's result.
  2. Confirmation that black and pylint have been run.
# Example verification commands
black examples/reproduce_papers/<paper_subfolder>/*.py
pylint examples/reproduce_papers/<paper_subfolder>/*.py

7. Checklist

  • I have checked that this paper hasn't been reproduced in the repo yet.

  • The script is self-contained and runnable.

  • The docstring includes the correct arXiv/DOI link.

  • black formatting applied.

  • pylint check passed.

Dominant language
Python
Stars
92
Forks
25
Avg merge
21h 12m
Merged PRs (30d)
57

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tensorcircuit/tensorcircuit-ng

All issues in tensorcircuit/tensorcircuit-ng

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.