-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpackages.lisp
76 lines (71 loc) · 3.26 KB
/
packages.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
(defpackage :npa-utilities
(:use :common-lisp)
(:import-from :alexandria :with-gensyms)
(:export :dohash :print-hash :dolist<=
:collect-to-list :collect :collect-end
:maptree :dotree))
(defpackage :operators
(:use :common-lisp :npa-utilities)
(:import-from :alexandria :alist-hash-table
:with-gensyms :once-only :if-let :when-let
:hash-table-keys :sequence-of-length-p)
(:export :monomial :monomial-p
:*id* :*default-input* :*default-output* :*scenario*
:projector :set-scenario :clear-scenario :with-scenario
:monomial-hash-table
:order :monomial= :monomial/=
:monomial< :monomial> :monomial<= :monomial>=
:monomial-max :monomial-min
:do-sites :do-projectors
:polynomial :polynomial-p :copy-polynomial :fresh-polynomial
:remove-monomial :coeff :term
:monomials :monomials<
:do-polynomial :do-polynomial-<
:terms :zero-polynomial-p :max-monomial
:conj :conj-min :c*
:scale :increment :decrement :p* :p+ :p- :pexpt
:probability :psum :pprod
:substitute-monomial :diop
:set-add :set-merge :monomial-set :set*
:*alphabet* :site->string :string->site
:write-monomial :monomial-string
:write-polynomial :polynomial-string
:operator-names-and-values
:operator :with-operators :with-projectors :with-diops
:expand-expr :infix :auto-operators :px
:pmod :dmod :chsh :mermin :klyshko :cglmp))
(defpackage :block-matrix
(:use :common-lisp)
(:import-from :alexandria :with-gensyms :if-let :when-let :maxf
:curry :assoc-value)
(:export :block-matrix :map-block-matrix :do-block-matrix
:mcoeff :mincrement :mscale :block-structure))
(defpackage :sdpa
(:use :common-lisp :alexandria :inferior-shell :block-matrix)
(:import-from :split-sequence :split-sequence)
(:export :*solver* :*mode* :default :stable :fast
:*threads* :*sdpa-float-type*
:*tmp-file-rootname* :*overwrite-tmp-files*
:*scale-ratio* :*comment-length* :*read-comments* :*read-xvec*
:sdp-problem :costs :constraints :maximise :comments
:sdp-costs :sdp-constraints :sdp-maximise :sdp-comments
:offset :export-problem :export-to-file :run-sdpa
:read-comments-from-stream :extract-comments
:read-xvec-from-stream :extract-xvec
:extract-solution :extract-from-file :solve))
(defpackage :npa-hierarchy
(:use :common-lisp :operators :block-matrix :sdpa :npa-utilities)
(:import-from :split-sequence :split-sequence :split-sequence-if)
(:import-from :alexandria :hash-table-keys
:if-let :when-let :assoc-value :maxf
:sequence-of-length-p)
(:export :*return-expectation-values*
:translate-to-sdp :monomials-at-level
:npa-moments :moments-at-npa-level
:npa->sdp :optimise :minimise :maximise :problem
:npa-solve :solve-problem
:expectation-values :write-expectation-values
:print-expectation-values))
(defpackage :npa-user
(:use :common-lisp :operators :npa-hierarchy
:block-matrix :npa-utilities :sdpa))