feat(Finite): add experimental Euclidean-space KetEuc and optKet #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new experimental version of
Ket(KetEuc) based onEuclideanSpace ℂ d, along with an initial example —optKet, which applies a unitary operator to a ket in this setting.Motivation
The idea is to start a gradual transition from Fintype-based kets to an Euclidean-space formulation, which should make it easier to connect with
Mathlib’s existing analytic tools (ContinuousLinearMap,unitary.norm_map, etc.).Rather than modifying the existing
Braketdirectly, this version lives in a separate file to keep things clean and avoid dependency cycles. It’s meant as a safe space to experiment and see how far we can push the Euclidean approach before integrating it more broadly.Changes
QuantumInfo.Finite.new_Braket.leanKetEuc: an Euclidean-space ket with the normalization condition‖ψ‖ = 1.KetEuc.norm_oneand a short aliasketfor quick testing.QuantumInfo.Finite.UnitaryAction.leanoptKet, showing how to apply a unitary (U ψ) usingMatrix.toEuclideanLinandunitary.norm_map.Notes
This is an early step toward a more analytic formulation of quantum states.
The implementation is minimal by design — the focus here is just to get a working Euclidean-space ket and demonstrate how existing proofs (like normalization preservation) adapt in this framework.
Future work can build on this structure (e.g., tensor products, inner products, or extensions toward
MState).