isometry¶
Create a 3-index fusion tensor for combining indices.
isometry
¶
isometry(
first: Index,
second: Index,
*,
dtype: dtype = torch.float64,
device: Optional[device] = None,
itags: Optional[Tuple[str, str, str]] = None,
fused_direction: Optional[Direction] = None,
) -> Tensor
Return a 3rd order tensor that fuses first ⊗ second into a fused index.
For Abelian groups, creates a single block per charge combination. For generic groups (e.g., SU(2)), creates multiple blocks corresponding to different fusion channels, with intertwiner (Bridge) handling Clebsch-Gordan coefficients and proper normalization.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
first
|
Index
|
Input indices to be fused. They must share a symmetry group. |
required |
second
|
Index
|
Input indices to be fused. They must share a symmetry group. |
required |
dtype
|
dtype
|
Data type for the emitted fusion blocks. |
float64
|
device
|
Optional[device]
|
Device for the tensor blocks. If None, defaults to |
None
|
itags
|
Optional[Tuple[str, str, str]]
|
Optional tuple of tags for the three tensor indices. Defaults to |
None
|
fused_direction
|
Optional[Direction]
|
Optional direction for the fused index. Defaults to the dual of |
None
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Third order tensor whose third index represents the fusion of the first two. For generic groups, includes intertwiner (intw) field with Bridge objects containing CG specifications and normalization weights. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the incoming indices do not belong to the same symmetry group. |
RuntimeError
|
If internal bookkeeping detects a fusion shape mismatch. |
Description¶
Returns a tensor that fuses two indices into a combined index. The fusion follows the symmetry group's charge combination rules (e.g., addition for U(1), XOR for Z(2)).
Structure¶
- Indices 1 & 2: Input indices to be fused
- Index 3: Fused index with combined sectors
Charges are fused: q_fused = group.fuse_unique(q₁, q₂)
See Also¶
- identity: Create identity tensor
- Index: Index structure
- ProductGroup: Multiple symmetries
- Examples: Build Operators
Notes¶
Both input indices must share the same symmetry group. The fused index dimension is the product of input dimensions for matching charge combinations.