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.
<egg>
bofh: not sure how to handle the outer subtraction in that case tho
<bofh>
(now I kinda want to write an ill-conditioner that rearranges floating-point expressions into mathematically equivalent expressions that have the worst possible floating-point condition numbers)
<egg>
aaaaa
<bofh>
Hm. I don't think the outer subtraction is honestly avoidable?
<egg>
bofh: avoidable is never the question, but can the ill-condition be absorbed earlier, without rounding errors in its args to be amplified?
<egg>
similar to (x-y)(x+y) vs x**2-y**2
<bofh>
Hmm. Okay let me actually ask *that* question first, and hopefully the answer will help for that
<bofh>
Since I asked a goofy multiplication question to Atlas and got a clever algorithm out of it!
<kmath>
<bofh453> @stephentyrone Semirelated to @eggleroy's arctanh question, is x^2-y^2 ever notably better conditioned for a large… https://t.co/68YH3jQosQ
<egg|zzz|gg>
yay
<bofh>
I guess I am okay at phrasing things for diapsid website?
<egg|zzz|gg>
I guess the same question applies to 1-x/y but maybe let's not spam the cat too much :-p
* egg|zzz|gg
gives atlas a can of spam
<bofh>
that strikes me as trivially transformed into (y-x)/y :P
<bofh>
also egg|zzz|gg your wavef'n isn't quite correct
<bofh>
wrong eigenstate on the right
<egg|zzz|gg>
oops
egg|zzz|gg is now known as egg|zzz|egg
<egg|zzz|egg>
(was entangled with greeninggalaxy I guess?)
<egg|zzz|egg>
!wpn Ellied
* Qboid
gives Ellied a tau fountain pen
<egg|zzz|egg>
bofh: well yes, but x**2-y**2 is also trivially transformed into (x-y)(x+y), the question is rather whether the transformation is always better
<bofh>
yes, but again, hopefully one will answer the other or at least provide a paper which answers all of this.
<egg|zzz|egg>
eggsactly
<bofh>
01:24 <@egg> all hail the floating point cat
<bofh>
01:25 <@egg> a point cat is like a point mass? :-p
<bofh>
IEEE754 Ominously Floating Point
<egg|zzz|egg>
yup
Snoozee is now known as Majiir
<egg|zzz|egg>
!wpn Majiir
* Qboid
gives Majiir a Ritchey-Chrétien multipole vial of Y-909
<Majiir>
LIAR
<Majiir>
YOU ARE NOT ZZZ
<Majiir>
I can't believe we all put up with your pathological lying
<Majiir>
!wpn egg
* Qboid
gives egg a panzer nonagon
<egg|zzz|egg>
= 0
<egg|zzz|egg>
Majiir: I am certainly not zzz, see?
<Majiir>
You are a zzz sandwich
<egg|zzz|egg>
but now I might evolve into zzz, unless somebody observes my sleepiness
<bofh>
!wpn Majiir
* Qboid
gives Majiir a plane scream
<egg|zzz|egg>
The quantum zzzeno effect
<bofh>
LOL
<bofh>
also accurate
<Majiir>
A plane scream. Sounds super effective in aerial combat.
<egg|zzz|egg>
no, you would want a three-dimensional scream there
<Ellied>
makerfaire was fun. One guy came with me.
<egg|zzz|egg>
bofh: wait, is there a smart way to do x^2+y^2? that's a sum of positives, and if any intermediate overflows the result does, so why isn't the trivial way correct?
<egg|zzz|egg>
(hypot is a different mess, but that's because of the sqrt)
<bofh>
yeah, I sort of badly worded that, my apologies.
<egg|zzz|egg>
the diapsid website is hard
<egg|zzz|egg>
clearly we need to lure atlas in here :-p
<kmath>
<stephentyrone> @bofh453 @eggleroy It really can't be. If |x| >> |y| or vise-versa, both are well-behaved, if |x| ~ |y| then the se… https://t.co/Lch2cDKA1r
<bofh>
Fiora: clearly you might have some advice here
<kmath>
<astronomolly> The 2017 calendar I made for my parents has the most important dates marked on it. #SolarEclipse2017 https://t.co/49TniNq4CL
WetLemons has joined #kspacademia
Moistmelon has quit [Ping timeout: 183 seconds]
icefire has quit [Read error: Connection reset by peer]
<Fiora>
bofh: omg yes do it
Majiir is now known as Snoozee
TechnicallySleeping is now known as Technicalfool
G-Mobile has joined #kspacademia
<G-Mobile>
how does the y combinator work
<Fiora>
well it takes as input money and generates dumb startups
<G-Mobile>
no, that's y combinator, the y combinator is math thoughts; the's important yo
<Fiora>
... i never realized that 'y combinator' actually used the wrong y
<G-Mobile>
... there are multiple y?
<Fiora>
the y and the y!
<G-Mobile>
uh.... is the one on the right slightly bold?
Moistmelon has joined #kspacademia
WetLemons has quit [Ping timeout: 183 seconds]
Moistmelon has quit [Ping timeout: 183 seconds]
Wetmelon has joined #kspacademia
Wetmelon has quit [Ping timeout: 183 seconds]
<egg|zzz|egg>
bofh: well we lured Fiora in with cats and numerics, so,
<egg|zzz|egg>
:-p
egg|zzz|egg is now known as egg
<egg>
also, hi G-Mobile
<G-Mobile>
I came for the y combinator, I'll be out of your hair soon enough
<egg>
G-Mobile: afaict it's a thing that takes a function and returns a fixed point thereof? I'm a mathematician though, not a computer scientist; poke e_14159 or Snoozee
<G-Mobile>
majiir send me at you, I figured here was a better choice; btw it's a math logic thing not a compsci thing
<egg>
eeeh the boundary between the two is very fuzzy
<egg>
G-Mobile: you don't have to get out of my hair (do eggs have hair?), you're welcome here if you want
<G-Mobile>
there's actually a pretty clear line in the sand, math logic can be evaluated in the abstract, on paper; compsci needs some kind of processor that runs some defined syntax
<egg>
haha no
<G-Mobile>
the bot has been dead for a while, Majiir now idles as snoozee when he's off
<egg>
to quote e_14159 quoting some prof, compsci doesn't need computers and isn't science
<G-Mobile>
even if you do compsci on paper, you're just using imaginary computer paradigms
<egg>
and that holds many parts of logic, too :-p
<egg>
anyway, λ calculus is definitely something I'd associate with computer science
<G-Mobile>
that is indesputible
<G-Mobile>
large swaths of computer science are applications of lambda calculus
<G-Mobile>
potentially all of compsci
<egg>
G-Mobile: anyway back to the question, what this thing says is explained in this section of the article: Y(f) = f(Y(f) = f(f(Y(f)) = f(f(f(...)))
<G-Mobile>
I watched a (computer|number)phile video about it recently and the video was very confusing
<kmath>
<eggleroy> With RSS (starts in 1951), Principia integrates the motion of the moon fairly accurately to this day: the solar ecl… https://t.co/GfcXbCOEsN
<egg>
bofh: looking at that Keplerian element code, I'm worrying about 1-e^2 and similar things: it's easy enough to rewrite *if e is the input*, but what if the asymptotic true anomaly or the turning angle is provided instead? then you would have some error in e, so you can't do that :-\
<egg>
bofh: and similarly if you get specific energy rather than semimajor axis or whatever...
<egg>
чебышёв downloads for now are from turkey, greece, germany, the netherlands, finland, the us, & canada
<egg>
!wpn bofh, UmbralRaptor, and whitequark
* Qboid
gives bofh, UmbralRaptor, and whitequark a zeta compactification
<egg>
that... that sounds like it should be a thing but probably isn't
<UmbralRaptor>
egg: vaguely related, do you run onto issues w/ the Kepler equation around a mean anomaly a bit larger/smaller than 0?
<egg>
UmbralRaptor: so tbh the thing with that kepler orbit code is that it's written mostly for fun, and sadly that means I don't know much about edge cases (I mean it's used to initialize the KSP system, but there things behave well enough, or rather the underlying system behaves way worse)
<egg>
UmbralRaptor: what is your specific issue?
<egg>
UmbralRaptor: most treatments of the problem I've seen have abysmal numerics, so maybe by poking at it a little you can get better than the usual libs tbh
<kmath>
<stephentyrone> @bofh453 @eggleroy get an accurate d = 1 - (y/x)². If we have fma, we first get a high-precision quotient: qhi = y… https://t.co/y8fpmNlhm7
<bofh>
also excellent, superconducting spear. admittedly, ceramics don't strike me as the greatest materials to make a spear out of due to their brittleness.
<egg>
bofh: yeah, but then obsidian spears
<whitequark>
obsidian is still brittle no?
<whitequark>
if it hits sideways, welp, you need a new one
<egg>
eggsactly
<egg>
but I mean, they were a thing, right
<egg>
so ceramics should be just as nice
<whitequark>
oh
<egg>
(with the superconductivity bonus I guess :-p)
<egg>
bofh: gosh that Keplerian element mess is a bottle of ill-conditioner: how the hell do you compute 1-1/sin(δ/2), or 1+1/cos(ν)
<egg>
bofh: like even ignoring overflows and underflows, just looking at cancellations/conditioning
<bofh>
egg: oh huh obsidian spears are a thing, huh.
<egg>
also 1-1/sin^2(δ/2) and 1+1/cos^2(ν) I guess >_<
<bofh>
egg: I guess this is why haversines and shit were once used
<bofh>
but yuck, all of those are nasty
<egg>
bofh: well unless you have a math lib with all of those, having the silly names won't help you
<bofh>
hence 'once' used
<egg>
bofh: and I'm not sure what kind of army of cats is going to implement all the haversines and excsecants
<egg>
bofh: so I guess that's basically the question, "how do you compute the excosecant"
<egg>
bofh: solution: implement Payne-Hanek, compute polynomials for all the excosecants etc. *barf*
<bofh>
rofl. hey you could alwyas just lift k_rem_pio2.c :P
<bofh>
some of those seem not too awful, like exsec(\theta) seems good enough if you're doing reduction mod π/2 already since you can just reflect then by 1 inside the expression
<egg>
bofh: what do you mean reflect by 1 inside the eggspression?
<egg>
also, eggssecant
<bofh>
right
<bofh>
well presumably you've reduced \theta by \pi/2
<bofh>
so you're doing 1 - \reduced_theta, which is less bad than \pi/2 - \theta
<bofh>
assuming your reduction is good, but we're given a Payne-Hanek oracle here so :P
<kmath>
<NSFVoyager2> 20 Aug 1977 - launch date for Voyager 2. I was launched 40 years ago, & still am the oldest serving spacecraft, sonny! #day14610 #Voyager40
<bofh>
egg: yeah, slightly surprisingly
<egg>
bofh: is there a name for one minus the eccentricity :-p
<bofh>
not that I know of
<bofh>
:P
<egg>
bofh: there's a thing called centrality related to a thing called eccentricity, but it's about graphs :-p
<bofh>
LOL oops
<egg>
~overloading in mathematics~
<egg>
let N be normal
<egg>
(for the definition of normal, see [1]. [1]: Galois, pers. comm.)
<egg>
bofh: tbh in french the word for "normal subgroup" is much nicer, it's "sous-groupe distingué", where distingué meaning distinguished
<kmath>
<Newpa_Hasai> Post release side effects include the sky darkening during the day. These should fade approximately 24 hours after… https://t.co/hCFUCqHSJp
<UmbralRaptor>
egg: assuming no clouds, anyway,
egg|phone|egg has quit [Ping timeout: 383 seconds]
<egg>
bofh: so phl is working on splitting the trajectory that contains the history into the (definitive) history, and the (recent, always recomputed) psychohistory; now he needs a point infinitely far in the past as an ancestor to both for a hacky reason, so, there is a prehistory :D
* Qboid
gives whitequark a faithful diffeomorphism
<egg>
!wpn Fiora
* Qboid
gives Fiora an ellipsoid
<soundnfury>
!wpn egg
* Qboid
gives egg an impenetrability condition
<G-Mobile>
How would you prove that its impenetrable
<egg>
!wpn котя
* Qboid
gives котя a magnesium molten rake
<G-Mobile>
A molten rake is really a very ineffective multi-pen
<egg>
bofh: so Atlas's latest batch of tweet is mostly to avoid over/underflow in √(x² - y²), right? i.e., √((x-y)(x+y)) is fine absent under/owerflow?
<egg>
bofh: ok, but now weird thing: I'm running numerical eggsperiments, sampling denorms u.a.r. for both x and y (and sorting so that it's valid), and getting no errors above half the ULP? Ꙩ_ꙩ
<egg>
(with √((x-y)(x+y)))
<egg>
oh wait I forgot to call a rounding
<egg>
so I had the fused-multiply-and-sqrt
<egg>
:-p
<egg>
quick, file a feature request to intel :-p
<egg>
bofh: speaking of leekspin, finnish is weird
<egg>
(I guess hungarian similarly, but there's no hungarian leekspin :-p)
<egg>
bofh: and yup, on denorms u.a.r, if I write my roundings correctly, √((x-y)(x+y)) loses up to all the bits instead of up to half an ULP :-p
<egg>
bofh: ... powerful argument for fmsqrt
<egg>
:-p
* egg
wonders whether he should publish, er, tweet, those numerical error graphs
<bofh>
egg: I tthink you should.
<egg>
bofh: might do so tomorrow either morning or after work, not quite awake enough to tweet :-p
egg is now known as egg|zzz|egg
<egg|zzz|egg>
aaaah help I have that leekspin polkka stuck in my head
<bofh>
ender often receive emotional responses from (frequently but not always) men who appear to feel that in doing so, writers are threatening, criticizing, or dismissing science itself.⁸ This is not so. My criticism arises, as always, from a demand to understand truth: if we are to accept any scientific theory or framework as reflective of reality, that theory must be robust to alternative frameworks. It
<bofh>
should not fall down when it is given a logical ...
<bofh>
... nudge, even if it conforms with the sorts of beliefs about the world that reinforce our naturally comfortable predisposed expectations. Fear of the unknown is no reason not to question our scientific principles; in fact, for many scientists, delight in the unknown is the big draw.
<bofh>
Here’s the most frustrating thing about the lack of Mr. Damore’s citations: it makes it very difficult to actually argue with his assertions, because the lack of citations allow him to be extremely vague about his claims. It means that it’s hard to know exactly what he is trying to say and imply, because his arguments are poorly formatted and often reference nothing but his own appeals to
<bofh>
authority or a popular (rather than scholarly) ...
<bofh>
... argument. This makes it difficult to work out precisely what he means in places, and it certainly makes it difficult to work out where he and I might agree and where we disagree, because everything is couched in an air of vague (and entirely unmerited) confidence that obscures the reality of what he is saying and advocating.
<egg|zzz|egg>
bofh: well https://tmsp.io/ has pusheen cosplaying nyancat
<bofh>
there's a #qboid?
<bofh>
also I agree with G-Mobile earlier - a molten rake is a *very* ineffective multi-pen.
<egg|zzz|egg>
bofh: yes, that's Thomas's testing grounds for Qboid
<egg|zzz|egg>
bofh: there's also #bottorture, the joint testing grounds for bots
<egg|zzz|egg>
bofh: hmmm, so I guess morally I should care about underflow in √(1 - e²) (or rather √((1-e)(1+e))), since e can be around 1 in non-extreme (cometary) cases...
<egg|zzz|egg>
bofh: seems tricky since I have 3 ways of getting e from the inputs in the first place tho
<bofh>
not sure if I'd call a comet orbit "non-extreme" tbh :p
<egg|zzz|egg>
well, yes, but it's not something silly like a line
<egg|zzz|egg>
comets are a thing
<egg|zzz|egg>
[cetacean needed]
<egg|zzz|egg>
bofh: is √((1-e)(1+e)) still better than √(1 - e²) tho, i.e., does the earlier ill-conditioning help before the underflow kicks in
<bofh>
like I'd just treat it as √(x*x - y*y) and then let x=1 and then follow Atlas's advice :p
<egg|zzz|egg>
bofh: wait, it doesn't underflow, does it?
<egg|zzz|egg>
square the ULP at 1, that's still normal?
<egg|zzz|egg>
bofh: following Atlas's general advice isn't quite enough here, since e may be the result of a computation, so you'd have to get the intermediates from other inputs
<egg|zzz|egg>
(in that case you need to compute 1-e and 1+e from angles directly if angles were the inputs, else errors in the trig lines get fed into the ill-conditioner)
<bofh>
ahh. I see, since you can use a variety of inputs in order to get e in the first place.
<egg|zzz|egg>
yup
<egg|zzz|egg>
bofh: that Kepler elements thing is basically a giant maze of math libs wrapped in one function :-p
icefire has joined #kspacademia
<egg|zzz|egg>
bofh: but I think (1-e)(1+e) never underflows?
<bofh>
Yeah, I *think* it's always fine here.
<egg|zzz|egg>
1+e > 1, and 1-e is normalized always (when it's smol it's exact)
<egg|zzz|egg>
bofh: my numerics eggsperiments notebook has the function Log2OrSmol :-p
<egg|zzz|egg>
(Log2, except if the argument is 0, in which case it returns smol (which equals -12), so that exact computations show up on the error plots) :-p
<egg|zzz|egg>
bofh: yeah, √((1-e)(1+e)) seems to be at most ever so slightly above 1 ULP both when e is perturbed in the last 8 and in the last 24 bits from 1
<bofh>
LO
<bofh>
LOL*
<bofh>
"Log2OrSmol"
<egg|zzz|egg>
UmbralRaptor: a pinhole cardboard box?
<egg|zzz|egg>
UmbralRaptor: are you projecting on a cat
<UmbralRaptor>
egg|zzz|egg: Diffraction limited optics that us neither reflecting nor refracting elements.
<UmbralRaptor>
s/us/use/
<Qboid>
UmbralRaptor meant to say: egg|zzz|egg: Diffraction limited optics that use neither reflecting nor refracting elements.
<UmbralRaptor>
Comets: where e = 0.957 (1P/Halley) is not extreme.
<UmbralRaptor>
s/5/6/
<bofh>
oh wow I guess Halley is in an orbit
<Qboid>
UmbralRaptor meant to say: Comets: where e = 0.967 (1P/Halley) is not extreme.
<egg|zzz|egg>
that's far from 1 tho
<bofh>
^
<egg|zzz|egg>
but plenty of comets where the uncertainties straddle 1
<egg|zzz|egg>
which means you need to work well in those regions
<egg|zzz|egg>
bofh: yeah, it's the usual thing that over/underflow is rare enough to be ignored at a high level; even √((x-y)(x+y)) should encounter underflow only when x and y are really smol already, so in practice if they're the characteristic lengths of any reasonable orbits you care about conditioning but not underflow (and similarly not overflow)
<egg|zzz|egg>
bofh: also will I manage to find my leekspin tab
<bofh>
egg|zzz|egg: yeah okay I think I'll agree with you there.
<bofh>
also prolly
<egg|zzz|egg>
bofh: I think there's something on the subject by Kahan
<egg|zzz|egg>
you *absolutely need* to think hard about conditioning issues, and virtually never about under/overflow
<egg|zzz|egg>
bofh: so I have 85 tabs across a dozen windows though
<bofh>
I have ~70 tabs open in two windows :P
<egg|zzz|egg>
bofh: but is any of them leekspin :-p