You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Balanced gram_eigh_full convention, add one and operator-construction primitives (#177)
## Summary
- `gram_eigh_full` and `gram_eigh_full_with_pinv` flipped to the
balanced `A ≈ X * X'` convention (was right-Gram `A ≈ X' * X`).
Breaking, but lands as a patch bump since `gram_eigh_full` is new in
v0.9.4 with no known downstream users.
- `TensorAlgebra.one(A, codomain, domain)` for identity operator
tensors. Not exported (clashes with `Base.one`).
- `similar_map(prototype, [T,] codomain_axes, domain_axes)` for
allocating linear-map-shaped arrays. `NamedDimsArrays.similar_operator`
routes through this
(ITensor/NamedDimsArrays.jl#229).
- `projectto!` and `checked_projectto!` for projecting into a restricted
subspace.
- `project_map` and `checked_project_map` as `similar_map` +
`projectto!` allocators.
- `trivialrange(::Type{<:AbstractUnitRange})` for the identity range
under `tensor_product_axis`. Defaults to `Base.OneTo(1)`, overloaded by
downstream packages (for example a charge-0 graded range).
- The `!!` (may-destroy-input) factorization variants in `MatrixAlgebra`
are no longer exported and no longer appear in the `gram_eigh_full`
docstrings, treating them as internal. They remain callable as qualified
`MatrixAlgebra.svd!!`-style functions. Nothing outside TensorAlgebra
used them.
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments