Skip to content

Add adaptive TCI interpolation for partitioned tensor trains#562

Open
SamuelBadr wants to merge 2 commits into
mainfrom
feat/adaptive-interpolate
Open

Add adaptive TCI interpolation for partitioned tensor trains#562
SamuelBadr wants to merge 2 commits into
mainfrom
feat/adaptive-interpolate

Conversation

@SamuelBadr

Copy link
Copy Markdown
Member

Summary

  • add tensor4all_partitionedtt::adaptiveinterpolate and AdaptiveInterpolateOptions
  • run TCI2 independently per patch, splitting nonconverged patches in an explicit full-index order
  • support exact 0/1-active-site leaves, scalar and optional batch callbacks, sampled-zero patches, and opt-in pivot recycling
  • replenish children that receive no compatible recycled pivots instead of incorrectly treating them as zero
  • embed fixed middle sites with compact structured copy/one-hot storage
  • fix TCI2 convergence to compare normalized error history with the configured relative tolerance
  • record TCIAlgorithms.jl MIT provenance and license notice

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --release --workspace
  • cargo test --doc --release --workspace
  • cargo doc --workspace --no-deps (passes; pre-existing rustdoc warnings remain)
  • cargo run -p api-dump --release -- . -o docs/api

cargo nextest and mdbook are not installed in the local environment, so cargo nextest run --release --workspace and ./scripts/test-mdbook.sh could not run locally. The full release cargo test --workspace fallback passed.

Provenance

The patch queue and pivot-recycling structure are derived from TCIAlgorithms.jl commit e501032278c9dd41b46c5851d8238169c8d178c5 under MIT. The upstream notice is retained in crates/tensor4all-partitionedtt/LICENSE-TCIALGORITHMS-MIT.

@shinaoka shinaoka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I found a few blocking issues before this should merge. The main correctness problem is that adaptive patch acceptance currently ignores TCI2's full convergence criterion, and there are also repository-rule gaps around checked arithmetic and structured-copy testing. I did not complete local test execution because it was interrupted, so these comments are based on static review of the PR diff and repository rules.

Comment thread crates/tensor4all-partitionedtt/src/adaptive_interpolation.rs Outdated
Comment thread crates/tensor4all-partitionedtt/src/adaptive_interpolation.rs Outdated
Comment thread crates/tensor4all-partitionedtt/src/adaptive_interpolation.rs Outdated
Comment thread crates/tensor4all-partitionedtt/src/adaptive_interpolation/tests.rs
Comment thread docs/worklogs/2026-07-24-adaptive-interpolate.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants