Skip to content

Commit 2399602

Browse files
committed
test file
1 parent c5cf0b2 commit 2399602

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

QCLib/Circuit/Gate/Qubit.lean

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public import Mathlib.LinearAlgebra.Matrix.Hermitian
99
public import QCLib.LinearAlgebra.UnitaryGroup.RootsOfUnity
1010
public import QCLib.LinearAlgebra.StdBasis
1111
public import QCLib.Misc.OrderOf
12+
public import Mathlib.Analysis.InnerProductSpace.PiL2
1213

1314
import QCLib.Misc.IntCast
1415

@@ -77,8 +78,7 @@ noncomputable def T : 𝐔[Qubit] :=
7778

7879
noncomputable def R (k : ℕ) : 𝐔[Qubit] := ⟨!![1, 0; 0, ζ (2^k)], by
7980
rw [Matrix.mem_unitaryGroup_iff]
80-
matrix_expand
81-
81+
matrix_expand ⟩
8282

8383
@[matrixExpand]
8484
theorem H_eq : H.val = (√(1/2) : ℂ) • !![1, 1; 1, -1] := by rfl
@@ -291,6 +291,8 @@ def mns : (Qubit → ℂ) := ((√2)⁻¹ : ℂ) • (δ[0] - δ[1])
291291
def lft : (Qubit → ℂ) := ((√2)⁻¹ : ℂ) • (δ[0] + I • δ[1])
292292
def rgt : (Qubit → ℂ) := ((√2)⁻¹ : ℂ) • (δ[0] - I • δ[1])
293293

294+
def upl2 : EuclideanSpace
295+
294296
end
295297

296298
example : pls = (√2)⁻¹ • ![1, 1] := by matrix_expand [pls]

QCLib/LinearAlgebra/StdBasis.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ This file also collects `•` application
3838
noncomputable def BasisVector {ι : Type*} [Finite ι] (i : ι) : (ι → ℂ) :=
3939
Pi.basisFun ℂ ι i
4040

41+
noncomputable def l2BasisVector {ι : Type*} [Finite ι] (i : ι) : (ι → ℂ) :=
42+
Pi.basisFun ℂ ι i
43+
4144
@[matrixExpand]
4245
theorem basisVector_def (ι : Type*) [Finite ι] (i : ι) :
4346
BasisVector i = Pi.basisFun ℂ ι i := by rfl
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import Mathlib
2+
import QCLib.Mathlib.LinearAlgebra.PiOuterProduct
3+
4+
open scoped PiOuterProduct
5+
6+
variable {ι : Type*} [Fintype ι]
7+
8+
variable {l : ι → Type*} [∀ i, Fintype (l i)]
9+
10+
-- family of vectors in an Euclidean space
11+
variable {f : (i : ι) → EuclideanSpace ℂ (l i)}
12+
13+
instance : PiOuterProduct (fun i ↦ EuclideanSpace ℂ (l i)) (EuclideanSpace ℂ (Π i, l i)) where
14+
tprod := fun f ↦ WithLp.toLp 2 (⨂ i, ((f i) : (l i → ℂ)))

0 commit comments

Comments
 (0)