|
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 |
|
|
19f6906d33
|
add parent_type(::Type{GroupRingElem})
|
2017-07-06 10:06:17 +02:00 |
|
|
35fc74e6f2
|
fix multiple dispatch of scalar *
|
2017-06-06 22:29:02 +02:00 |
|
|
962a9e6e73
|
Revert "reparametrise parent call overloads"
This reverts commit 4b86d5d075 .
|
2017-06-06 22:25:01 +02:00 |
|
|
a726462488
|
Merge branch 'enh/Nemoification' of git.wmi.amu.edu.pl:kalmar/GroupRings.jl into enh/Nemoification
# Conflicts:
# src/GroupRings.jl
|
2017-06-06 18:46:11 +02:00 |
|
|
e61b573642
|
multiple dispatch of * and mul!
|
2017-06-06 18:44:53 +02:00 |
|
|
292806db17
|
multiple dispatch of * instead of scalar mult
|
2017-06-06 18:44:00 +02:00 |
|
|
61ed1f7870
|
rename groupring_mult[!] -> mul[!]
|
2017-06-06 11:46:15 +02:00 |
|
|
fe1f552b26
|
Merge branch 'enh/Nemoification' of https://git.wmi.amu.edu.pl/kalmar/GroupRings.jl into enh/Nemoification
|
2017-06-06 00:12:15 +02:00 |
|
|
4b86d5d075
|
reparametrise parent call overloads
|
2017-06-06 00:03:38 +02:00 |
|
|
43d78c97f8
|
parametrise GroupRing by Group and GroupElem
as suggested by thofma
|
2017-06-05 23:50:15 +02:00 |
|
|
1e75372068
|
in setindex! perform coercion only when necessary
|
2017-06-05 21:38:03 +02:00 |
|
|
b2231c44e6
|
coercion to GroupRing via specified function on underlying groups
|
2017-06-05 21:37:11 +02:00 |
|
|
7ba59d6508
|
safer coercion of GroupRingElem to GroupRing
|
2017-06-05 21:36:31 +02:00 |
|
|
986dd3dae1
|
deprecate groupring_mult in favour of multiple dispatch of (*)
|
2017-06-05 11:03:37 +02:00 |
|
|
2eeb85d2ed
|
Allow limited use of GroupRings without basis
|
2017-06-05 11:02:38 +02:00 |
|
|
1e990f5896
|
better show of ::GroupRingElem
|
2017-05-19 10:32:09 +02:00 |
|
|
6379c76646
|
change full -> initialise keyword; the default is to initialise by default
|
2017-05-19 10:00:41 +02:00 |
|
|
5a26aaa5cb
|
need vector for basis; collect(Base.product) preserves the structure
|
2017-05-18 21:50:57 +02:00 |
|
|
faf1b94bae
|
remove generators (for now)
|
2017-05-18 21:49:57 +02:00 |
|
|
27e9ce254f
|
try to coerce before throwing error
|
2017-05-18 21:49:12 +02:00 |
|
|
ca3ec95ea2
|
rationalize for Integral Group Rings
|
2017-05-18 17:58:13 +02:00 |
|
|
92daac300b
|
one(GroupRing) returns multiplicative identity
|
2017-05-18 17:57:15 +02:00 |
|
|
e3fa702507
|
length of GroupRingElem is the size of its support
|
2017-05-18 17:56:46 +02:00 |
|
|
148c8e2611
|
rational division for integral group rings
|
2017-05-18 12:19:41 +02:00 |
|
|
486f2cff9a
|
add eltype(::GroupRingElem)
|
2017-05-18 12:19:12 +02:00 |
|
|
3c8022b59d
|
export complete, create_pm
|
2017-05-17 17:45:03 +02:00 |
|
|
408c5a34e3
|
create_pm convenience
|
2017-05-17 17:44:51 +02:00 |
|
|
07cc7eff16
|
generators of GroupRing (symmetric generating set)
|
2017-05-17 17:44:36 +02:00 |
|
|
396f5b529c
|
check basis equality for (==) of GroupRings
|
2017-05-17 17:44:13 +02:00 |
|
|
4f5f6c685a
|
format
|
2017-05-17 17:43:37 +02:00 |
|
|
bef0b67af6
|
modify reverse_dict to allow generator arg
e.g. reverse_dict(elements(G))
|
2017-05-17 17:43:11 +02:00 |
|
|
e18e90ddaf
|
fix equality of GroupRing elements with different types of coeffs
eg. SparseVector vs Vector
|
2017-05-17 17:41:34 +02:00 |
|
|
4491078b9e
|
adapt GroupRing constructors to new type definition
|
2017-05-17 17:40:32 +02:00 |
|
|
203743bb4d
|
hide correctness check of GroupRingElem behind check arg
|
2017-05-17 17:39:56 +02:00 |
|
|
796f04261d
|
rework (RG::GroupRing) overloads, allowing Type argument
|
2017-05-17 17:39:05 +02:00 |
|
|
9b8c2f6b45
|
rearange fields in GroupRing; second internal constructor (full)
|
2017-05-17 17:36:29 +02:00 |
|