Commit Graph

583 Commits

Author SHA1 Message Date
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
kalmarek 2aa82db1ac specify exact types for OrbitData 2017-11-08 09:58:37 +01:00
kalmarek c1dc3850dd rename AutS -> autS 2017-11-08 09:57:51 +01:00
kalmarek 4ba2f54bb4 improve slightly orthSVD 2017-11-08 09:50:58 +01:00
kalmarek 3c51a463dc rename variables 2017-11-08 09:38:56 +01:00
kalmarek ff14b33199 AutS_mreps -> reps 2017-11-08 09:37:39 +01:00
kalmarek 95e19e6f9d replace stray constraints_from_pm() -> constraints() 2017-11-08 09:36:34 +01:00
kalmarek 80deaebb9f remove matrix_reprs - we create them through perm_reprs 2017-11-08 09:35:26 +01:00
kalmarek 72261afdeb use preps_reprs instead of matrix_reprs
and save them in preps.jld
2017-11-08 09:33:00 +01:00
kalmarek 2d02c98947 faster & simpler Cstar_repr 2017-11-08 09:29:12 +01:00
kalmarek e636c97738 unified marix_reps and perm_reps 2017-11-08 09:28:04 +01:00
kalmarek 0c9fb40e65 constraints_from_pm -> constraints
returns a vector of constraints, i.e. vectors of Tuple{Int, Int}
2017-11-08 09:25:40 +01:00
kalmarek 31715701cc de-thread Projections
to avoid UndefRefError: access to undefined reference in
rankOne_projections(::WreathProduct)
2017-11-07 09:44:10 +01:00
kalmarek 12c5c47ca8 add Nemo.isone(::GroupElem) 2017-11-06 11:31:15 +01:00
kalmarek 84813fedc4 indentation 2017-11-05 20:55:53 +01:00
kalmarek 093cced764 Merge branch 'enh/logtime' 2017-11-05 20:55:05 +01:00
kalmarek bc8c28170e missing @logtime in orbit-check_property_T 2017-11-05 20:54:33 +01:00
kalmarek cda741cc0c Merge branch 'enh/check_solution' 2017-11-05 19:30:58 +01:00
kalmarek 36e5979774 @logtime Q = sqrtm(P) 2017-11-05 19:30:11 +01:00
kalmarek f7f9ceef07 pass only the i-th column in @parallel mode
this cuts on memory per worker drastically
2017-11-05 19:28:51 +01:00
kalmarek c3ea80e6a9 replace remaining @time with '@logtime logger' 2017-11-05 16:38:51 +01:00
kalmarek c0dc6937a5 cut on allocations in compute_SOS 2017-11-03 16:54:41 +01:00
kalmarek fba2464a80 Specify concrete Interval types in augIdproj 2017-11-03 16:42:53 +01:00
kalmarek a000290074 remove rationalization functions 2017-11-03 16:41:12 +01:00
kalmarek 79d5c7f933 rename parameter S -> T 2017-11-02 13:48:20 +01:00
kalmarek 1c67cdbcea remove timed_msg 2017-11-02 13:45:27 +01:00
kalmarek 3eab5b721a replace @timed by @logtime 2017-11-02 13:45:12 +01:00
kalmarek 7fa49756ba @logtime macro and time_string function 2017-11-02 13:44:08 +01:00
kalmarek 5bb311141d splaplacian doesn't have Id argument 2017-10-27 18:36:59 +02:00
kalmarek ca18f75efd clean the main check_property_T in both cases 2017-10-27 18:36:32 +02:00
kalmarek f206a13980 update function names 2017-10-27 18:35:50 +02:00
kalmarek 098a7ce948 check_distance_to... -> distance_to_...
and a lot of old code removal
2017-10-27 18:34:07 +02:00
kalmarek 4ae2c617cb Higher level compute_SOS 2017-10-27 18:33:18 +02:00
kalmarek 96ce02852f replace rationalise&project with interval&project 2017-10-27 18:32:58 +02:00
kalmarek 0225f38066 just two simple distance_to_cone functions
for Numbers and for Intervals
2017-10-27 18:30:59 +02:00
kalmarek 8defd71b59 new low-level compute_SOS function 2017-10-27 18:29:19 +02:00
kalmarek d8b2f0ab30 increase sigfigs to 12; remove explicit precision setting
(it's 53 anyway);
2017-10-27 18:25:13 +02:00
kalmarek b96b39e910 Revert "make initial P nullable"
This reverts commit 32c020fd88.
2017-10-27 18:20:28 +02:00
kalmarek 01e6625571 Revert "Allow for AbstractMathProfSolver in Settings"
This reverts commit 6cbf5e6944.
2017-10-27 18:19:53 +02:00
kalmarek 94c9a75a21 we don't need to pass id element -- it could be derived from S 2017-10-27 18:18:34 +02:00
kalmarek 32c020fd88 make initial P nullable 2017-10-27 18:18:34 +02:00
kalmarek 46a9150266 solver is not defined here 2017-10-27 18:18:34 +02:00
kalmarek 6cbf5e6944 Allow for AbstractMathProfSolver in Settings 2017-10-27 18:18:34 +02:00
kalmarek bc2a827342 use prepath(sett)/fullpath(sett) instead of sett.name 2017-10-09 19:49:49 +02:00
kalmarek b3f1961fbf use prepath/fullpath(::Settings) in OrbitData
and in create_SDP_problem generation
2017-10-09 19:49:01 +02:00
kalmarek 36a1151a73 add functions to produce prepath, fullpath out of Settings 2017-10-09 19:45:28 +02:00
kalmarek 6070bbf709 rename name -> prefix in filenames functions 2017-10-09 19:44:54 +02:00
kalmarek 4c777073a7 Merge branch 'master' of https://git.wmi.amu.edu.pl/kalmar/PropertyT.jl 2017-10-09 18:08:57 +02:00
kalmarek d7bc94b64c @parallel compute_SOS 2017-10-09 18:08:22 +02:00
kalmarek 344e11a974 overwrite Q to allow gc 2017-10-09 18:06:29 +02:00
kalmarek 0fabd21e53 much faster Cstar_repr 2017-10-03 14:46:05 +02:00
kalmarek dbca3945a8 call flush_cstdio() AFTER redirect_stdout
to fix SCS log buffering issue
2017-09-19 17:38:16 +02:00
kalmarek 154a66939f call flush_cstdio() AFTER redirect_stdout
to fix SCS log buffering issue
2017-09-19 17:37:35 +02:00
kalmarek 4e3bcbba6e update to the new Nemo.Generic module 2017-09-15 18:19:20 +02:00
kalmarek 5ac2876e31 update to julia v0.6.0 2017-09-15 18:16:31 +02:00
kalmarek 0693455656 Merge branch 'master' of https://git.wmi.amu.edu.pl/kalmar/PropertyT.jl 2017-09-10 13:39:52 +02:00
kalmarek b46ed5ae96 Revert "ccall((:printf, "libc"), ...) produces segfault for large examples??"
This reverts commit 69a3ab8d87.
This should be commented on machine-basis
2017-09-09 20:47:12 +02:00
kalmarek d8f04957b6 replace isfile by exists
which returns true also for symlinks
2017-09-06 16:02:46 +02:00
kalmarek a61cff986e verbose&check for possible rank reduction in Uπs 2017-08-27 21:25:12 +02:00
kalmarek 3b723e7f0e Add logging when verbose=true 2017-08-27 21:23:42 +02:00
kalmarek 6df4c790c0 Sparsification of a dense matrix is not required to be rank preserving
This can bite!
2017-08-27 21:23:14 +02:00
kalmarek 972697e2ba cosmetic 2017-08-27 20:24:18 +02:00
kalmarek be1251f274 Merge branch 'enh/logging' 2017-08-27 19:57:16 +02:00
kalmarek b781dae356 @logtime(logger, ex) macro 2017-08-27 19:56:35 +02:00