Title: Tropical TN decoder scalability: d>=5 infeasible due to high tree width - investigate approximate contraction methods · Issue #71 · TensorBFS/BPDecoderPlus · GitHub
Open Graph Title: Tropical TN decoder scalability: d>=5 infeasible due to high tree width - investigate approximate contraction methods · Issue #71 · TensorBFS/BPDecoderPlus
X Title: Tropical TN decoder scalability: d>=5 infeasible due to high tree width - investigate approximate contraction methods · Issue #71 · TensorBFS/BPDecoderPlus
Description: Problem Summary The current tropical tensor network MAP decoder implementation works perfectly for d=3 but fails for d>=5 due to prohibitively high tree width (space complexity). Current Results Distance Variables Factors Tree Width (sc)...
Open Graph Description: Problem Summary The current tropical tensor network MAP decoder implementation works perfectly for d=3 but fails for d>=5 due to prohibitively high tree width (space complexity). Current Results Di...
X Description: Problem Summary The current tropical tensor network MAP decoder implementation works perfectly for d=3 but fails for d>=5 due to prohibitively high tree width (space complexity). Current Results...
Opengraph URL: https://github.com/TensorBFS/BPDecoderPlus/issues/71
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Tropical TN decoder scalability: d\u003e=5 infeasible due to high tree width - investigate approximate contraction methods","articleBody":"## Problem Summary\n\nThe current tropical tensor network MAP decoder implementation works perfectly for d=3 but **fails for d\u003e=5** due to prohibitively high tree width (space complexity).\n\n### Current Results\n\n| Distance | Variables | Factors | Tree Width (sc) | Memory Required |\n|----------|-----------|---------|-----------------|-----------------|\n| d=3 | 78 | 102 | 9 | **~4 KB** ✓ |\n| d=5 | 502 | 622 | 36 | **~550 GB** ✗ |\n| d=7 | 1558 | 1894 | 80 | **~10¹⁵ GB** ✗ |\n\nFor d=3, the tropical TN decoder achieves **exact agreement with MWPM** (differs=0 across all error rates), validating the implementation correctness.\n\n### Root Cause\n\nThe factor graph for circuit-level noise rotated surface codes has tree width that grows exponentially with distance. This is a **fundamental limitation of exact MAP inference**, not an implementation issue.\n\nKey observations:\n1. The time dimension (d rounds) creates high connectivity in the factor graph\n2. Standard variable elimination/contraction ordering cannot reduce tree width below ~36 for d=5\n3. Slicing only splits the network into disconnected components without reducing per-component tree width\n\n---\n\n## Potential Solutions: Approximate Tensor Network Contraction\n\nBased on literature survey, several approximate methods could enable d\u003e=5 decoding:\n\n### 1. **Bond Dimension Truncation (MPS/MPO)**\n- **Reference**: Bravyi et al., \"Efficient Algorithms for Maximum Likelihood Decoding in the Surface Code\" [arXiv:1405.4883]\n- **Method**: Use Matrix Product States to approximate intermediate tensors during contraction\n- **Complexity**: O(n χ³) where χ is bond dimension (approximation parameter)\n- **Results**: Significant improvement over MWPM with χ≥4 for code capacity noise\n- **Key insight**: Uses DMRG-style boundary contraction\n\n### 2. **Sweep Line Contraction**\n- **Reference**: Chubb, \"General tensor network decoding of 2D Pauli codes\" [arXiv:2101.04125]\n- **Implementation**: [SweepContractor.jl](https://github.com/chubbc/SweepContractor.jl)\n- **Method**: Sweep a line across the 2D tensor network, maintaining bounded bond dimension\n- **Complexity**: O(n log n + n χ³)\n- **Results**: State-of-the-art thresholds, numerically consistent with optimal\n\n### 3. **Belief Propagation on Tensor Networks**\n- Combine BP messages with tensor structure\n- May inherit BP's limitations on loopy graphs\n\n### 4. **Variational Methods**\n- Optimize tensor network structure variationally\n- Potentially slower but more general\n\n---\n\n## Proposed Implementation Plan\n\n### Phase 1: MPS-based Approximate Contraction\nImplement MPS boundary contraction following Bravyi et al.:\n1. Arrange factor graph on a cylinder/strip\n2. Contract row-by-row using MPO-MPS multiplication\n3. Truncate to bond dimension χ after each step\n4. Recover approximate MPE assignment via backtracking\n\n### Phase 2: Sweep Contraction\nPort/adapt SweepContractor.jl approach:\n1. Planarize the tensor network\n2. Use sweep line algorithm with truncation\n3. Works for general 2D tensor networks\n\n### Phase 3: Benchmarking\nCompare approximate TN decoder against:\n- MWPM baseline\n- BP-OSD decoder\n- Measure threshold degradation vs χ\n\n---\n\n## Technical Considerations\n\n### For Circuit-Level Noise\nThe factor graph is **3D** (space × time), not 2D. This complicates:\n1. Boundary contraction ordering\n2. Sweep line direction selection\n3. Bond dimension requirements may be higher\n\n### Tropical Semiring Adaptation\nStandard MPS truncation uses SVD on probability semiring. For tropical (max-plus) semiring:\n- Need tropical SVD analog or\n- Convert to log-probabilities and use standard SVD approximation\n- May lose exactness of tropical operations\n\n---\n\n## Related Issues\n- This explains why slicing alone doesn't help: sliced components maintain same tree width\n- Connected component handling was fixed in recent commits but doesn't address core scalability\n\n## References\n1. Bravyi et al., [arXiv:1405.4883](https://arxiv.org/abs/1405.4883) - MPS decoder\n2. Chubb, [arXiv:2101.04125](https://arxiv.org/abs/2101.04125) - Sweep contraction\n3. Schotte et al., [arXiv:2012.04610](https://arxiv.org/abs/2012.04610) - TN for Fibonacci code\n\n/cc @maintainers","author":{"url":"https://github.com/ChanceSiyuan","@type":"Person","name":"ChanceSiyuan"},"datePublished":"2026-01-25T16:34:36.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/71/BPDecoderPlus/issues/71"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:690b928f-e0e2-a3b9-bbf1-16b9d672f853 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A294:F4108:2DFE25C:3E4F04C:698DBB57 |
| html-safe-nonce | 562b1835d553637c75ba2b07bceab058753dba13f5a47e0597aab97a633a2a0f |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMjk0OkY0MTA4OjJERkUyNUM6M0U0RjA0Qzo2OThEQkI1NyIsInZpc2l0b3JfaWQiOiIzOTE3MDIyODE4ODY0ODEyMzkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 8550602cb388fa7eba9749d6e4c58e8c3b3e9c0cb84f8749b68143ffaab029a0 |
| hovercard-subject-tag | issue:3853511371 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/TensorBFS/BPDecoderPlus/71/issue_layout |
| twitter:image | https://opengraph.githubassets.com/22845ca43ebbb71d1b1b34f00eed06a2ef0585a763f1cf03f71104536371b0b3/TensorBFS/BPDecoderPlus/issues/71 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/22845ca43ebbb71d1b1b34f00eed06a2ef0585a763f1cf03f71104536371b0b3/TensorBFS/BPDecoderPlus/issues/71 |
| og:image:alt | Problem Summary The current tropical tensor network MAP decoder implementation works perfectly for d=3 but fails for d>=5 due to prohibitively high tree width (space complexity). Current Results Di... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ChanceSiyuan |
| hostname | github.com |
| expected-hostname | github.com |
| None | d9c5a945db9d79f5476dbe75d3700f24739ef28ab02037163bdeac4050cd4ded |
| turbo-cache-control | no-preview |
| go-import | github.com/TensorBFS/BPDecoderPlus git https://github.com/TensorBFS/BPDecoderPlus.git |
| octolytics-dimension-user_id | 54710663 |
| octolytics-dimension-user_login | TensorBFS |
| octolytics-dimension-repository_id | 1134101933 |
| octolytics-dimension-repository_nwo | TensorBFS/BPDecoderPlus |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1134101933 |
| octolytics-dimension-repository_network_root_nwo | TensorBFS/BPDecoderPlus |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 650e13e6e6d3957db6415d62f055e6a5fd0037db |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width