Commit Graph

546 Commits

Author SHA1 Message Date
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
kalmarek 523003cc2a move fillfrominternal! to SDPs.jl 2018-01-01 23:59:31 +01:00
kalmarek d5a4f4957a rework filename logic 2018-01-01 23:59:00 +01:00
kalmarek f48e8ba8d7 return the global logger for now 2018-01-01 23:55:07 +01:00
kalmarek 7ac194f98a fix logtime macro 2018-01-01 23:54:36 +01:00
kalmarek 3066046fdb move checking logic to check_distance_to_cone function 2018-01-01 23:50:36 +01:00
kalmarek b2f4360ef4 distence_to_cone(...) where {T<:...} does all the logging 2018-01-01 23:49:27 +01:00
kalmarek 5918e20569 replace distance_to_cone by distances_to_cone without logging 2018-01-01 23:48:17 +01:00
kalmarek 923d892da0 fix indentation, again 2018-01-01 23:45:49 +01:00
kalmarek 47f6d3637e fix indentation to 4 spaces 2018-01-01 14:06:33 +01:00
kalmarek fc54803b58 fix Memento deprecations; make clear when logger is global 2018-01-01 13:13:44 +01:00
kalmarek 7054fcffe2 remove old loging 2017-12-02 23:21:00 +01:00
kalmarek 29f347a228 only check the solution when not warmstarting 2017-12-01 18:28:48 +01:00
kalmarek 5e4b2203c3 Nemo.perm is a function in julia v0.6.0 2017-12-01 18:26:55 +01:00
kalmarek 53d413633b add warmstart to Settings 2017-12-01 18:26:08 +01:00
kalmarek c849ead0ac look for warmstart in the solutions dir 2017-12-01 17:27:18 +01:00
kalmarek e94662e615 fill the JuMP model variables from its internal model 2017-12-01 17:06:20 +01:00
kalmarek 659e5e03a1 grab warmstart, P, lambda from the solved model 2017-12-01 17:05:35 +01:00
kalmarek bbcaec5bae build JuMP.Model first 2017-12-01 17:04:53 +01:00
kalmarek 56adccdfd1 using MathProgBase 2017-12-01 17:03:24 +01:00
kalmarek e53486f394 since we warmstart internal model, optimize! it
JuMP.solve discards the internal one
2017-12-01 17:02:45 +01:00
kalmarek 10808583e3 Merge remote-tracking branch 'origin/enh/warmstart' into enh/warmstart-0.6
# Conflicts:
#	src/OrbitDecomposition.jl
2017-12-01 14:21:10 +01:00
kalmarek 02cdee0708 remove old check for the existence of solver.log 2017-12-01 14:13:19 +01:00
kalmarek da6a2df814 save primal, dual solutions and slack for future warmstart 2017-12-01 14:12:52 +01:00
kalmarek 7ee7a30829 fix rankOne_projections for the new type of GroupRingElem 2017-11-17 15:29:09 +01:00
kalmarek bdadac33f4 import Generic.perm 2017-11-17 15:28:11 +01:00
kalmarek 0d20df8207 add dim function for Characters 2017-11-16 20:01:12 +01:00
kalmarek 498a6700ec Merge branch 'master' into enh/julia-v0.6 2017-11-15 20:28:57 +01:00
kalmarek 39bef16aa7 filter Upis and dims at LOADTIME for only those which are non-zeros 2017-11-13 10:58:22 +01:00
kalmarek 04a13616c6 Allow different AbstractMathProgSolvers in Settings 2017-11-13 10:57:02 +01:00
kalmarek a35122f8bb cosmetic 2017-11-08 15:40:38 +01:00
kalmarek 38ae1e0656 remove minimalprojections in favour of rankOne_projections 2017-11-08 15:40:22 +01:00
kalmarek e746aaeeff rankOne_projections MUST be computed over exact field (e.g. Rational{Int}) 2017-11-08 15:39:51 +01:00
kalmarek d7652c4e02 make AbstractCharacter just an abstract type 2017-11-08 15:38:51 +01:00
kalmarek 6f0087b8c7 indentation 2017-11-08 11:10:30 +01:00
kalmarek ea6a6722be init model on number and size of SD blocks, not on Uπs 2017-11-08 10:02:38 +01:00
kalmarek bcbf8a03c8 store the dense Uπs, sparsify at read-time 2017-11-08 10:01:45 +01:00
kalmarek fe1e9ee37c let sparsify actually return sparse matrix 2017-11-08 10:00:34 +01:00