UmbralRaptor changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> … one of the other grad students just compared me to nomal O_o | <ferram4> I shall beat my problems to death with an engineer.
<UmbralRaptor>
Big raven.
<egg|zzz|egg>
UmbralRaptor: the beak dog bone bolts are stabbing
TonyC has quit [Read error: Connection reset by peer]
e_14159 has quit [Ping timeout: 204 seconds]
<egg|zzz|egg>
!wpn Majiir
* Qboid
gives Majiir an oscilloscope
<Majiir>
!hat
<Majiir>
No hat?
<Majiir>
:|
e_14159 has joined #kspacademia
<egg|zzz|egg>
Majiir: there's .hat on bottorture
<bofh_>
!wpn egg|zzz|egg
* Qboid
gives egg|zzz|egg a periwinkle
<bofh_>
rofl so I learned that the place I lived in for most of my life has typical water hardness of ~481ppm CaCO3/Ca(HCO3)2 (~28gpg for people who think that's at all a reasonable unit)
<bofh_>
explains why after getting used to and strangely liking the taste the only way I've been able to replicate it was by literally taking chalkboard chalk, crushing a bit of it, and dissolving it in cold tap water
<bofh_>
(yes at this point most tap water tastes not hard enough for me)
<egg|zzz|egg>
bofh_: as long as you don't have a shortage of chalk you're fine
<egg|zzz|egg>
otherwise you need to choose between drinking and teaching
<UmbralRaptor>
We seem to have moved to mostly whiteboards in the states.
* UmbralRaptor
isn't sure what happens if you drink the ink.
<egg|zzz|egg>
UmbralRaptor: how can you do math on whiteboards
<Ellied>
still better than doing it on smartboards which is what my high school had
<Ellied>
I also like having the range of colors offered by common dry erase markers. Colored chalk can be weirdly hard to come by.
<Ellied>
also also, I'm really not a fan of dust.
<bofh_>
coloured chalk isn't too bad to find in my experience...
<bofh_>
also "smart"boards are fucking awful.
<UmbralRaptor>
egg|zzz|egg: Like on blackboards?
<UmbralRaptor>
Though admittedly it's probably easier to do math on paper.
icefire has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
<Ellied>
yeah paper is definitely the best
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
<Ellied>
dataaa paaarty
<Ellied>
(scanning deuterium GDT)
Majiir is now known as Snoozee
<egg|zzz|egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a pigeon/mass hybrid
<egg|zzz|egg>
<egg|zzz|egg>
UmbralRaptor: is there a treatment of the conversion from orbital elements to cartesian elements that doesn't go through the horribly-conditioned mess of semimajor axis and eccentricity at high eccentricity >_>
* egg|zzz|egg
looks at some graphs and is confused why anyone would want to touch Kepler's equation
* egg|zzz|egg
pokes a condition number with a stick
<egg|zzz|egg>
aaargh everything is ill-conditioned
icefire has joined #kspacademia
<egg|zzz|egg>
yay something with a removable singularity at e = 1
<egg|zzz|egg>
but that only works if the semilatus rectum behaves sanely of course...
egg|cell|egg has quit [Ping timeout: 204 seconds]
icefire has quit [Read error: Connection reset by peer]
<Qboid>
U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE (є)
tfafk is now known as Technicalfool
egg|phone|egg has joined #kspacademia
<Technicalfool>
reading up, there's an increasing amount of active whiteboards in schools here. Huge touch screens basically.
<Technicalfool>
don't know what happens if you lick the glass, but it's probably less healthy than chalk.
<egg|zzz|egg>
!wpn Technicalfool
* Qboid
gives Technicalfool a mechanism/thagomizer hybrid
TonyC has joined #kspacademia
<egg|zzz|egg>
UmbralRaptor: do you call the semilatus rectum p or l
icefire has joined #kspacademia
<soundnfury>
!wpn
* Qboid
gives soundnfury an immersive δ-function
<soundnfury>
Qboid: s/function/not a function
<Qboid>
soundnfury thinks Qboid meant to say: /meNgives soundnfury an immersive δ-not a function
<soundnfury>
N?
* Thomas
checks the sourcecode
* Thomas
sees bug
<Thomas>
s/sees/fixes
<Thomas>
s/sees/fixes
<SnoopJeDi>
lol
<UmbralRaptor>
egg|zzz|egg: I, er, don't usually use it for anything?
<UmbralRaptor>
egg|zzz|egg: Also, a retrograde solar orbit? o_O
* Thomas
slaps qboid
<Thomas>
s/slaps/hugs
* Qboid
hugs qboid
<Thomas>
Well, yeah
<soundnfury>
Thomas: that's not the same though
<Thomas>
Yeah
<UmbralRaptor>
Grr... need to find a non-paywalled version.
<soundnfury>
!slap x
* Qboid
zaps x
<soundnfury>
Qboid: s/x/z
* Qboid
zaps z
<UmbralRaptor>
!slap αλφα
* Qboid
[LOG 04/30/2017 18:57:34]: Exception Was Recorded: Object reference not set to an instance of an object. αλφα was slapped so hard that is now read only.
<soundnfury>
!slap¡
<soundnfury>
(yes I know that's the wrong way round)
<UmbralRaptor>
!slap ??㏓??☉?★???⁂
<UmbralRaptor>
Looks like the Egyptian-Akkadian curse still works?
* Thomas
test
<Thomas>
s/test/teeeest
* Qboid
teeeest
* Thomas
feels bullied by qboid
<egg|zzz|egg>
!slap ?
* Qboid
[LOG 04/30/2017 19:00:49]: Exception Was Recorded: Object reference not set to an instance of an object. ? was slapped so hard that is now read only.
<UmbralRaptor>
!slap ??㏓??☉?★???⁂
* Qboid
moves ??㏓??☉?★???⁂ to /dev/null
<egg|zzz|egg>
...
<soundnfury>
shouldn't that be [EXC date time]: Object etc?
<UmbralRaptor>
egg|zzz|egg: So that paper isn't in arχiv.
<UmbralRaptor>
soundnfury: That Qboid does not use ISO-8601 is pretty disturbing.
<Thomas>
soundnfury: blame sigma
<e_14159>
UmbralRaptor: If it's not on arxiv, it doesn't exist.
<kmath>
<whitequark> this is at least the second time Nature does the "definitely don't download anything from sci-hub that's illegal, h… https://t.co/Bx4Od1uwdN
<egg|zzz|egg>
whitequark: oooh fun, phl is refactoring things for the way we initialize the KSP system in stability tests, and he was getting wildly different results when he renamed the star from Kerbol to Sun (to be consistent with the data we get from KSP)
<whitequark>
nice
<egg|zzz|egg>
whitequark: the explanation is that the ephemeris sorts the bodies by name to apply the forces; the error from FP non-associativity on the forces is tiny (dominated by truncation error etc.), but in the stock system, Ляпунов blows up the tiniest things :D
<egg|zzz|egg>
and so the system breaks down earlier if the star is called Sun
<egg|zzz|egg>
(at least with that integrator and timestep)
<egg|zzz|egg>
specifically, if the star is called "Kerbol" we can measure a period after 1 year for Bop and Pol (the others have broken down)
<egg|zzz|egg>
if it's called "Sun" we can only do that for about 60 days
<egg|zzz|egg>
if the star is called Aardvark it's even more stable, so there's some amount of systematic error here, maybe we should accumulate the forces in double-double
<egg|zzz|egg>
(mind you you need a really sensitive system to see it, but still)
<egg|zzz|egg>
opened principia#1351
<Qboid>
[#1351] title: Accumulate gravitational interactions in DoublePrecision | Different behaviour due to non-associativity being amplified by the uncorrected stock system's terrible Ляпунов exponent is expected, but Aardvark being stabler than Kerbol which is stabler than Sun p... | https://github.com/mockingbirdnest/principia/issues/1351
<egg|zzz|egg>
UmbralRaptor: uh so the natural thing for a hyperbola is an imaginary semiminor axis >_>
* UmbralRaptor
blinks.
<UmbralRaptor>
x²/a - y²/b = c, right? Typically with a positive value for b?
<egg|zzz|egg>
UmbralRaptor: for an ellipse, x²/a² + y²/b² = 1
<egg|zzz|egg>
UmbralRaptor: for a hyperbola, x²/a² - y²/b² = 1
<egg|zzz|egg>
UmbralRaptor: alternatively, b is pure imaginary...
<egg|zzz|egg>
UmbralRaptor: it also naturally comes out of the expression from a and e: b = a sqrt(1 - e ** 2)...
<UmbralRaptor>
eep
<egg|zzz|egg>
UmbralRaptor: or with the (positive) semilatus rectum p, ap = b ** 2, a negative in the hyperbolic case...
<egg|zzz|egg>
UmbralRaptor: it all works much better if you do that >_>
<UmbralRaptor>
hrm
<whitequark>
rectum?
<whitequark>
since when does #kspacademia discuss anatomy
<egg|zzz|egg>
well, sometimes my dwarves study it
<egg|zzz|egg>
see the topicgist
<UmbralRaptor>
Also, anatomy of sliced up cones.
<soundnfury>
egg|zzz|egg: why do you have to exaggerate all the time?
<UmbralRaptor>
soundnfury: s/exa/eggsa/
<Qboid>
UmbralRaptor thinks soundnfury meant to say: egg|zzz|egg: why do you have to eggsaggerate all the time?
<soundnfury>
UmbralRaptor: an eggcess of hyperbolæ
<Ellied>
egg|zzz|egg: I still don't understand why the name of the sun changes the stability
<egg|zzz|egg>
Ellied: it changes the order in which we sum the forces
<Ellied>
whahuh? why? and why does that matter?
<egg|zzz|egg>
so e.g. instead of ((F_Kerbol + F_Pol) + F_Tylo) + F_Vall we compute ((F_Pol + F_Sun) + F_Tylo) + F_Vall
<egg|zzz|egg>
Ellied: and floating-point addition is not associative
<Ellied>
shows what I know
<egg|zzz|egg>
Ellied: mind you that changes the result only by a tiny bit, but the unstable system is hypersensitive to changes in the initial conditions
<Ellied>
sure, THAT at least makes sense to me.
<Ellied>
alright, I suppose the key bit I didn't know was that floating point addition isn't associative. But why isn't it?
<egg|zzz|egg>
!csharp 1e17 + 1 - 1000 - 1e17
<Qboid>
-992
<egg|zzz|egg>
!csharp 1e17 - 1e17 - 1000 + 1
<Qboid>
-999
<egg|zzz|egg>
Ellied: ok, so first, it isn't. ^ As for why, do you know what a floating point number looks like
<egg|zzz|egg>
?
<Ellied>
No.
<Ellied>
Almost.
<egg|zzz|egg>
Ellied: can you wait until I have eaten dinner?
<Ellied>
yes.
<egg|zzz|egg>
ok, see you soon :-p
<Ellied>
I'll have another go at reading the wikipedia page in the meantime.
<Ellied>
Oh, maybe I did know this. It's three integers that look like engineering notation.
<soundnfury>
Ellied: yeah it's m * 2^x for some integers m,x (the mantissa and exponent)
<soundnfury>
and m only has so many bits, so every time your x gets bigger you're losing precision
<soundnfury>
!csharp 1e17 + 1 - 1e17
<Qboid>
0
<soundnfury>
1e17 and (1e17 + 1) both get the same representation, because the 1 gets rounded away - it's less than half an ULP (Unit in the Last Place)
<soundnfury>
it's like if you're working to 3 sig figs in decimal, 9 + 0.001 comes out as 9
<soundnfury>
(and similarly 9000 + 1 comes out as 9000)
<soundnfury>
so the rounding error / step size is determined by the size of an ULP, which in turn is determined by how big the numbers you're working with are - it's 2^x in the definitions I gave above.
<soundnfury>
so if you do egg's first eggsample, the +1 and -1000 happen with a running total that's around 1e17, which (for fifty-something bits of mantissa) means that an ULP is > 1
<soundnfury>
so they get hit by quite a large error, which persists after the 1e17 gets subtracted away.
<soundnfury>
whereas in the second eggsample, the 1e17 is subtracted first, getting us to a running total of 0, and now the biggest number we deal with is 1000 so an ULP is around 1e-14, so we get much smaller errors
<soundnfury>
(in fact zero errors, because the integers we're working with have exact representations)
<egg|zzz|egg>
Ellied: I'm back
<egg|zzz|egg>
soundnfury sort of answered I guess
<egg|zzz|egg>
or wikipedia
<egg|zzz|egg>
!wpn Ellied
* Qboid
gives Ellied a hippomobile variable
<egg|zzz|egg>
!seen Ellied
<Qboid>
egg|zzz|egg: I last saw Ellied on [30.04.2017 19:05:07] in #kspacademia saying: "Oh, maybe I did know this. It's three integers that look like engineering notation."
<egg|zzz|egg>
Ellied: the idea is that the floating point value of the result of a floating point operation is the floating point closest to the actual result
<egg|zzz|egg>
and a floating point number is a mantissa and an exponent
<egg|zzz|egg>
so, let's say we have a decimal floating point number with 5 sig dec, something like 1.000'00E3 for 1000
<egg|zzz|egg>
uh that's 6 sig dec
<egg|zzz|egg>
evidently I cannot count
<egg|zzz|egg>
let's say 4 sigdec, 1.000E3. Now consider (1.000E3 + 1.234E0) - 9.990E2.
<egg|zzz|egg>
the true result of the first sum is 1.001234E3, since we have only 4 sigdec we round (let's say the rounding mode is nearest ties to even), we round to 1.001E3. Then we subtract, the actual result is 2.000E0, which is representable, so that's the result.
<egg|zzz|egg>
compare with (1.000E3 - 9.990E2) + 1.234E0, the difference is 1.000E0 (exact), and then the sum yields 2.234E0 (exact again)
<egg|zzz|egg>
Ellied: makes sense?
UmbralRaptor is now known as NomalRaptor
* Ellied
gives egg|zzz|egg a praying mantissa
<bofh_>
oh, are we learning about the non-associativity of floating-point? :P
<egg|zzz|egg>
bofh_: greening is
<Ellied>
I think the biggest detail I forgot about was the limited number of bits, lol
<Ellied>
it makes sense now
<Ellied>
this building contains a portal to the elemental plane of infinite vacuum cleaners. I can hear it, constantly, at all hours of the night from this basement lab.
<egg|zzz|egg>
NomalRaptor: I'm wondering whether I should have a semiminor_axis that's always positive (and different equations for the hyperbolic and elliptic case) or a semiminor_axis that goes NaN for hyperbolic orbits and an impact_parameter equal to -i * b (thus positive real in the hyperbolic case)
<egg|zzz|egg>
(i being a number such that i ** 2 = -1, not the inclination)
<soundnfury>
egg|zzz|egg: the latter sounds more elegant, but I don't know what the relevant trade-offs are
<soundnfury>
(konrad did it the other way, with different equations for the different sgn(discriminant)s, but that's because I'm not much of an orbital mechanic)
* NomalRaptor
slaps doesn't
* NomalRaptor
pokes QM in perturbations
<egg|zzz|egg>
NomalRaptor: slaps doesn't?
* NomalRaptor
? ?
<NomalRaptor>
*also
<egg|zzz|egg>
soundnfury: yeah, the latter is probably more consistent with other things I do: the period goes NaN, I have a mean motion and a hyperbolic mean motion...
<soundnfury>
!u ? ?
<Qboid>
U+1F52A HOCHO (?)
<Qboid>
U+0020 SPACE (␠)
<Qboid>
U+1F4F1 MOBILE PHONE (?)
<egg|zzz|egg>
soundnfury: also, the code I'm writing is a glorious mess of branches (completing the elements from any 2 that suffice to define the conic)...
<egg|zzz|egg>
combinatorial eggsplosion \o/
* soundnfury
gives egg|zzz|egg a twig
ferram4 has quit [Ping timeout: 200 seconds]
<egg|zzz|egg>
!wpn NomalRaptor
* Qboid
gives NomalRaptor a rhodium hexahexaflexagon
<egg|zzz|egg>
!wpn whitequark
* Qboid
gives whitequark a composite heptagon-like inverter
<whitequark>
!wpn egg|zzz|egg
* Qboid
gives egg|zzz|egg a dorsal bustard
<egg|zzz|egg>
NomalRaptor: Jupiter!
<egg|zzz|egg>
NomalRaptor: also Europa, Callisto, Ganymede
ferram4 has joined #kspacademia
icefire has joined #kspacademia
<egg|zzz|egg>
NomalRaptor: I've hopped to where the sombrero is, but I can't spot it
<egg|zzz|egg>
also lots of unsteady air, observing through an open window is a bad idea
<egg|zzz|egg>
jupiter looks bubbly
<Ellied>
I found a PCMCIA GPIB card in my lab!!
<Ellied>
I knew I was gonna need the PCMCIA slot in my toughbook for something
<whitequark>
lol pcmcia
<Ellied>
half of experimental physics is e-paleontology.
<Ellied>
I'm not sure I'll ever be able to buy a laptop without an RS-232 port. It's just too useful.
<egg|zzz|egg>
!wpn Ellied
* Qboid
gives Ellied a white synapsid/gluon hybrid