1
0
mirror of https://github.com/kalmarek/GroupRings.jl.git synced 2024-12-29 11:00:28 +01:00
Commit Graph

251 Commits

Author SHA1 Message Date
68c6d116a9 remove broken divexact 2018-08-13 20:54:15 +02:00
e472a42d09 remove baseless_warn 2018-08-13 20:48:51 +02:00
0180856083 remove rationalize 2018-08-13 20:47:54 +02:00
f6b31ec2c9 don't compare bases when ==(::GroupRing, ::GroupRing)
comparing pm should be enough
2018-08-13 19:34:24 +02:00
4dd2c02a4c simple constructor from support of GroupRingElem 2018-08-13 19:33:19 +02:00
29f5bc1ee7 subtraction allocates once only 2018-08-13 19:31:58 +02:00
86777050b1 don't allocate full(X.coeefs) when computing hash 2018-08-13 19:30:03 +02:00
d2e9688e9f replace all the // function by a single, simple one 2018-08-13 19:29:10 +02:00
2318128f6d add supp, rename augmentation -> aug 2018-08-13 19:27:43 +02:00
9f6b7f4236 remove the parent check in setindex!(X::GroupRingElem, v, g)
it should be fine as long as we can coerce g to parent(X).group
2018-07-30 19:23:49 +02:00
9a4038e2da migrate to AbstractAlgebra 2018-07-27 00:23:19 +02:00
725493afc0 Typed reverse Dict 2018-04-09 13:05:31 +02:00
1074d4e849 replace splatting by vec 2018-04-09 13:02:15 +02:00
15a003ab72 broader *(::{}, ::GroupRingElem) to prevent Nemo generic *(::, RingElem) 2017-11-17 15:27:03 +01:00
9a1bb2e707 update eltype 2017-11-17 15:25:42 +01:00
b2ed850bcc Merge branch 'master' into enh/julia-v0.6 2017-11-15 20:31:03 +01:00
ffffc7134d make baseless_warn global 2017-11-15 20:30:08 +01:00
a78f6bedce allow precompilation of the module 2017-11-08 09:07:36 +01:00
2c45b70eac remove type annotation 2017-11-03 16:39:18 +01:00
8661781c92 changes in docs 2017-11-03 16:39:01 +01:00
8abc77a0c0 override Nemo's *(Rational, ::GroupRingElem) 2017-09-15 19:03:43 +02:00
36be0e000f parametrise GroupRingElem on the type of parent 2017-09-15 19:02:24 +02:00
505295aa5a convert directly the elements of X.coeffs 2017-09-14 17:32:31 +02:00
439be34d21 move to the new syntax of v0.6 2017-09-14 17:31:27 +02:00
b0cce16dfa Merge branch 'master' into enh/julia-v0.6 2017-09-14 11:51:54 +02:00
6061e8c323 fix deprecated warnings 2017-09-13 11:13:53 +02:00
822067b04c Merge branch 'master' into enh/julia-v0.6 2017-09-13 10:59:27 +02:00
df2e51128d add baseless_warn global constant to suppress warnings
for baseless Group Rings
2017-09-10 21:44:15 +02:00
61bed0f3d0 allow to have 0s in completed pm 2017-09-10 21:42:45 +02:00
e223763b75 add check_pm function to test against zeros;
Since we can not throw from a thread, after introduction of Threading
into create_pm doesn't warn user on the possible not supported product.
Indeed threading quits immediately after first error is thrown, leaving
the pm matrix under-populated;
we check on zeros and warn the user on the situation;
2017-09-10 21:41:36 +02:00
0e8cec9f41 Performance tweaks to mul! 2017-08-27 20:38:02 +02:00
53c1872d0d avoid temporary variable 2017-08-04 21:35:29 +02:00
7bbfe4408c add scalar in-place mul! 2017-08-04 18:25:44 +02:00
50629a762c add threading to create_pm 2017-08-04 15:55:46 +02:00
afaff8cc41 add elem_type(::Type{GroupRing{T,S}}) 2017-08-01 10:31:35 +02:00
8d1604863c RG(::Vector{GroupElem}) method for constructing GroupRingElems 2017-07-27 22:09:48 +02:00
9e09317148 add specialisations for GroupRing over multiplicative Groups of Rings 2017-07-27 22:08:53 +02:00
ddaef73872 add explicit types for keywords 2017-07-25 14:49:41 +02:00
9919652590 replace eachindex() by 1:length() for now 2017-07-25 14:49:17 +02:00
66711a3181 cosmetic 2017-07-25 14:48:48 +02:00
39039f9ec1 no need to parametrize parent by type of coefficients 2017-07-25 14:47:59 +02:00
3e7fed4e41 totally pm-free multiplication! 2017-07-25 14:44:37 +02:00
147cd053e3 make complete! use fastm! 2017-07-25 14:43:37 +02:00
75627514fd replace init kw. by fastm in GroupRing constructor 2017-07-25 14:43:04 +02:00
2c4a7561c4 fix: parent_type, elem_type dispatch after type! 2017-07-25 14:35:09 +02:00
14e9a8505c Merge branch 'master' into enh/pmfree_mul 2017-07-25 00:03:02 +02:00
7188433472 fix: remove remains of the old version 2017-07-25 00:01:23 +02:00
1862868a35 more verbose throws in divexact 2017-07-24 22:50:52 +02:00
c21f9e043b throw if idices of X or Y go beyond size(pm) 2017-07-24 17:27:49 +02:00
de72253e90 export complete! and star-involution 2017-07-21 20:36:48 +02:00
13fa9962a9 input similar directly into mul! 2017-07-21 17:33:29 +02:00
bce92ef278 change collect(a) -> [a...]: we need vector of elements for GroupRing 2017-07-21 17:17:38 +02:00
24312ee972 slowly update RG.pm as multiplication happens 2017-07-21 17:16:38 +02:00
9a35d1f6ae always return result from mul! 2017-07-21 17:15:38 +02:00
afac7de06d doc strings for mul!s 2017-07-19 23:00:44 +02:00
d80cee5df5 when completing RG.pm compute only missing products 2017-07-19 22:57:59 +02:00
9470d31e95 rename A -> RG 2017-07-19 22:56:41 +02:00
170903b430 new versions of * : for those with and those without basis 2017-07-19 22:55:44 +02:00
9d5790d6d3 allow for pm to be slowly filled when computing products 2017-07-19 22:54:18 +02:00
acb05e7a85 better text of throws 2017-07-19 22:53:19 +02:00
bd300d83a5 compare GroupRing's pms only if basis is not available 2017-07-19 22:52:35 +02:00
4707cdf40a restrict methods to GroupRings with basis 2017-07-19 22:51:56 +02:00
e8eaabc5d2 minimal constructor for GroupRing with no initialisation 2017-07-19 22:49:57 +02:00
10ab783844 pairing outer constructors 2017-07-19 22:48:59 +02:00
5b128cd146 brave new inner constructors for GroupRing 2017-07-19 22:48:17 +02:00
f2ad7c8045 new version of *, with optional check::Bool=true 2017-07-19 22:43:46 +02:00
f586cb5146 remove mul functions: * should call mul! directly 2017-07-19 22:41:40 +02:00
5c2fabfb08 make another version of mul! for GroupRingElts 2017-07-19 22:38:17 +02:00
4c275460cc indentation 2017-07-19 22:19:58 +02:00
3166c588b1 remove checks from addeq! 2017-07-19 22:17:06 +02:00
7390f4699e add check::Bool=true to add(::GroupRingElem, ::GroupRingElem) 2017-07-19 22:15:47 +02:00
f939a2ae27 Revert "Type experiment: parametrise GroupRingElem after types of its parent"
This reverts commit 75a83da8cb.
2017-07-19 13:33:55 +02:00
1a77e8a2bc faster (RG::GroupRing)(i::Int) 2017-07-17 09:32:38 +02:00
b3024a36c6 Merge branch 'enh/mul_addeq' of https://git.wmi.amu.edu.pl/kalmar/GroupRings.jl into enh/mul_addeq 2017-07-17 09:25:31 +02:00
75a83da8cb Type experiment: parametrise GroupRingElem after types of its parent 2017-07-17 09:24:56 +02:00
c1e2d4209a to match e.g. sparse and dense zeros... ugly 2017-07-16 21:45:24 +02:00
8daa86df31 try...catch are slow 2017-07-16 21:44:42 +02:00
a66d7755ae fix copy-paste mistake 2017-07-12 20:56:59 +02:00
fc3cbeb14c preserve type of coerced element 2017-07-12 20:56:38 +02:00
ee3b4e0761 allocation-free multiplication! 2017-07-12 20:43:12 +02:00
6e95eae583 convert only if type of the product and result disagree 2017-07-12 14:31:51 +02:00
b40b9f94eb in mul! promote to the common type only if necessary 2017-07-12 11:34:43 +02:00
4e213c691d throw if dividing by a non-unit 2017-07-11 22:37:53 +02:00
4cb4d299de small tweaks to printing 2017-07-11 18:44:08 +02:00
ffee54616a critical fix: if g was not in basis setindex! failed silently 2017-07-11 18:28:30 +02:00
51c638fd65 mul! function for GroupRingElems (different coeffs) 2017-07-11 16:16:41 +02:00
b80db52742 deepcopy result if result === X to prevent X from zeroing 2017-07-11 16:02:43 +02:00
5a3e2761a4 change throw message 2017-07-11 16:01:42 +02:00
ed023be1fd zero the array where product of X and Y is stored 2017-07-11 16:00:50 +02:00
8d22162504 implement Array protocol for GroupRingElem 2017-07-11 15:59:15 +02:00
e92a5d72e8 add divexact function 2017-07-11 15:58:45 +02:00
27e0b03b3c move type-related functions to one location 2017-07-11 15:58:02 +02:00
688dfa5062 result is the firs argument of mul! 2017-07-10 19:28:19 +02:00
dd518574ff fix: zero result coeffs before jumping into loopy mul! 2017-07-10 19:27:28 +02:00
8463b928cb add RG(i::Int) = i*(id) function 2017-07-10 19:26:44 +02:00
3b9e405565 use a single zero object to compare 2017-07-10 19:25:52 +02:00
56a0964f30 better printing 2017-07-10 19:21:38 +02:00
5fb131c390 add mul! and addeq! for MatrixSpace construction 2017-07-09 14:56:11 +02:00
7fb68f8c68 initial @compat changes, works on v0.6 without warnings 2017-07-06 17:29:10 +02:00
db02dbb97c add zero(RG::GroupRing) 2017-07-06 10:09:43 +02:00