egg|laptop|egg has joined #kspacademia
<egg|laptop|egg> Majiir: I shall poke you
egg|laptop|egg is now known as egg
<egg> telldump
egg is now known as egg|laptop|egg
<egg|laptop|egg> uh
<egg|laptop|egg> kmath_?
<egg|laptop|egg> ah yes it worked
<egg|laptop|egg> Majiir: so
<egg|laptop|egg> Majiir: adaptive stepsize for symplectic integrators http://www.unige.ch/~hairer/preprints/revstep.pdf
<egg|laptop|egg> Majiir: it is possible, but weird
<egg|laptop|egg> you can't have your stepsize depend on the past, because that breaks symmetry and symplecticity and summons evil demons
<Majiir> That'
<Majiir> s okay with me
<Majiir> Should it not be okay with me?
<egg|laptop|egg> well
<Majiir> I rather like a smarter way of picking stepsize
<egg|laptop|egg> I never managed to figure out how to use that stuff in practice :D
<Majiir> then it's perfect for me
<egg|laptop|egg> but there are a bunch of papers on this sort of thing
<Majiir> I don't use stuff in practice anyway
<egg|laptop|egg> yeah, but I have a specific problem, so I should know things about what reparametrizations might work
<egg|laptop|egg> more than if you want the general case
<egg|laptop|egg> also it's a well-studied problem
<egg|laptop|egg> I mean, there's also stuff with shells around the sun
<egg|laptop|egg> that's actually practical
<egg|laptop|egg> but specific
<egg|laptop|egg> let's see
<egg|laptop|egg> Majiir: oh, and if you want to integrate a planetary system, there's the Wisdom-Holman method
<egg|laptop|egg> where you use Kepler rather than straight lines as one half (and perturbations by interactions as the other)
<egg|laptop|egg> Majiir: but moreover you can use longer steps for the slower bodies
<Majiir> multiples of the one below?!
<egg|laptop|egg> Majiir: this may be interesting, I haven't looked at it in detail but it's somewhere in the sea http://www.aanda.org/articles/aa/pdf/2003/12/aa3133.pdf
<egg|laptop|egg> Majiir: e.g. if Jupiter uses stepsize h, Saturn must use 2h or h or 3h
<egg|laptop|egg> what you're really doing is writing a weird splitting
<egg|laptop|egg> Majiir: so I should give you a general theory paper I guess
<egg|laptop|egg> if you're interested in the more general aspects of this
<egg|laptop|egg> hmm
* egg|laptop|egg dives
<egg|laptop|egg> Majiir: tripartite splitting, that should give you an idea of why/how the individual time step thing works https://arxiv.org/pdf/1306.0627.pdf
<egg|laptop|egg> it's basically that with higher values of 3
e_14159 has quit [Ping timeout: 190 seconds]
<egg|laptop|egg> Majiir: they just use Verlet/Leapfrog/Stoermer/Delambre/Newton, so it's nicely composable
<egg|laptop|egg> if you use a fancier integrator it's much harder to do those tricks
<egg|laptop|egg> because you don't get things that fall at half timesteps
<egg|laptop|egg> the stages have different sizes
<egg|laptop|egg> and it all gets weird
<egg|laptop|egg> hmm
* Majiir gasps for air
* Majiir drowns in blood from papercuts
<egg|laptop|egg> Majiir: oooh I forgot to tell you about multistep methods
e_14159 has joined #kspacademia
<egg|laptop|egg> see if you look at our code, our integrators have instances
<egg|laptop|egg> because they're not all stateless
<egg|laptop|egg> for a one-step method, you compute x(t+h) from x(t)
<egg|laptop|egg> and ok, you do compensated summation, so actually you store that in double precision
<egg|laptop|egg> but it still feels like just the state of the system no more
<egg|laptop|egg> but you have multistep methods
<egg|laptop|egg> there you compute x(t+h) from x(t), x(t-h), x(t-2h), ...
<egg|laptop|egg> and so there you need state
<egg|laptop|egg> you need to keep all of those
<egg|laptop|egg> and you have another (one-step) integrator to bootstrap so you can get your n previous steps before you start on the multistep
<egg|laptop|egg> Majiir: now, there's a theorem that says that if you're multistep and symplectic, you're actually one-step
<egg|laptop|egg> Majiir: that sounds like a sad but useful result, no need to look there...
<egg|laptop|egg> but!
<egg|laptop|egg> Majiir: you can be conjugate-symplectic
<egg|laptop|egg> that means that an equivalent one-step method is the conjugate of a symplectic method
<egg|laptop|egg> but thus if you repeat it, the result is still conjugate symplectic (conjugate by the same thing, so the conjugation cancels in the middle, think matrices)
<egg|laptop|egg> Majiir: and that has all the properties you want in terms of preserving energy etc.
<egg|laptop|egg> you can't quite do all the same tricks when you want to make custom nonsense (you have to remember it's not symplectic there), but if you just want to use it off the shelf it's good
<egg|laptop|egg> Majiir: now multistep methods are really nice, because instead of having many force evaluations per step, they have one
<egg|laptop|egg> because they reuse the force evaluations from previous steps
<Majiir> Because you're remembering each of these steps?
<Majiir> got it
<Majiir> That is something I'm interested in
<egg|laptop|egg> yeah you keep f(x(t)), f(x(t-h)), etc.
<Majiir> because that falls under the "do fewer computations" category
<egg|laptop|egg> Majiir: now to compensate, you need to do a bit of linalg, so that becomes significant; but hopefully the force evaluation is big enough that you go to quite high order before linalg dominates
<egg|laptop|egg> Majiir: they're very good for dense output
<Majiir> linalg to compensate? o.O
<egg|laptop|egg> when you want a lot of points
<Majiir> You're still talking about the summation?
<egg|laptop|egg> Majiir: no, I'm saying that because you need to combine all those previous force evaluations, you do lots of linalg
<Majiir> ah
<egg|laptop|egg> and since there's just one force eval, the linalg dominates faster
<egg|laptop|egg> so when you want a lot of points (e.g. for plotting), the cost per point matters, as well as the cost per duration
<egg|laptop|egg> and there the multisteps are killers: one force eval only! only leapfrog or Euler are that cheap
<egg|laptop|egg> (but they're mehokish and veryshitty respectively)
<egg|laptop|egg> Majiir: I recommend digging into the integrators folder and looking for paper references in the comments
<egg|laptop|egg> Majiir: and now you know why I look like https://twitter.com/eggleroy :D
<Majiir> omg it's your background
<Majiir> yes
<egg|laptop|egg> Majiir: yeah, UmbralRaptor suggested that I make it my background
<egg|laptop|egg> that seemed like a very good idea :D
<Majiir> It's quite fitting
<Majiir> I will probably try to devote mental energies to this this weekend
<Majiir> or maybe later this week
<egg|laptop|egg> Majiir: oh btw, on that pic
<Majiir> For now my brain is fried from release prep at work
<egg|laptop|egg> there's stepsize control for ODEs
<egg|laptop|egg> Majiir: good introductory article on adaptive stepsize
<egg|laptop|egg> no error estimation
<Majiir> ..why do I feel like I've read this paper
<Majiir> More likely I've read a paper on a totally different subject with a very similar name
<egg|laptop|egg> Majiir: oh paper names are like that
<egg|laptop|egg> I mean I have lost count of the variants on "a high order symplectic integrator with <fancy stuff> [for <application>]"
<Majiir> My turn for papers!
<Majiir> This one is actually very approachable for the first chapter
<Majiir> ...you know, the summary one
<egg|laptop|egg> Majiir: ls | grep "Symplectic Integrat"
<egg|laptop|egg> Majiir: https://hastebin.com/hasuboqado.css
<egg|laptop|egg> Symplectic Integration with Olive Oil - A Review
<egg|laptop|egg> Majiir: but I was only counting those which said integrat; you have the "methods" etc.
<egg|laptop|egg> Majiir: https://hastebin.com/epuquwumap.css
<egg|laptop|egg> Majiir: The development of variable-step symplectic integrators with application to the two-body problem might be of interest to you
<egg|laptop|egg> !g The development of variable-step symplectic integrators with application to the two-body problem
<Qboid> egg|laptop|egg: http://sanzserna.org/pdf/519_M.%20P.%20Calvo-JMSS-1.pdf [THE DEVELOPMENT OF VARIABLE-STEP SYMPLECTIC ...] (2900 results found, took 0.69s)
<egg|laptop|egg> Majiir: wait no, that's the paper that tries something that doesn't work I think
<egg|laptop|egg> Majiir: it's probably referenced in the Hairer and Soderlind?
<egg|laptop|egg> Majiir: yes, [1] M. P. Calvo and J. M. Sanz-Serna, Variable steps for symplectic integrators,
<egg|laptop|egg> Majiir: the multistep stuff, but from a more theoretical perspective: http://www.unige.ch/~hairer/preprints/conjsymp.pdf
<egg|laptop|egg> Majiir: this stuff isn't a paper but is also cool on the general subject of multistep methods by the same author http://www.scholarpedia.org/article/Linear_multistep_method
<egg|laptop|egg> Majiir: you'll start noticing that it's always the same names
<egg|laptop|egg> all the theory papers have Hairer somewhere >_>
<egg|laptop|egg> and then the ones who find the integrators are always pretty much the same too
<egg|laptop|egg> plenty of things we haven't implemented by those same people too
<egg|laptop|egg> we don't have integrators with processing atm
<egg|laptop|egg> Majiir: any other questions?
<egg|laptop|egg> if not I'll go back to zzz
<egg|laptop|egg> have a good swim across the unending seas of papers
egg|laptop|egg has quit [Quit: Web client closed]
<Majiir> I will surely have questions on another day
<Majiir> For now you have given me more than enough paper :D
icefire has quit [Read error: Connection reset by peer]
Majiir is now known as Snoozee
soundnfury has quit [Remote host closed the connection]
ferram4 has quit [Read error: Connection reset by peer]
ferram4 has joined #kspacademia
egg|zzz|egg is now known as egg|principia|egg
Thomas is now known as Thomas|HERE
Thomas|HERE is now known as Thomas
GreeningGalaxy has joined #kspacademia
GreeningGalaxy has quit [Ping timeout: 201 seconds]
regex has joined #kspacademia
GreeningGalaxy has joined #kspacademia
Qboid has joined #kspacademia
GreeningGal has joined #kspacademia
GreeningGalaxy has quit [Ping timeout: 206 seconds]
Qboid has joined #kspacademia
GreeningGal has quit [Ping timeout: 201 seconds]
Qboid has joined #kspacademia
egg|principia|egg is now known as egg
<egg> hi regex
<regex> \o egg
ferram4 has quit [Read error: Connection reset by peer]
ferram4 has joined #kspacademia
<e_14159> egg: No more principia?
<egg> ?
<e_14159> [19:34] *** egg|principia|egg is now known as egg.
<egg> well I wasn't debugging principia
<egg> so I switched to egg :-p
<egg> also everytime I say egg my phone vibrates
<egg> I did it again
<e_14159> But you also don't sleep for weeks at a time, yet still go by egg|zzz|egg
<e_14159> Don't egg it on.
<e_14159> (Yes, I made that joke. Yes, I do feel horrible)
<egg> "don't sleep for weeks at a time" uh I'm not sure how to parse that
<e_14159> egg: Well, you sometimes don't change your nick from "egg|zzz|egg" for several weeks, yet I am sure you still have periods of non-sleep during that time.
<e_14159> (Am I incoherent again?)
<egg> ah
<egg> but maybe I do sleep continuously for weeks
<egg> and just IRC in my sleep
<e_14159> And sleep-IRC?
<e_14159> !xkcd IP through dreams
<Qboid> e_14159: https://xkcd.com/806/ [xkcd: Tech Support] (14 results found, took 0.48s)
<e_14159> !xkcd TCMP
<Qboid> e_14159: https://xkcd.com/269/ [xkcd: TCMP] (3 results found, took 0.67s)
<e_14159> That one.
soundnfury has joined #kspacademia
<UmbralRaptor> >_<
<UmbralRaptor> And that's a rejection from U-Washington.
icefire has joined #kspacademia
<egg> :-\
<egg> UmbralRaptor: have you sent applications to any non-US things yet >_>
<SnoopJeDi> "Currently three formats are implemented: CARBONCYCL, CYCIAE, AVFEQ, FFAG, BANDRF and default PSI format."
<SnoopJeDi> You know, I'm quite sure the people who wrote this software aren't stupid, but damned if I can find evidence of it when I use it
<UmbralRaptor> SnoopJeDi: Did they use FORTRAN to set 3 equal to 5?
<egg> SnoopJeDi: are those acronyms? can you add them to qboid?
<egg> FORTRAN?
<egg> !acr -add:FORTRAN FORmula TRANslation
<Qboid> egg: I added the explanation for this acronym.
<SnoopJeDi> egg, don't know, don't care
<SnoopJeDi> I hope the creator steps on a LEGO
<SnoopJeDi> I hope he hits every red light on the way home
<SnoopJeDi> I'm reduced to reading their godawful C++ to try and suss out what in the nine hells their code actually *does*, and it's spoiled my mood
<SnoopJeDi> well, yes, some of them are acronyms. PSI is Paul Scherrer Institute, FFAG is fixed-field-alternating-gradient, etc. But some aren't, CARBONCYCL is just "carbon cyclotron" because some jerk wanted to study a specific machine and stuck their own specific routines into the code
* SnoopJeDi breathes
<egg> !acr -add:FFAG Fixed-Fixeld Alternating Gradient
<Qboid> egg: I added the explanation for this acronym.
<egg> !acr -add:PSI Paul Scherrer Institute
<Qboid> egg: I added the explanation for this acronym.
<UmbralRaptor> PSIG?
<UmbralRaptor> !acr -add:PSIG Pounds per Square Inch Gage
<Qboid> UmbralRaptor: I added the explanation for this acronym.
<egg> UmbralRaptor: Gauge?
<UmbralRaptor> !acr -remove:PSIG Pounds per Square Inch Gage
<Qboid> UmbralRaptor: I removed the explanation for PSIG
<UmbralRaptor> !acr -add:PSIG Pounds per Square Inch Gauge
<Qboid> UmbralRaptor: I added the explanation for this acronym.
<egg> >_> wiktionary does list "gage" as a US alternative spelling
<egg> you have alternative facts, and alternative spellings
<SnoopJeDi> You started it
GreeningGalaxy has joined #kspacademia
<egg> !wpn GreeningGalaxy
* Qboid gives GreeningGalaxy a boiling line-like parabola
* UmbralRaptor reforms egg's spelling.
<UmbralRaptor> Reforms for spelling… spells…
<UmbralRaptor> ISO standard witchcraft?
* egg is now spelled in middle english
egg is now known as egge
<Iskierka> palindromes
<egge> UmbralRaptor: huh, "spell" is from frankish via french
<egge> (espeler which yields modern épeler)
egge is now known as egg
GreeningGalaxy has quit [Ping timeout: 180 seconds]
regex has quit [Remote host closed the connection]