|
22 | 22 | end |
23 | 23 |
|
24 | 24 | @testset "kron" begin |
25 | | - # normal Space |
| 25 | + # normal HilbertSpace |
26 | 26 | D1 = 4 |
27 | 27 | D2 = 5 |
28 | 28 | dims_s = (D1, D2) |
29 | 29 | ρ_s = rand_dm(dims_s) |
30 | 30 | I_s = qeye(D1) ⊗ qeye(D2) |
31 | 31 | size_s = prod(dims_s) |
32 | | - space_s = (Space(D1), Space(D2)) |
| 32 | + space_s = (HilbertSpace(D1), HilbertSpace(D2)) |
33 | 33 |
|
34 | 34 | # EnrSpace |
35 | 35 | dims_enr = (2, 2, 3) |
|
50 | 50 | "\nQuantum Object: type=Operator() dims=$ρ_tot_dims size=$((ρ_tot_size, ρ_tot_size)) ishermitian=$ρ_tot_isherm\n$datastring" |
51 | 51 |
|
52 | 52 | # use GeneralProductDimensions to do partial trace |
53 | | - new_dims1 = GeneralProductDimensions((Space(1), Space(1), space_enr), (Space(1), Space(1), space_enr)) |
| 53 | + new_dims1 = GeneralProductDimensions( |
| 54 | + (HilbertSpace(1), HilbertSpace(1), space_enr), |
| 55 | + (HilbertSpace(1), HilbertSpace(1), space_enr), |
| 56 | + ) |
54 | 57 | ρ_enr_compound = Qobj(zeros(ComplexF64, size_enr, size_enr), dims = new_dims1) |
55 | 58 | basis_list = [tensor(basis(D1, i), basis(D2, j)) for i in 0:(D1-1) for j in 0:(D2-1)] |
56 | 59 | for b in basis_list |
57 | 60 | ρ_enr_compound += tensor(b', I_enr) * ρ_tot * tensor(b, I_enr) |
58 | 61 | end |
59 | 62 | new_dims2 = GeneralProductDimensions( |
60 | | - (space_s..., Space(1), Space(1), Space(1)), |
61 | | - (space_s..., Space(1), Space(1), Space(1)), |
| 63 | + (space_s..., HilbertSpace(1), HilbertSpace(1), HilbertSpace(1)), |
| 64 | + (space_s..., HilbertSpace(1), HilbertSpace(1), HilbertSpace(1)), |
62 | 65 | ) |
63 | 66 | ρ_s_compound = Qobj(zeros(ComplexF64, size_s, size_s), dims = new_dims2) |
64 | 67 | basis_list = [enr_fock(space_enr, space_enr.idx2state[idx]) for idx in 1:space_enr.size] |
|
0 commit comments