Skip to content

tensor4all-treetci: Add GlobalPivotFinder for error-driven pivot search #383

@shinaoka

Description

@shinaoka

Background

tensor4all-tensorci (chain TCI) has a GlobalPivotFinder mechanism that actively searches for points where the current tensor train approximation has high interpolation error, and adds them as new pivots. This is critical for convergence on functions with localized features.

tensor4all-treetci currently lacks this capability. Pivots are discovered only through edge-local proposers (Kronecker product of existing pivots + full-pivot LU selection), with no explicit global error-driven search.

This gap is a blocker for migrating tensor4all-quanticstci from the chain TCI backend to the tree TCI backend (see tensor4all/Tensor4all.jl#21).

Current State

Chain TCI (tensor4all-tensorci)

  • GlobalPivotFinder trait in globalpivot.rs
  • DefaultGlobalPivotFinder implementation:
    1. Generates nsearch random initial points
    2. For each point, performs floating-zone local optimization (sweeps all dimensions, selects index with max error)
    3. Collects points where |f(x) - TT(x)| > abs_tol × tol_margin
    4. Limits results to max_nglobal_pivot
  • Key parameters: nsearch (default: 5), max_nglobal_pivot (default: 5), tol_margin (default: 10.0)
  • Called once per sweep iteration in the main TCI2 loop

Tree TCI (tensor4all-treetci)

  • Three proposer strategies: DefaultProposer, SimpleProposer, TruncatedDefaultProposer
  • All proposers generate candidates combinatorially from existing pivot sets
  • No error evaluation against the current TTN approximation
  • No random search component

Proposed Design

Add a GlobalPivotFinder (or equivalent) to tensor4all-treetci that:

  1. Evaluates the current tree tensor network at random sample points
  2. Computes interpolation error: |f(x) - TTN(x)|
  3. Performs local optimization (generalized floating zone for tree topology)
  4. Adds high-error points as global pivots via add_global_pivots

Considerations

  • Tree topology generalization: The chain floating-zone sweeps dimensions left-to-right. For trees, the sweep order needs to follow the tree structure (e.g., BFS or leaf-to-root).
  • Trait-based design: Follow the same GlobalPivotFinder trait pattern from chain TCI for extensibility.
  • Integration point: Called in crossinterpolate2 main loop, after each sweep, same as chain TCI.
  • Parameters to add to TreeTciOptions: nsearch, max_nglobal_pivot, tol_margin (or equivalent names).

Acceptance Criteria

  • GlobalPivotFinder trait (or equivalent) defined in tensor4all-treetci
  • Default implementation with random search + local optimization
  • Integrated into crossinterpolate2 main loop
  • TreeTciOptions extended with global pivot search parameters
  • Tests demonstrating improved convergence on functions with localized features
  • Benchmark comparison with chain TCI on equivalent linear-chain problems

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions