kalmarek / SymbolicWedderburn.jl

Amazing package to compute decompositions into irreducibles of explicit group representations and the Wedderburn decomposition for endomorphisms thereof!
MIT License
9 stars 4 forks source link

Enh/matrix actions #32

Closed kalmarek closed 3 years ago

kalmarek commented 3 years ago

here's the first try;

Note that the action (ex_C2_linear.jl) is not given by

x → x+y
y → x-y

but rather normalized (or rather: orthonormalized)

x → (x+y)/√2
y → (x-y)/√2

This nicely extends to an actual action on larger basis (modulo numerics).

I see several problems arising here: if features/their images are not orthogonal (whatever that means) this code has no chance of working in general (or so I think);

should we then vectors when we compute their action?

there are a few more things I guess, but I'm too tired now, and will be arriving home in 30 minutes, so time to wrap it up ;)

@tweisser @blegat

codecov[bot] commented 3 years ago

Codecov Report

Merging #32 (0970d4e) into master (0fefd3c) will decrease coverage by 0.72%. The diff coverage is 87.27%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
- Coverage   89.83%   89.10%   -0.73%     
==========================================
  Files           9        9              
  Lines         472      505      +33     
==========================================
+ Hits          424      450      +26     
- Misses         48       55       +7     
Flag Coverage Δ
unittests 89.10% <87.27%> (-0.73%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/actions.jl 82.60% <83.72%> (-11.15%) :arrow_down:
src/characters.jl 77.89% <100.00%> (ø)
src/projections.jl 84.74% <100.00%> (+0.53%) :arrow_up:
src/eigenspacedecomposition.jl 95.23% <0.00%> (+0.03%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0fefd3c...0970d4e. Read the comment docs.

kalmarek commented 3 years ago

@blegat I should note that I simplified somehow the API compared to what we discussed yesterday, but of course this is just a first try ;)

blegat commented 3 years ago

I fixed the issue with Julia v1.0. I guess it's important that the basis is linearly independent. It probably also needs to be orthogonal, not sure.

kalmarek commented 3 years ago

thanks for those fixes; but it seems that either we should drop this InducedActionHomomorphism, or replace those type methods by functions.

I'll try to play with the dihedral group later in the evening

kalmarek commented 3 years ago

@blegat I tried to fix DihedralAction in SOS, but I ran into some trouble. Could you have a look at my branch?

kalmarek commented 3 years ago

ok, I'll create a testset based on the C2 example and once coverage is high enough i'll merge

kalmarek commented 3 years ago

@blegat ready to register?

blegat commented 3 years ago

Almost, one last detail :)