Mercurial > repos > public > sbplib_julia
annotate Notes.md @ 410:26e186b565b3
Add some notes about vector valued grid functions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 15 Oct 2020 21:06:28 +0200 |
parents | de4746d6d126 |
children | 10a67ac48d6e |
rev | line source |
---|---|
318
0c8d4a734c4f
Add some todos and add a Notes.md file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 # Notes |
0c8d4a734c4f
Add some todos and add a Notes.md file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 |
0c8d4a734c4f
Add some todos and add a Notes.md file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 ## Known size of range and domain? |
320
d705b397aa33
Clean up Notes.md and TODO.md
Jonatan Werpers <jonatan@werpers.com>
parents:
319
diff
changeset
|
4 Is there any reason to use a trait to differentiate between fixed size and unknown size? |
d705b397aa33
Clean up Notes.md and TODO.md
Jonatan Werpers <jonatan@werpers.com>
parents:
319
diff
changeset
|
5 |
379
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
6 When do we need to know the size of the range and domain? |
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
7 * When indexing to provide boundschecking? |
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
8 * When doing specialised computations for different parts of the range/domain? |
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
9 * More? |
319
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
10 |
379
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
11 Maybe if we should have dynamic sizing it could be only for the range. `domain_size` would not be implemented. And the `range_size` would be a function of a vector that the TensorMapping is applied to. |
332
535f1bff4bcc
Add some notes and some todos
Jonatan Werpers <jonatan@werpers.com>
parents:
320
diff
changeset
|
12 |
319
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
13 ## Reasearch and thinking |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
14 - [ ] Use a trait to indicate if a TensorMapping uses indices with regions. |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
15 The default should be that they do NOT. |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
16 - [ ] What to name this trait? Can we call it IndexStyle but not export it to avoid conflicts with Base.IndexStyle? |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
17 - [ ] Use a trait to indicate that a TensorMapping har the same range and domain? |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
18 - [ ] Rename all the Tensor stuff to just LazyOperator, LazyApplication and so on? |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
19 - [ ] Figure out repeated application of regioned TensorMappings. Maybe an instance of a tensor mapping needs to know the exact size of the range and domain for this to work? |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
20 - [ ] Check how the native julia doc generator works |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
21 - [ ] Check if Vidars design docs fit in there |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
22 - [ ] Create a macro @lazy which replaces a binary op (+,-) by its lazy equivalent? Would be a neat way to indicate which evaluations are lazy without cluttering/confusing with special characters. |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
23 - [ ] Specificera operatorer i TOML eller något liknande? |
05ac7d7f9176
Move research and thinking from TODO.md to Notes.md
Jonatan Werpers <jonatan@werpers.com>
parents:
318
diff
changeset
|
24 H.. H_gamma etc.) |
332
535f1bff4bcc
Add some notes and some todos
Jonatan Werpers <jonatan@werpers.com>
parents:
320
diff
changeset
|
25 - [ ] Dispatch in Lower() instead of the type Lower so `::Lower` instead of `::Type{Lower}` ??? |
535f1bff4bcc
Add some notes and some todos
Jonatan Werpers <jonatan@werpers.com>
parents:
320
diff
changeset
|
26 Seems better unless there is some specific reason to use the type instead of the value. |
379
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
27 - [ ] How do we handle mixes of periodic and non-periodic grids? Seems it should be supported on the grid level and on the 1d operator level. Between there it should be transparent. |
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
28 - [ ] Can we have a trait to tell if a TensorMapping is transposable? |
de4746d6d126
Add some notes and todos
Jonatan Werpers <jonatan@werpers.com>
parents:
332
diff
changeset
|
29 - [ ] Is it ok to have "Constructors" for abstract types which create subtypes? For example a Grids() functions that gives different kind of grids based on input? |
410
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
30 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
31 ## Vector valued grid functions |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
32 Från slack konversation: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
33 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
34 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
35 Med vektorvärda gridfunktioner vill vi ju fortfarande att grid funktionen ska vara till exempel AbstractArray{LitenVektor,2} |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
36 Och att man ska kunna göra allt man vill med LitenVektor |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
37 typ addera, jämföra osv |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
38 Och då borde points returnera AbstractArray{LitenVektor{Float,2},2} för ett 2d nät |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
39 Men det kanske bara ska vara Static arrays? |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
40 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
41 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
42 Ja, jag vet inte riktigt vad som är en rimlig representation |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
43 Du menar en vektor av static arrays då? |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
44 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
45 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
46 Ja, att LitenVektor är en StaticArray |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
47 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
48 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
49 Tuplar känns typ rätt inuitivt för att representera värdet i en punkt |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
50 men |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
51 det suger att man inte har + och - för dem |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
52 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
53 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
54 Ja precis |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
55 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
56 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
57 så kanske är bra med static arrays i detta fall |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
58 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
59 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
60 Man vill ju kunna köra en Operator rakt på och vara klar eller? |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
61 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
62 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
63 Har inte alls tänkt på hur det vi gör funkar mot vektorvärda funktioner |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
64 men känns som staticarrays är hur man vill göra det |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
65 tuplar är ju immutable också |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
66 blir jobbigt om man bara agerar på en komponent då |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
67 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
68 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
69 Hm… |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
70 Tål att tänkas på |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
71 Men det lär ju bli mer indirektion med mutables eller? |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
72 Hur fungerar det? |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
73 Det finns ju hur som helst både SVector och MVector i StaticArrays |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
74 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
75 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
76 När vi jobbat i c/c++ och kollat runt lite hur man brukar göra så lagrar man i princip alla sina obekanta i en lång vektor och så får man specificera i funktioerna vilken komponent man agerar på och till vilken man skriver |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
77 så man lagrar grejer enl: w = [u1, v1, u2, v2, …] i 1D. |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
78 Men alltså har ingen aning hur julia hanterar detta |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
79 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
80 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
81 Det vi är ute efter kanske är att en grid funcktion är en AbstractArray{T,2} where T<:NågotSomViKanRäknaMed |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
82 Och så får den typen var lite vad som helst. |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
83 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
84 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
85 Tror det kan vara farligt att ha nåt som är AbstractArray{LitenArray{NDof},Dim} |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
86 Jag gissar att det kompilatorn vill ha är en stor array med doubles |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
87 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
88 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
89 Och sen är det upp till den som använder grejerna att vara smart |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
90 Vill man vara trixig kan man väl då imlementera SuperHaxxorGridFunction <: AbstractArray{Array{…},2} som lagrar allt linjärt eller något sånt |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
91 Det kommer väl lösa sig när man börjar implementera vektorvärda saker |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
92 Euler nästa! |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
93 New |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
94 Vidar Stiernström: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
95 Det vore skönt att inte behöva skriva såhär varje gång man testar mot en tupel :smile: @test [gp[i]...] ≈ [p[i]...] atol=5e-13 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
96 |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
97 Jonatan Werpers: |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
98 https://github.com/JuliaArrays/ArraysOfArrays.jl |
26e186b565b3
Add some notes about vector valued grid functions
Jonatan Werpers <jonatan@werpers.com>
parents:
379
diff
changeset
|
99 https://github.com/jw3126/Setfield.jl |