From 9928655b8e6a24033bd2d88f852d1897b0c8582b Mon Sep 17 00:00:00 2001 From: Akira Kyle Date: Thu, 14 Nov 2024 13:58:05 -0700 Subject: [PATCH] Bump compat for Symbolics to 6 and fix maketerm arguments (#86) --------- Co-authored-by: Stefan Krastanov --- CHANGELOG.md | 14 +++++++++----- Project.toml | 8 ++++---- src/QSymbolicsBase/QSymbolicsBase.jl | 2 +- src/QSymbolicsBase/basic_ops_inhomogeneous.jl | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0accc1..0f5b30c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # News +## v0.4.5 - 2024-11-14 + +- Updated compat lower bounds for Symbolics to v6 (and for SymbolicUtils and TermInterface) + ## v0.4.4 - 2024-09-16 - Implement squeezing with `SqueezeOp` and `SqueezedState`. @@ -23,14 +27,14 @@ - Added phase-shift and displacement operators `DisplaceOp` and `PhaseShiftOp`. - Simplification rules for Fock objects. - **(breaking)** `FockBasisState` was renamed to `FockState`. - + ## v0.3.4 - 2024-07-22 - Added `tr` and `ptrace` functionalities. - New symbolic superoperator representations. - Added linear algebra operations `exp`, `vec`, `conj`, `transpose`. - Created a getting-started guide in docs. - + ## v0.3.3 - 2024-07-12 - Added single qubit simplification rules. @@ -51,7 +55,7 @@ - Implement zero objects. - Equality for commutative operations, hashing, and lexicographic ordering when printing. - Added tests. - + ## v0.3.0 - 2024-06-12 - Bump compat for symbolics-related foundational packages. @@ -78,12 +82,12 @@ - Add all conditional Paulis. - Remove `stab_to_ket` in favor of directly using the `Ket` constructor. -## v0.2.2 - 2023-06-28 +## v0.2.2 - 2023-06-28 - Bump `QuantumInterface` compat. - Upstream some `apply!` definitions to QuantumOpticsBase. -## v0.2.1 - 2023-06-11 +## v0.2.1 - 2023-06-11 - Bump `QuantumInterface` compat. diff --git a/Project.toml b/Project.toml index fd0be53..2398b56 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "QuantumSymbolics" uuid = "efa7fd63-0460-4890-beb7-be1bbdfbaeae" authors = ["QuantumSymbolics.jl contributors"] -version = "0.4.4" +version = "0.4.5" [deps] Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" @@ -30,7 +30,7 @@ PrecompileTools = "1.2" QuantumClifford = "0.8.19, 0.9" QuantumInterface = "0.3.3" QuantumOpticsBase = "0.4.22, 0.5" -SymbolicUtils = "2.0.2, 3" -Symbolics = "5.30.3" -TermInterface = "0.4, 0.5, 1, 2" +SymbolicUtils = "3.7" +Symbolics = "6" +TermInterface = "2" julia = "1.10" diff --git a/src/QSymbolicsBase/QSymbolicsBase.jl b/src/QSymbolicsBase/QSymbolicsBase.jl index d707c49..955a40d 100644 --- a/src/QSymbolicsBase/QSymbolicsBase.jl +++ b/src/QSymbolicsBase/QSymbolicsBase.jl @@ -99,7 +99,7 @@ Base.:(-)(x::SymQObj) = (-1)*x Base.:(-)(x::SymQObj,y::SymQObj) = x + (-y) Base.hash(x::SymQObj, h::UInt) = isexpr(x) ? hash((head(x), arguments(x)), h) : hash((typeof(x),symbollabel(x),basis(x)), h) -maketerm(::Type{<:SymQObj}, f, a, t, m) = f(a...) +maketerm(::Type{<:SymQObj}, f, a, m) = f(a...) function Base.isequal(x::X,y::Y) where {X<:SymQObj, Y<:SymQObj} if X==Y diff --git a/src/QSymbolicsBase/basic_ops_inhomogeneous.jl b/src/QSymbolicsBase/basic_ops_inhomogeneous.jl index 7cc77f9..4b5989d 100644 --- a/src/QSymbolicsBase/basic_ops_inhomogeneous.jl +++ b/src/QSymbolicsBase/basic_ops_inhomogeneous.jl @@ -100,7 +100,7 @@ Base.:(*)(b::Symbolic{AbstractBra}, k::SZeroKet) = 0 Base.:(*)(b::SZeroBra, k::SZeroKet) = 0 Base.show(io::IO, x::SBraKet) = begin print(io,x.bra); print(io,x.ket) end Base.hash(x::SBraKet, h::UInt) = hash((head(x), arguments(x)), h) -maketerm(::Type{SBraKet}, f, a, t, m) = f(a...) +maketerm(::Type{SBraKet}, f, a, m) = f(a...) Base.isequal(x::SBraKet, y::SBraKet) = isequal(x.bra, y.bra) && isequal(x.ket, y.ket) """Symbolic outer product of a ket and a bra.