Skip to content

Commit

Permalink
update (#3)
Browse files Browse the repository at this point in the history
* fix ishermitian for dense and sparse operator

* Fix manybody deprecated syntax

* Change steady state sorting (qojulia#231)

* Sort by absolute value of real part

* Move normalization and sort by absolute value

* Update checking and error message

* Fix steady eig docstring formatting

* Bump REQUIRE to v0.7-beta2 (qojulia#230)

* Bump REQUIRE to v0.7-beta2

* Fix deprecations

* Fix deprecations

* Remove Compat imports

* Change WignerSymbols version

* First successful build

* Fock tests pass

* Some more tests pass

* All tests except printing pass

* Replace Complex128 with ComplexF64 in tests

* Rename Complex128 to ComplexF64

* Add FFTW requirement

* Update printing

* Add Arpack requirement

* Add rounding to printing

* Update tests to use 0.7

* Fix compilation deprecation warnings

* Fix printing

* Fix deprecations

* Rename full to dense

* Fix some more deprecations

* More deprecations

* Fix operator deprecations

* Fix particle deprecations

* Fix all deprecations occurring in tests

* Update REQUIRE

* Update appveyor

* Fix a bug in subspace; export norm

* Fix silly bug in subspace

* v0.7 compatibility

* Implement macros to skip checks

commit f221430
Author: david-pl <[email protected]>
Date:   Fri Aug 17 11:16:22 2018 +0200

    Update macro docstrings

commit 62f10e8
Author: David Plankensteiner <[email protected]>
Date:   Tue Aug 14 21:17:58 2018 +0200

    Fix stochastic checks

commit 5c9eff5
Author: David Plankensteiner <[email protected]>
Date:   Tue Aug 14 20:45:51 2018 +0200

    Rename macros

commit f78cf33
Author: david-pl <[email protected]>
Date:   Tue Aug 14 16:01:36 2018 +0200

    Start renaming stuff

commit c5f8bd6
Author: David Plankensteiner <[email protected]>
Date:   Mon Aug 13 20:25:58 2018 +0200

    Implement macros to skip checks

* Define ' on Operator as dagger (qojulia#235)

* fix typo

* Enable v1.0 testing

* Implement parametric types (qojulia#238)

* Start parametric typing for Ket/Bra

* Fix tensor vararg for StateVector

* Fix subspacebasis field parameters

* Fix semiclassical state for kets

* Update testing scripts

* Fix typo in appveyor

* Fix semiclassical_stochastic ket typing

* Fix travis 1.0 testing

* Parametric typing for CompositeBasis

* Rename Operator to AbstractOperator

* Proper parametric type for CompositeBasis

* Parametric typing for operators

* Parametrize basis dimensions

* Revert "Parametrize basis dimensions"

This reverts commit b451987.

* Update basis checks for states

* Update basis checks for dense operators

* Update basis checks for sparse operators

* Update LazyProduct implementation

* Update LazySum implementation

* Update LazyTensor implementation

* Add non-type parameters where needed to ensure correct basis dispatch

* Update basis checks for schroedinger

* Update basis checks for metrics

* Update basis checks for phasespace

* Update basis checks for master

* Update basis checks for mcwf

* Update basis checks for semiclassical

* Update superoperators and steadystate

* Update basis checks for stochastic solvers

* Update timecorrelations basis checks

* Added parameter to FFToperators so the gemv! is type stable

* Add basis checks to FFT in-place multiplication

* Implement transpose forsparse/dense operators

* Proper recasting in mcwf

* Add some missing basis checks

* Fix silly copy-paste error

* Less strict typing for liouvillian

* Mention gitter in readme text

* Some dots for states and operators
Squashed commit of the following:

commit abc523b
Author: david-pl <[email protected]>
Date:   Fri Jan 11 10:28:33 2019 +0100

    Broadcasting for states, operators and superoperators

commit 838f717
Author: David Plankensteiner <[email protected]>
Date:   Sat Dec 8 12:59:47 2018 +0100

    Use custom broadcasting styles

commit bedef6e
Author: David Plankensteiner <[email protected]>
Date:   Fri Dec 7 11:49:40 2018 +0100

    Broadcasting for sparse and dense operators

* Fix typo in macro export

* Fix @warn and implement adjoint(StateVector)

* Update tests to newer Julia versions

* Fix documentation of gaussianstate

* Patch failing tests

* created coherentstate! for inplace operations

* Fix bug in MCWF display_afterevent

* before embedding check that the destination basis matches the operator basis (qojulia#246)

* before embedding check that the destination basis matches the operator basis

* Change embed to handle composite operators

* perform embedding of an operator in a joint hilbert space

* functional embedding with new syntax

* more tests for composite bases

* code review and a few more tests

* Change Int64 to Int in type checks for x86

* remove intersect and union from sortedindices, as there are appropriate methods in Base

* Fix default choice of noise for stochastics

* Add Bloch-Redfield master equation (qojulia#250)

* Added bloch_redfield_master submodule

Added the option for a Bloch-Redfield master equation in the timeevolution module

* Add files via upload

* Delete bloch_redfield_master.jl

* Delete QuantumOptics.jl

* Update bloch_redfield_master.jl

* Cleaned up and commented new bloch_redfield_master submodule

* Delete bloch_redfield_master.jl

* Moved bloch_redfield_master to correct location...

* Re-added coherentstate! (inplace)

* Add simple test

* Include new test file

* Replace vec2mat_index by CartesianIndices

* Use timeevolution_base for BR master

* Added docstrings and renamed c_ops kwarg to J

Changed c_ops kwarg in bloch_redfield_tensor to J to be consistent with Linblad ME implementation

* Fix a bug and better saving

* Type-stable fout

* Fixed docstring typos in bloch_redfield_master

* Update README.md

* Switch to Project.toml

* Update Project.toml

* Abstractions for quantum information on qubits (qojulia#251)

* created abstractions for quantum information on qubits

* changed how equality is handled and added tests

* code review

* cleanup on types and added tests

* code review and composition for chi and ptm

* better caching

* code review for isapprox vs ==

* Move windows tests to travis

* Improve in-place multiplication for lazy types

* Patch bug in mcwf_dynamic

* Make entropy_vn type-stable

* Update Project.toml

* Restrict broadcasting of functions on states and operators

* Make bases immutable

* use ARPACKException from Arpack.jl

* Semiclassical MCWF (qojulia#255)

* MCWF jump times and indices (qojulia#257)

* semicl mcwf

* semicl mcwf läuft

* semiclassical mcfw

* Change MCWF interface to display jumps

* Semiclassical mcwf with display event

* Add display_which and display_t to semiclassical mcwf

* Clean up integrate_mcwf

* Clean up semiclassical mcwf

* Add docstrings

* Add docstrings in semiclassical.mcwf

* Fix tests

* Update Project.toml

* Remove QuantumOpticsBase functionality (qojulia#259)

* Remove QuantumOpticsBase functionality

* Re-add changes to mcwf interface lost during deletion

* Update semiclassical mcwf docstrings

* Fix precompilation

* Add superoperator tests that cannot run in Base

* Re-add spectralanalysis

* Separate stochastic base functionality from timeevolution

* Update Project.toml

* Type-stable bloch_redfield_tensor (qojulia#262)

* Made bloch_redfield_tensor function type-stable

* Quick patch failing tests

* Install TagBot as a GitHub Action

* Update Project.toml

Co-authored-by: goropikari <[email protected]>
Co-authored-by: David Plankensteiner <[email protected]>
Co-authored-by: David Nadlinger <[email protected]>
Co-authored-by: Louis Ponet <[email protected]>
Co-authored-by: wolfgang-n <[email protected]>
Co-authored-by: alexander papageorge <[email protected]>
Co-authored-by: sd109 <[email protected]>
Co-authored-by: Kristoffer Carlsson <[email protected]>
Co-authored-by: Julia TagBot <[email protected]>
  • Loading branch information
10 people authored Feb 12, 2020
1 parent e2a407f commit 6c37e18
Show file tree
Hide file tree
Showing 83 changed files with 1,356 additions and 8,785 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: TagBot
on:
schedule:
- cron: 0 * * * *
jobs:
TagBot:
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
10 changes: 4 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,15 @@ language: julia
os:
- osx
- linux
- windows
julia:
- 0.6
- 1
- nightly
matrix:
allow_failures:
- julia: nightly
notifications:
email: false
script:
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
- julia -e 'Pkg.clone(pwd()); Pkg.build("QuantumOptics"); Pkg.test("QuantumOptics"; coverage=true)';
after_success:
- julia -e 'cd(Pkg.dir("QuantumOptics")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())'
- julia -e 'cd(Pkg.dir("QuantumOptics")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())';
- julia -e 'import Pkg; cd(Pkg.dir("QuantumOptics")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())'
- julia -e 'import Pkg; cd(Pkg.dir("QuantumOptics")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())';
38 changes: 38 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name = "QuantumOptics"
uuid = "6e0679c1-51ea-5a7c-ac74-d61b76210b0c"
version = "v0.7.1"

[deps]
QuantumOpticsBase = "4f57444f-1401-5e15-980d-4471b28d5678"
Arpack = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
WignerSymbols = "9f57e263-0b3d-5e2e-b1be-24f2bb48858b"

[compat]
QuantumOpticsBase = "0.1"
Arpack = "0.4"
DiffEqCallbacks = "2"
FFTW = "1.2"
OrdinaryDiffEq = "5"
RecursiveArrayTools = "2"
Reexport = "0.2"
StochasticDiffEq = "6"
WignerSymbols = "1"
julia = "1"

[extras]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["LinearAlgebra", "SparseArrays", "Random", "Test"]
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,16 @@
More information, documentation and examples can be found on our website http://qojulia.org.


### Development status

**Latest release:**
* [![Status of latest release on julia 0.6][pkg-0.6-img]][pkg-0.6-url]
* Version: [![Latest version tag][version-img]][version-url]
* Test coverage:
[![Test coverage status on coveralls][coveralls-img]][coveralls-url]
[![Test coverage status on codecov][codecov-img]][codecov-url]


### Project structure

The content associated with **QuantumOptics.jl** is distributed over several repositories under the [qojulia] organization on github:
The source content associated with **QuantumOptics.jl** is distributed over several repositories under the [qojulia] organization on github:

* The main code: https://github.com/qojulia/QuantumOptics.jl
* Documentation: https://github.com/qojulia/QuantumOptics.jl-documentation
Expand All @@ -31,7 +29,7 @@ The content associated with **QuantumOptics.jl** is distributed over several rep

### Questions & Contributions

Contributions of any kind are always welcome! Be it as questions, ideas for new features, bug reports or, our favorite case, sending pull requests.
If you have any questions or need help, hop on our [gitter channel](https://gitter.im/QuantumOptics-jl/Lobby?source=orgpage) and ask away. Also, contributions of any kind are always welcome! Be it as ideas for new features, bug reports or, our favorite case, sending pull requests.

### Citing

Expand Down Expand Up @@ -62,3 +60,6 @@ If you like **QuantumOptics.jl**, we would appreciate it if you starred the repo

[docs-url]: https://qojulia.org/documentation/
[docs-img]: https://img.shields.io/badge/docs-stable-blue.svg

[version-url]: https://github.com/qojulia/QuantumOptics.jl/releases
[version-img]: https://img.shields.io/github/release/qojulia/QuantumOptics.jl.svg
7 changes: 0 additions & 7 deletions REQUIRE

This file was deleted.

40 changes: 0 additions & 40 deletions appveyor.yml

This file was deleted.

92 changes: 11 additions & 81 deletions src/QuantumOptics.jl
Original file line number Diff line number Diff line change
@@ -1,110 +1,40 @@
__precompile__()

module QuantumOptics

export bases, Basis, GenericBasis, CompositeBasis, basis,
tensor, , permutesystems,
states, StateVector, Bra, Ket, basisstate,
dagger, normalize, normalize!,
operators, Operator, expect, variance, identityoperator, ptrace, embed,
operators_dense, DenseOperator, projector, dm,
operators_sparse, SparseOperator, diagonaloperator,
operators_lazysum, LazySum,
operators_lazyproduct, LazyProduct,
operators_lazytensor, LazyTensor,
superoperators, SuperOperator, DenseSuperOperator, SparseSuperOperator,
spre, spost, liouvillian,
fock, FockBasis, number, destroy, create,
fockstate, coherentstate, displace,
randstate, randoperator, thermalstate, coherentthermalstate, phase_average, passive_state,
spin, SpinBasis, sigmax, sigmay, sigmaz, sigmap, sigmam, spinup, spindown,
subspace, SubspaceBasis, projector,
particle, PositionBasis, MomentumBasis, samplepoints, gaussianstate,
position, momentum, potentialoperator, transform,
nlevel, NLevelBasis, transition, nlevelstate,
manybody, ManyBodyBasis, fermionstates, bosonstates,
manybodyoperator, onebodyexpect, occupation,
phasespace, qfunc, wigner, coherentspinstate, qfuncsu2, wignersu2, ylm,
metrics, tracenorm, tracenorm_h, tracenorm_nh,
tracedistance, tracedistance_h, tracedistance_nh,
entropy_vn, fidelity, ptranspose, PPT,
negativity, logarithmic_negativity,
spectralanalysis, eigenstates, eigenenergies, simdiag,
timeevolution, diagonaljumps,
using Reexport
@reexport using QuantumOpticsBase
using SparseArrays, LinearAlgebra

export qfunc, wigner, coherentspinstate, qfuncsu2, wignersu2, ylm,
eigenstates, eigenenergies, simdiag,
timeevolution, diagonaljumps, @skiptimechecks,
steadystate,
timecorrelations,
semiclassical,
stochastic


include("sortedindices.jl")
include("polynomials.jl")
include("bases.jl")
include("states.jl")
include("operators.jl")
include("operators_dense.jl")
include("sparsematrix.jl")
include("operators_sparse.jl")
include("operators_lazysum.jl")
include("operators_lazyproduct.jl")
include("operators_lazytensor.jl")
include("superoperators.jl")
include("spin.jl")
include("fock.jl")
include("state_definitions.jl")
include("subspace.jl")
include("particle.jl")
include("nlevel.jl")
include("manybody.jl")
include("transformations.jl")
include("phasespace.jl")
include("metrics.jl")
module timeevolution
export diagonaljumps
export diagonaljumps, @skiptimechecks

include("timeevolution_base.jl")
include("master.jl")
include("schroedinger.jl")
include("mcwf.jl")
using .timeevolution_master
using .timeevolution_schroedinger
using .timeevolution_mcwf
include("bloch_redfield_master.jl")
end
include("steadystate.jl")
include("timecorrelations.jl")
include("spectralanalysis.jl")
include("semiclassical.jl")
module stochastic
include("stochastic_base.jl")
include("stochastic_definitions.jl")
include("stochastic_schroedinger.jl")
include("stochastic_master.jl")
include("stochastic_semiclassical.jl")
using .stochastic_schroedinger, .stochastic_master, .stochastic_semiclassical
using .stochastic_definitions
end
include("printing.jl")

using .bases
using .states
using .operators
using .operators_dense
using .operators_sparse
using .operators_lazysum
using .operators_lazyproduct
using .operators_lazytensor
using .superoperators
using .spin
using .fock
using .state_definitions
using .subspace
using .particle
using .nlevel
using .manybody
using .phasespace
using .timeevolution
using .metrics
using .spectralanalysis
using .timecorrelations
using .printing


end # module
Loading

0 comments on commit 6c37e18

Please sign in to comment.