1
0
mirror of https://github.com/kalmarek/PropertyT.jl.git synced 2024-11-25 00:40:28 +01:00
Commit Graph

578 Commits

Author SHA1 Message Date
0c40e16e9e fix double assignment of constraints 2017-08-27 19:01:32 +02:00
8a6707eddd rework addconstraints! with progress printing 2017-08-27 19:00:49 +02:00
db55927729 sparsify! in transform and in constrLHS 2017-08-27 18:59:16 +02:00
7dbd11bebf eps-sparsify for both sparse and dense matrices 2017-08-27 18:58:13 +02:00
151a6ff6da better density for dense matrices 2017-08-27 18:57:27 +02:00
7fd18e9e57 logging 2017-08-27 18:50:56 +02:00
56d944e8af correct columns of Q directly to intervals
hopefully containing 0
2017-08-27 18:46:31 +02:00
9840268250 use threaded version of matrix reps 2017-08-27 18:37:44 +02:00
f3d813cb67 reworked reconstruct_sol with axpy! 2017-08-27 18:37:09 +02:00
33dc278762 threaded matrix_reps and perm_reps 2017-08-27 18:35:35 +02:00
6061f731b3 threaded generation of matrix reps 2017-08-27 18:32:50 +02:00
0cc0ad94a6 threaded orbit_decomposition 2017-08-27 18:32:19 +02:00
9328fa9187 single-threaded compute_SOS with @parallel option 2017-08-27 18:30:49 +02:00
9a62cc2444 threaded minimalprojections 2017-08-27 18:29:38 +02:00
94074750cf limit the accuracy of rationalization to sensible value
to avoid running out of memory!
2017-08-04 21:27:10 +02:00
8f88035bb7 in-place projection to augmentation ideal 2017-08-04 20:50:06 +02:00
c4dcaf25fe @parallelising computation of SOS 2017-08-04 20:47:38 +02:00
7d42f28b29 put rationalization and projection to augmentation in a separate function
to have gc collect unused matrices of Rationals after this is finished
2017-08-04 20:36:25 +02:00
845d7733a4 indentation 2017-08-04 20:33:21 +02:00
9ed8679c95 simplify groupring_square 2017-08-04 20:33:02 +02:00
b97a0e30dd threaded matrix_reps 2017-08-04 18:25:10 +02:00
666fac1775 Threaded version of projection to the augmentation ideal 2017-08-04 15:30:12 +02:00
47a41ac9fe Threaded version of reconstruct_sol 2017-08-03 11:35:34 +02:00
a460b71db9 redirect stderr to full_log 2017-08-03 11:34:38 +02:00
a6eed4cd11 add @time to reconstruct_sol 2017-08-01 10:30:33 +02:00
1f508ea85c replace fixed rankOne_projections with automatically generated ones 2017-08-01 10:29:38 +02:00
c86f46666a Cstar_reprs are usually sparse 2017-07-31 12:13:45 +02:00
cda9538653 fix Cstar_repr: explicit Float64 conversion 2017-07-31 12:13:14 +02:00
15140d4e39 use sparsified U\pi's by default 2017-07-28 12:45:04 +02:00
f6674337ed sparsify only once during the reconstruction 2017-07-28 12:44:25 +02:00
706097931a fix: central_projection asks for AbstractCharacter 2017-07-28 12:25:14 +02:00
4bb52bd34b my Characters return Julia's Ints 2017-07-27 22:06:32 +02:00
93ba763402 Allow evaluation of Characters on GroupRingElems 2017-07-27 22:06:02 +02:00
536542c3a6 Introduce {Perm,DirectProd}Character <: AbstractCharacter <: Function 2017-07-27 22:05:15 +02:00
b89598c67c slight(?!) optimisation to Cstar_repr 2017-07-27 22:02:07 +02:00
0a3b5b227d accommodate latest changes in Nemo characters 2017-07-27 20:36:22 +02:00
9d3eec6812 fix: mixed-up projections 2017-07-27 20:35:39 +02:00
582b7bc3c7 avoid transposing Us for every constraint 2017-07-26 18:02:21 +02:00
5332d806cc Merge branch 'enh/sparsification' 2017-07-26 12:59:09 +02:00
335a2aa216 change rounding mode to :tight 2017-07-26 12:58:39 +02:00
66f860bac1 sparsify both on the forward and backward transform 2017-07-26 12:15:31 +02:00
3ff649683a FIXXX: clamp to 0 only those eps-close to 0, not < eps 2017-07-26 12:12:58 +02:00
33b45dd518 merge two sparsify functions 2017-07-26 10:29:11 +02:00
da32893d64 move setup-logging to the top of the file 2017-07-21 17:12:27 +02:00
a82eb13ef5 use views and broadcasting 2017-07-21 17:11:58 +02:00
95bc1eaff5 make EOI a one-liner 2017-07-21 17:11:25 +02:00
e74b4c49ef use the new definition of base-less mul! in GroupRings 2017-07-21 17:10:52 +02:00
b8a40c42c8 indentation 2017-07-17 15:40:54 +02:00
5d6074c368 rework ranOne_projections(::WreathProduct...) using emb functions
Still messy
2017-07-17 12:28:17 +02:00
6ecd63197b account for changes in order of characters 2017-07-17 12:27:28 +02:00
4e48917a38 characters of symmetric group are now implemented in Nemo 2017-07-17 12:26:10 +02:00
d7b7759e5d fix: delete superfluous parenthesis 2017-07-17 10:28:18 +02:00
d603bbd329 cut on allocating another GrupRingElement 2017-07-17 10:18:26 +02:00
143695ed24 Revert "parametrise central_projection by the type of character"
This reverts commit 820517a04e.
2017-07-17 10:12:09 +02:00
820517a04e parametrise central_projection by the type of character 2017-07-17 09:43:19 +02:00
05691b5202 Merge branch 'enh/S_5projections' of https://git.wmi.amu.edu.pl/kalmar/PropertyT.jl into enh/S_5projections 2017-07-17 09:41:05 +02:00
aec153ca21 cosmetic 2017-07-17 09:39:46 +02:00
cb10afe6f6 save one value computation 2017-07-16 21:42:53 +02:00
680d888b68 keep permtype consistent with partitions (i.e. rev-sorted) 2017-07-13 17:47:40 +02:00
af74ae6fb0 add hand-crafted projections for PermutationGroup(5) 2017-07-12 20:23:27 +02:00
5906715902 use T to specify type of projection elements 2017-07-12 20:23:00 +02:00
8819269689 central projections tend to be dense 2017-07-12 20:18:42 +02:00
451245419c add characters for PermutationGroup(5) 2017-07-12 20:15:31 +02:00
c056c99c1f use dictionary for characters values 2017-07-12 20:15:09 +02:00
9d8f001363 use sign(::perm) 2017-07-12 20:11:43 +02:00
78490e6ca8 visual changes to central projection 2017-07-09 14:55:19 +02:00
94fd8f0bf9 fix: can not assign in short-circut eval 2017-07-06 09:03:05 +02:00
7a39775fff Merge branch 'master' into enh/sparsification 2017-07-05 13:24:21 +02:00
94607bfaac don't redirect errors to full_log 2017-07-05 13:23:54 +02:00
8810836fab specialise that mreps should be a dict 2017-07-05 13:23:26 +02:00
ca3e606ab6 use the dot-syntax to broadcast abs 2017-07-05 13:22:59 +02:00
b3f596d8d8 save sparsified U\pis for futher experiments 2017-07-05 13:19:41 +02:00
e648d2c370 another sparsify 2017-07-05 13:19:12 +02:00
c0e2577684 sparsify by default 2017-07-05 13:14:58 +02:00
760270d2e0 new, unified sparsify 2017-07-05 13:14:34 +02:00
f3874828e7 increase the default precision in check_distance_to_positive_cone 2017-07-05 13:03:25 +02:00
dad6576365 better specialised groupring_square 2017-07-05 12:28:29 +02:00
6b9d2b5d28 update to the latest version of IntervalArithmetic 2017-07-05 12:24:49 +02:00
bfdc08e91d require IntervalArithmetic v0.9.1 2017-06-25 09:34:16 +02:00
310165b864 broader arrays in signature of distance_to_cone 2017-06-25 09:33:25 +02:00
0e89b12e90 move functions 2017-06-25 09:31:52 +02:00
ac18923631 use IntervalArithmetic instead of ValidatedNumerics 2017-06-25 09:29:31 +02:00
ff4f9e7857 faster version of reconstruct_sol 2017-06-23 13:38:45 +02:00
fd32ddbe82 use the given precision as rationalisation precision 2017-06-23 13:30:37 +02:00
709f030cb5 Nemo is already in scope 2017-06-22 21:06:51 +02:00
b7d9731f8b update to IntervalArithmetic v0.10.0 2017-06-22 15:48:06 +02:00
1053a28970 remove left-over usings/imports 2017-06-22 15:31:55 +02:00
4bde63f580 final integration via includes 2017-06-22 15:15:55 +02:00
be1c473e4a cleaning using and imports 2017-06-22 15:15:43 +02:00
3c0ecd2e73 DirectProducts and WreathProducts are in Groups now 2017-06-22 15:14:15 +02:00
dca65e571e multiple dispatch for check_property_T 2017-06-22 15:13:37 +02:00
b881a40721 move functions around 2017-06-22 15:11:14 +02:00
f6155d8382 turn init_OrbitData into constructor 2017-06-22 15:10:26 +02:00
3fa7491cb5 mv oPropertyT -> Orbit-wise 2017-06-22 14:40:55 +02:00
77121c32eb add orbit-related code 2017-06-22 14:12:35 +02:00
e21f97f541 mv sdps -> SDPs 2017-06-22 14:11:33 +02:00
cd24767691 mv checksolution -> CheckSolution 2017-06-22 14:11:00 +02:00
21e6811292 Move sqrtm out of check_distance_to_positive_cone 2017-06-22 11:56:46 +02:00
39732bb627 make splaplacian spvector of Float64 by default 2017-06-09 09:36:20 +02:00
d98d68004b len -> wlen is no longer a kwarg, and has no default value 2017-06-09 09:35:33 +02:00
aae4ee57c7 deparametrise distance_to_cone to provide generic version 2017-06-08 21:47:09 +02:00
98744d4f30 we need Flota64 laplacian 2017-06-08 21:46:07 +02:00
3c0ae5baf0 dispatch splaplacian on GroupRing{T} type
with multiplicative unit for Rings
2017-06-08 21:45:46 +02:00
a68e546b7e pm is saved as pm.jld; Delta.coeffs as delta.jld 2017-06-07 00:23:51 +02:00
5b49ae0ca0 groupring_mult -> mul 2017-06-07 00:22:06 +02:00
f6383eed7e Merge branch 'AutF4' of git.wmi.amu.edu.pl:kalmar/PropertyT.jl into AutF4
# Conflicts:
#	src/sdps.jl
2017-06-06 16:26:31 +02:00
0c6ac791c8 basis belongs to RG 2017-06-06 16:24:42 +02:00
883f6dcd18 Merge branch 'AutF4' of git.wmi.amu.edu.pl:kalmar/PropertyT.jl into AutF4
# Conflicts:
#	src/PropertyT.jl
#	src/sdps.jl
2017-06-06 11:54:24 +02:00
aa0f0f3034 add type argument to splaplacian 2017-06-06 11:51:15 +02:00
4f14b0eff7 remove old product_matrix code 2017-06-06 11:50:26 +02:00
54da1d326c import Nemo: Group, GroupElem 2017-06-06 11:48:52 +02:00
73c9e65558 cosmetic 2017-06-05 17:31:35 +02:00
d9e6f5991e short circut for directory creation 2017-06-05 17:29:05 +02:00
8a3e0ae62a fix: S is a generating set, we need its length 2017-06-05 17:28:39 +02:00
eac9ad2083 fix GroupRingElem creation 2017-06-05 17:27:55 +02:00
5a9f103049 can load splaplacian as GroupRingElem 2017-06-05 17:26:55 +02:00
3420aa5504 symmetry assertion is not necessary 2017-06-05 17:25:00 +02:00
936c285155 less unicode 2017-06-05 17:24:45 +02:00
54b6fda9e8 @variable(m, ..., SDP) and @SDconstraint(m,... >=0) are equivalent 2017-06-05 13:55:24 +02:00
ba04aa4f34 cosmetics 2017-06-05 13:49:57 +02:00
79e98b07be S is now a honest Vector of groupelems 2017-06-05 13:49:43 +02:00
477417bb9a We can again use cached Delta and pm 2017-06-05 13:48:44 +02:00
30aea5c043 We need a group to construct group Laplacian 2017-06-05 13:48:02 +02:00
04ecbb4a53 Generating set is an ordinary Vector 2017-06-05 13:23:29 +02:00
0f3313b290 missing end 2017-06-05 13:23:10 +02:00
2471c752e6 bring ΔandSDPconstraints{T<:GroupElem} from specific groups definition 2017-06-05 13:20:32 +02:00
148bab5af2 constraints_from_pm now have default total_length 2017-06-05 13:19:57 +02:00
8b0033da58 splaplacian_coeff -> splaplacian returns GroupRingElem 2017-06-05 13:18:46 +02:00
b35ee6bfdb remove (full) laplacian_coeff 2017-06-05 13:18:19 +02:00
923b4f9305 simplify \DeltaandSDPconstr... 2017-06-05 13:17:49 +02:00
9d72141624 further reduce check_property_T 2017-06-05 12:48:33 +02:00
82d175b777 timestamp both log files 2017-06-05 12:48:13 +02:00
58c0283a77 typo 2017-06-05 12:15:34 +02:00
0b0c13e4f6 use setup_logger 2017-06-05 12:15:09 +02:00
887b40b98c setup_logging 2017-06-05 10:27:07 +02:00
cbb8d5a876 adapt check_property_T to changes
It should be gone soon, anyway
2017-06-04 20:37:52 +02:00
f87e484d83 rework λandP: sets loggers and solves SDP 2017-06-04 20:37:02 +02:00
6b20e37c74 move timed_msg 2017-06-04 20:34:12 +02:00
cd66f8d914 compute_\lambdaandP does only that 2017-06-04 20:32:40 +02:00
25f7b528fc less unicode characters 2017-06-04 20:30:34 +02:00
e544e94be0 add word length to distance_to_cone 2017-06-04 20:29:44 +02:00
9dfcb49d00 solve_SDP just solve 2017-06-04 20:26:05 +02:00
ae5b37e177 return both model and optimisation variables 2017-06-04 20:13:27 +02:00
9aa427fe8e rename spectral_gap to sgap for easier handling 2017-05-28 20:07:01 +02:00
f987ae7622 typo 2017-05-28 20:06:21 +02:00
247287b892 block loading of pm, Delta -- can't reconstruct Delta
bot JLD and serializer does not allow serialising functions;
moreover, serialising E for SOutF4 takes ~2GB
2017-05-28 20:06:04 +02:00
5516b1ae64 using GroupRings 2017-05-28 20:03:57 +02:00
d1fb62cb8c length(::GroupRing) is the size of support, not of coeffs 2017-05-28 20:01:52 +02:00
347c09c598 rename \epsilon -> augmentation 2017-05-28 20:01:03 +02:00
b589fb9844 algebra_square -> groupring_square, using groupring_mult 2017-05-28 20:00:22 +02:00
2adcf0bc13 adopt to GroupRings nemoification 2017-05-28 19:59:26 +02:00
0ba66ceaa4 remove products and generate_balls: these are in Groups.jl 2017-05-28 19:58:05 +02:00
70b98ece5f adaptation to changes in GroupRings (not tested, not working) 2017-05-16 18:53:25 +02:00
e93ec0c422 add keyword for twisted product_matrix 2017-04-17 15:23:36 +02:00
c0da44754d early exit if fp_distance <= 0 2017-04-17 15:22:33 +02:00
d65bb54929 update for latest Memento 2017-04-17 15:20:58 +02:00
85e07a5a57 add common routines for (unique) products and generation of balls 2017-04-10 21:46:33 +02:00
76a2135063 change view to slice: it's not the bottleneck and thread safe 2017-04-08 13:50:59 +02:00
8ccfe09105 correct the final printout 2017-04-08 13:49:57 +02:00
10a0977d2e yet another change to printed format 2017-04-01 17:10:01 +02:00
5876998cba Change names: kappa -> lambda, A -> P 2017-04-01 15:21:57 +02:00
028979bfd1 better printing 2017-04-01 14:22:30 +02:00
41e53a598a Finally move all intense interval arithmetic to Interval{Float64} 2017-04-01 14:22:01 +02:00
dbed75103e allow check_distance_to_positive_cone return Interval 2017-04-01 14:21:01 +02:00
b20cd02d5b Revert "tad better try...catch syntax"
This reverts commit 69e74190af.
2017-04-01 08:32:34 +02:00
a827f8c425 Revert "fix: don't throw exception in kandA"
This reverts commit 837988c381.
2017-04-01 08:27:54 +02:00
450d43ed14 ValidatedNumerics parameters -- to be checked 2017-03-31 22:38:51 +02:00
2b1bb7b765 break after checking in floats return negatives (commented out) 2017-03-31 22:38:18 +02:00
98cdeedc7a make A_sqrt_Q_aug \pm \delta a matrix of Float64 intervals 2017-03-31 22:36:18 +02:00
5aa16314ec do not force @bigintervals when we use Floats64 in a moment 2017-03-31 22:35:30 +02:00
69e74190af tad better try...catch syntax 2017-03-31 22:34:56 +02:00
837988c381 fix: don't throw exception in kandA
k <=0 is handled in the outside loop
2017-03-31 22:34:28 +02:00
ada830f5d5 fix: don't return after solving, save kappa and A first 2017-03-31 22:33:17 +02:00
e08e787c1a incorporate radius parameter 2017-03-31 22:32:36 +02:00
5c36eccc7b cosmetics 2017-03-31 16:12:00 +02:00
f487c4635c Cleanup of the check_propertyT function 2017-03-31 16:07:08 +02:00
a180025dc0 log time of projecting A onto augmentation ideal 2017-03-31 15:21:45 +02:00
9b07430b5e type parametrised create_product_matrix (works with Nemo) 2017-03-26 16:22:51 +02:00
31393cab34 solver logger console format 2017-03-26 16:22:07 +02:00
58217aaaf6 generating_set now returns both S and ID 2017-03-26 16:21:47 +02:00
a3779fb50a redirect stderr to full.log 2017-03-22 13:24:36 +01:00
7796b0b028 finally fix for unbuffered output to solver-log 2017-03-22 13:24:17 +01:00
3dc571a47c variables in blocks are reused; define A before try
or face UndefVarError: A not defined
2017-03-22 12:24:36 +01:00
6fe0f9bda0 unredirect stderr 2017-03-20 22:12:10 +01:00
65f2736588 logging keyword is "solver_log" 2017-03-20 22:11:57 +01:00
87cfb742bf add and remove log Handler in the same function (solve_SDP) 2017-03-20 22:11:26 +01:00
adb9d1b273 Workaround to SCS ERROR: A->p (column pointers) decreasing
loop solver when SCS gives the error (works in Jupyter)
2017-03-20 21:48:22 +01:00
07877556db update ValidatedNumerics to 0.8 2017-03-20 21:41:34 +01:00
8ddb60a400 Shuffling of JuMP vars, constraints 2017-03-20 21:41:12 +01:00
1368dfed5e errors are redirected in SL.jl 2017-03-17 17:32:49 +01:00
0abcf2a10d report time of JuMP.solve 2017-03-17 16:32:20 +01:00
e8d3201390 no need for const inside function 2017-03-17 16:27:01 +01:00
3517d28990 if spectral_gap is < 0 don't compute Kazhdan constant 2017-03-17 16:24:55 +01:00
7335a94fa6 log more computation specific information 2017-03-17 16:23:36 +01:00
220d2302bd fix true_kappa -> Kazhdan_\kappa 2017-03-16 18:20:09 +01:00
2948d0af76 make PropertyT solver agnostic 2017-03-16 18:19:40 +01:00
39ca5697c9 Finally logging solver output to separate file 2017-03-16 15:37:52 +01:00
04df785909 remove some info 2017-03-16 15:37:28 +01:00
b1e00bfda5 Actually report Kazhdan constant, not the spectral gap 2017-03-16 14:33:41 +01:00
d832050c63 even prettier printing 2017-03-16 14:29:11 +01:00
17cd369f3f better formatting for loggers 2017-03-16 14:27:24 +01:00
ef1e33109d better printing 2017-03-16 10:07:35 +01:00
2bca1a7938 re-redirect stderr 2017-03-16 10:05:35 +01:00
94b4193ec6 fix solver logger, once again 2017-03-16 09:35:32 +01:00
07d227eb8a overwrite solver log instead of appending 2017-03-15 20:34:35 +01:00
59cea54757 flush log prior removal of handler/STDOUT redirection 2017-03-15 20:15:53 +01:00
a16e14efe8 log timings via @timed 2017-03-15 20:13:53 +01:00
b5608d473f fancy format of logs in files, not in terminal 2017-03-15 18:41:59 +01:00
33585437c1 fix: m -> SDP-problem 2017-03-15 18:16:53 +01:00
bdf97be22c printing 2017-03-15 17:56:01 +01:00
120def0ef2 distance_to_cone does not accept keyword args anymore 2017-03-15 17:55:41 +01:00
3d534ac489 warn(msg) -> warn(logger, msg) 2017-03-15 17:52:22 +01:00
646a34866b a trick to redirect SCS output to a file 2017-03-15 17:51:51 +01:00
02a89908db replace all shows and printlns by info(logger,... 2017-03-15 17:51:13 +01:00
94389b887a rudimentary @time replacement for logging 2017-03-15 17:49:39 +01:00
8e9a7dcb15 use Memento for logging 2017-03-15 17:48:52 +01:00
12245ffd9a empty line 2017-03-15 08:24:33 +01:00
0924d24c03 finish changes of names 2017-03-15 08:23:42 +01:00
b711615077 make type of result of algebra_square depend on sqrt_matrix 2017-03-14 23:36:59 +01:00
f9fd7e63a7 multiple dispatch on distance_to_cone 2017-03-14 23:35:52 +01:00
52a68e8429 tidy ValidatedNumerics and move functions 2017-03-14 23:34:47 +01:00
5286880cda Threads slowed constraints generation 2017-03-14 16:42:04 +01:00
a328502773 Printing of messages 2017-03-14 16:40:53 +01:00
dba02c87ac compute SOS now is @parallel 2017-03-14 16:40:35 +01:00
9ab11e295e the final DeltaansSDP constr lives in Main 2017-03-14 16:39:14 +01:00
e6f65688e9 Mv GroupAlgebras to a separate package 2017-03-14 16:38:28 +01:00
989c51c1ef mv Property(T).jl -> PropertyT.jl 2017-03-13 15:56:07 +01:00
d6435c1d44 Bootstrap Julia Package 2017-03-13 14:49:55 +01:00