Commit Graph

583 Commits

Author SHA1 Message Date
kalmarek 0b92aebb2f
use @info, @warn without () 2019-02-24 00:17:20 +01:00
kalmarek d69e33629b
better info in sparsify! 2019-02-21 21:10:36 +01:00
kalmarek 1f5e7ebdbe
fix performance regression in generating constraints 2019-02-21 14:53:11 +01:00
kalmarek fb8ec1578a
use multi-line @info where possible 2019-02-21 14:52:20 +01:00
kalmarek a2f8e3dc17
update the language to MOI
* use JuMP.OptimizerFactory
* use value(m[:λ]) to retrive values
2019-02-21 14:51:15 +01:00
kalmarek 49c8ffa900
warmstarting is limited to SCS specific hacks
until https://github.com/JuliaOpt/SCS.jl/pull/138 is merged
2019-02-21 14:47:39 +01:00
kalmarek 689bae035e
simplify PropertyT.solve due to changes in MOI 2019-02-21 14:45:58 +01:00
kalmarek 5199189e5f
update SOS_problem to JuMP-0.19 syntax
thanks to MOI we don't have to pass λ around as it's accesible via 
m[:λ];

Ps need to be kept reference of, since it's an anonymous variable
2019-02-21 14:43:38 +01:00
kalmarek 1ce892dc14
workaround for https://github.com/JuliaLang/julia/issues/30739 2019-01-28 18:40:39 +01:00
kalmarek 5ef5b93dbd
fix info 2019-01-28 17:03:24 +01:00
kalmarek 8e4dd2072c
endof -> lastindex 2019-01-28 08:47:40 +01:00
kalmarek 581097b7d3
add: tests for oSL(4,Z); global @info 2019-01-28 08:42:40 +01:00
kalmarek 4768bb6e35 Merge branch 'AutFn' into enh/julia-v0.7 2019-01-17 08:39:13 +01:00
kalmarek 48c43b4c59 minimize imports 2019-01-14 17:46:36 +01:00
kalmarek 80ac135f59 logging changes 2019-01-14 17:46:13 +01:00
kalmarek af009547b5 fix: distance_to_positive_cone expects HALF the support radius 2019-01-14 17:45:23 +01:00
kalmarek 3e6a1dde51 rework Settings 2019-01-14 17:44:13 +01:00
kalmarek 5492998e7e group actions definitions to orbitdata.jl 2019-01-11 07:54:36 +01:00
kalmarek 76b8fed6b1 update for changes in AbstractAlgebra, Groups, GroupRings
* MatSpaces are no longer Rings, they are modules (that's a hack, I 
know)
* DirectProduct → DirectPower
* full → GroupRings.dense
* constructors of GroupRings require explicit basis
2019-01-11 06:37:24 +01:00
kalmarek 0614bf268d rework loading/saving GroupRingElems 2019-01-11 06:33:14 +01:00
kalmarek 10d319f48b fix: deprecations for julia-0.7/1.0 2019-01-11 06:32:09 +01:00
kalmarek 0ee12f76a5 rework the Settings once again 2019-01-11 04:33:56 +01:00
kalmarek 760dfdc7d5 optimisation in constraintLHS! 2019-01-10 04:48:30 +01:00
kalmarek d9a8da045b indent fixes in docs 2019-01-08 04:59:56 +01:00
kalmarek d4613168c3 reorganize autIdproj 2019-01-08 04:59:41 +01:00
kalmarek 38d80e63ed move application specific code to 1712.07167.jl 2019-01-08 04:59:23 +01:00
kalmarek d6bb71b3cb fix: another issue with redirection of scslog 2019-01-02 10:03:40 +01:00
kalmarek e56087cf73 fix: solve doesn't return warmstart 2019-01-02 10:03:01 +01:00
kalmarek e0a141dd5d fix redirection of scs log via do-block 2018-11-25 01:04:10 +01:00
kalmarek 6b90197ae3 remove superfluous @time 2018-11-24 15:02:28 +01:00
kalmarek 9ff0481a0c return solver's status alongside the solution 2018-11-22 20:13:15 +01:00
kalmarek 8331159baa add separate average over perms to perm_avg 2018-11-22 20:01:33 +01:00
kalmarek fc496e29f5 replace groupring_square by fmac! (which is almost allcation free) 2018-11-22 20:00:06 +01:00
kalmarek 1432467d74 fix: CheckSolution.jl -> checksolution.jl 2018-09-16 18:19:39 +02:00
kalmarek 6b886d35b9 diverge methods at the level of computeλandP 2018-09-16 18:19:04 +02:00
kalmarek 0ccc782d2f save and load OrbitData directly 2018-09-16 18:15:34 +02:00
kalmarek 9d6a6fa0f8 add verbose=true to OrbitData constructor 2018-09-16 18:03:25 +02:00
kalmarek 3df3967fad add generic saveGRElem, loadGRElem 2018-09-16 18:02:35 +02:00
kalmarek 08d53840a0 rename computeLaplacian -> Laplacian 2018-09-16 18:01:44 +02:00
kalmarek 2def63c980 rework filename(...) 2018-09-16 18:01:04 +02:00
kalmarek afe845e911 parametrize Settings over {Naive, Symmetrized} 2018-09-16 18:00:21 +02:00
kalmarek 592f0bf7a5 parametrize Settings by {Symmetric, Naive} 2018-09-09 13:21:33 +02:00
kalmarek 23449ed3c0 mv Laplacians, Projections and CheckSolution
to laplacians, RGprojections and checksolution
2018-09-09 11:50:26 +02:00
kalmarek bb5ed331d3 redistribute content of OrbitDecomposition into new files 2018-09-09 11:37:11 +02:00
kalmarek dedf342ba2 mv Orbit-wise, SDPs → orbitdata, sos_sdps; rm OrbitDecomposition 2018-09-09 11:35:13 +02:00
kalmarek edb4e70228 correctly overload solve
we indicate also that the use our own solve methods
2018-09-06 22:48:14 +02:00
kalmarek a1eccf8b73 small fixes 2018-09-05 14:34:57 +02:00
kalmarek 3dbdd0ed7f create dir for solver log, if necessary 2018-09-05 14:34:48 +02:00
kalmarek 0b8f01e4b5 cosmetic changes 2018-09-05 10:41:11 +02:00
kalmarek 8fa7e1211f move orthSVD close to OrbitData 2018-09-05 10:40:08 +02:00
kalmarek fc0a9ccfec group matrix-,perm-reps in one place 2018-09-05 10:39:24 +02:00
kalmarek 36fbaa5393 move orbit_constraint 2018-09-05 10:37:39 +02:00
kalmarek b0d39b33d4 fix uses and includes 2018-09-05 10:35:58 +02:00
kalmarek bc7118f41d rework OrbitData 2018-09-05 09:56:04 +02:00
kalmarek b9de894fb1 move SDP-related functions together 2018-09-05 09:18:38 +02:00
kalmarek b840bc788c add header to fillfrominternal!
copied from JuMP
2018-09-05 09:15:54 +02:00
kalmarek 4a49511eab move low-level SDP-solve functions together 2018-09-05 09:14:50 +02:00
kalmarek 96125eb192 remove left-over spLaplacians 2018-09-05 09:13:09 +02:00
kalmarek d02d80adb7 separate section for sparsification 2018-09-05 09:10:58 +02:00
kalmarek 613c12e157 move compute lambdaandP to its own section 2018-09-05 09:09:22 +02:00
kalmarek 504647223b fix interpret_results 2018-09-05 09:07:05 +02:00
kalmarek d73f041c3c single definition o check_property_T 2018-09-05 09:06:00 +02:00
kalmarek 19e52909ac move Laplacians to separate file 2018-09-05 08:58:46 +02:00
kalmarek 278a62da2f move filename, etc to its section 2018-09-05 08:56:55 +02:00
kalmarek c929b0f149 Move Settings to PropertyT.jl 2018-09-05 08:55:13 +02:00
kalmarek 859a751b01 fix typo 2018-09-03 10:23:08 +02:00
kalmarek 92d1d69177 separate non-zero indices 2018-08-20 04:02:44 +02:00
kalmarek db6fe7f2cf use the new interpret results 2018-08-20 04:02:04 +02:00
kalmarek 6c247e73fc update check_property_T 2018-08-20 04:01:34 +02:00
kalmarek c9b226f550 add compute/load prefixes 2018-08-20 04:00:58 +02:00
kalmarek 684283fd56 update addconstraints! to the new OrbitData 2018-08-20 04:00:14 +02:00
kalmarek 9cdcf27215 use SOS_problem-style "interface" for Symmetrized version as well 2018-08-20 03:59:39 +02:00
kalmarek 9c674ec284 update ortSVD to "where" syntax 2018-08-20 03:58:09 +02:00
kalmarek 1825cc0b3d simplify compute_orbit_data
by reusing of compute/load-Laplacian, etc
2018-08-20 03:57:33 +02:00
kalmarek 66ac37a6a7 slighlty more performant reconstruct_sol 2018-08-20 03:55:40 +02:00
kalmarek 5acc00a4d0 remove unused orbitLHS version 2018-08-20 03:54:29 +02:00
kalmarek aad4359832 greatly simplify OrbitData struct 2018-08-20 03:54:03 +02:00
kalmarek ed181d14f8 make orbit_constraint use new constraints indexing 2018-08-20 03:53:17 +02:00
kalmarek 45923d9597 indent 2018-08-20 03:52:16 +02:00
kalmarek 7f09e7c8b5 instead of recomputing Delta, just pass it 2018-08-20 03:51:51 +02:00
kalmarek 86e0ed373d Id = G() or one(G) is solved 2018-08-20 03:50:56 +02:00
kalmarek 668d403171 add selective constraint(pm, k) 2018-08-20 03:50:16 +02:00
kalmarek 33fc456879 constraints return linear indices 2018-08-20 03:50:03 +02:00
kalmarek 13bc1bef8b clearly separate creation of the optimization problem 2018-08-20 03:46:44 +02:00
kalmarek d2f6682a39 mv logging to solve_SDP function 2018-08-20 03:45:50 +02:00
kalmarek b509f3686d sparate logic and IO
IO is moved to the upper level
2018-08-20 03:44:24 +02:00
kalmarek ebe9490465 rename: add load or compute prefixes to function names
to clarify their meaning
2018-08-20 03:42:57 +02:00
kalmarek 2ef67b5195 fix the G() <-> one(G) dispatch dillema 2018-08-20 03:35:34 +02:00
kalmarek 540946528c remove references to logger! 2018-08-19 20:05:45 +02:00
kalmarek 21bff490dd remove Memento's solverlog 2018-08-18 23:47:15 +02:00
kalmarek 0dfd85adba finally proper redirection of STDOUT to a file 2018-08-18 23:28:06 +02:00
kalmarek 28fe0820bc use where instead of f{T}(args) 2018-08-15 19:20:55 +02:00
kalmarek e6ad20cb23 replace loop by array comprehension 2018-08-15 19:20:28 +02:00
kalmarek e33800cfa1 use the simple string constructor for perm 2018-08-15 19:19:49 +02:00
kalmarek 6047d496d5 replace custom GroupRing constructor by alternating_emb function 2018-08-15 19:17:37 +02:00
kalmarek 854ddb42a1 function goes first in GroupRing constructor 2018-08-15 19:16:24 +02:00
kalmarek 677ae32ee2 rankOne_projections take a GroupRing now 2018-08-15 19:13:26 +02:00
kalmarek 0c2f5b1a9a extract checking if lambda > 0 ... block to a separate function 2018-08-15 19:10:38 +02:00
kalmarek 2d62aa26f2 add missing L1_norm 2018-08-15 19:09:01 +02:00
kalmarek e4b5c59bd7 fix: use GroupRingElem constructor directly, when no basis is attached 2018-08-15 19:08:40 +02:00
kalmarek c4a708ec8d central projections has full support 2018-08-15 17:21:31 +02:00
kalmarek 617f2f3410 rename to augmentation -> aug 2018-08-14 20:19:54 +02:00
kalmarek 919e1bb103 update Orbit-wise to changes in CheckSolution.jl 2018-08-14 19:21:46 +02:00
kalmarek ddfc4dc47b update PropertyT.jl top changes in CheckSolution.jl 2018-08-14 19:21:09 +02:00
kalmarek 68a3cca76d remove overloads of ± 2018-08-14 19:18:58 +02:00
kalmarek ff8f5d45c2 rework distance_to_cone 2018-08-14 19:18:36 +02:00
kalmarek f9180d5d68 update autIdproj 2018-08-14 18:18:25 +02:00
kalmarek 6b0cbd0114 remove l (length) from args of 2018-08-14 18:17:38 +02:00
kalmarek cdb3c39d2a rework IntervalArithmetic.± application 2018-08-14 17:21:35 +02:00
kalmarek 4f2caf84cd don't check correctness of permutations in preps 2018-08-08 19:38:44 +02:00
kalmarek a26893f533 update to the Memento-0.9.0 2018-07-31 10:25:17 +02:00
kalmarek 81e08eb857 migrate to AbstractAlgebra 2018-07-31 10:21:54 +02:00
kalmarek 75c249abb8 remove iterator for FinField 2018-07-31 10:19:06 +02:00
kalmarek d3a228cfa7 rework sparsify! Remove rank check which becomes very expensive
We check that the sizes of projection matrices add-up anyway
2018-07-31 10:18:03 +02:00
kalmarek 1ca77f1f19 add (RG::GroupRing)(::Vector, ::Type; alt=false)
this was previously defined in GroupRings
2018-07-31 09:49:55 +02:00
kalmarek 16dc0c7591 move OrbitSelector to orbit_selector outside of function
to avoid potential closure
2018-07-31 09:48:24 +02:00
kalmarek f5afcf4dfb migrate Projections to AbstractAlgebra 2018-07-31 09:44:12 +02:00
kalmarek 5d6c4f8290 we work over PermutationGroup{Int8} 2018-04-10 12:21:08 +02:00
kalmarek 58fa849df0 fastm in rankOne_projections doesnt' change much in terms of speed 2018-04-09 12:56:20 +02:00
kalmarek 9d2140b5a8 fix nature of idempotents 2018-04-09 11:55:38 +02:00
kalmarek a0cc9d62c9 fix: PermCharacter is in Projections, not in PropertyT 2018-04-09 11:14:39 +02:00
kalmarek 27569c11d8 export PermCharacter, DirectProdCharacter, rankOne_projection
from Projections module
2018-04-09 11:13:39 +02:00
kalmarek 44e3c9c0b9 add generator of characters for PermGroup, DirectProductGroup 2018-04-09 11:10:57 +02:00
kalmarek 11365bf5b2 big overhaul of rankOne_projections for WreathProduct Group 2018-04-09 11:07:12 +02:00
kalmarek 094abd74b8 simplify rankOne_projections for PermGroup 2018-04-08 22:50:31 +02:00
kalmarek 50588bc792 streamline logic in rankOne_projection from a character 2018-04-08 22:49:45 +02:00
kalmarek 5bed58de2c fix hacks around DirectProdCharacter
It should work over different groups as well
2018-04-08 22:48:42 +02:00
kalmarek 589e1882cd fix indentation 2018-04-08 22:46:28 +02:00
kalmarek 2d89c38657 separate Projections into a module 2018-04-08 22:45:18 +02:00
kalmarek e5b4b9220b make orbit decomposition slightly faster by allocating orbit only once 2018-03-22 10:52:53 +01:00
kalmarek db455df852 replace missing sett.warmstart by simple warm 2018-03-21 14:20:48 +01:00
kalmarek 94fa72ae80 update to parametrised perms in Nemo 2018-01-26 13:20:56 +01:00
kalmarek 550d69d78e no need to prefix 2018-01-25 21:39:06 +01:00
kalmarek 7a56aad3dc add warmstarting 2018-01-25 21:38:38 +01:00
kalmarek cb3c6a0ef5 better printing of lambda 2018-01-04 20:13:41 +01:00
kalmarek 46ac64a207 use the same directory structure as the orbit version 2018-01-02 03:53:01 +01:00
kalmarek dc91735bfc logtime of sdp solution; print the reresentation of SDP to log 2018-01-02 03:52:24 +01:00
kalmarek 6affa6876f sparsify prints only to stdout 2018-01-02 03:32:24 +01:00
kalmarek f7534c2b97 logtime of lambdaandP; use LOGGER everywere 2018-01-02 03:32:04 +01:00
kalmarek ac4ef92ef0 no need to pass both Group and S as arguments 2018-01-02 03:28:34 +01:00
kalmarek f478081d4e reduce code duplication 2018-01-02 03:22:46 +01:00
kalmarek 955c8fc49e remove init_orbit_data 2018-01-02 03:19:57 +01:00
kalmarek a87b587c1a add logger field to sett 2018-01-02 03:19:29 +01:00
kalmarek 35615c34cf logged and clean version of Laplacian 2018-01-02 03:02:22 +01:00
kalmarek fd88de171b get rid of global loggers 2018-01-02 02:59:43 +01:00
kalmarek 7d22e8dce0 another rework of filenames 2018-01-02 02:58:43 +01:00
kalmarek 0d17e4b877 rework lambdaandP && solve_SDP 2018-01-02 02:52:45 +01:00
kalmarek 13f49027dd rename Delta -> Laplacian, splaplacian -> spLaplacian 2018-01-02 00:07:05 +01:00
kalmarek b43482325d check_distance_to_cone returns single float 2018-01-02 00:02:00 +01:00
kalmarek e5366b7305 decouple obtaining Delta from constraints 2018-01-02 00:01:24 +01:00