egg|nomz|egg 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> egg|nomz|egg: generally if your eyes are dewing over, that's not the weather. | <ferram4> I shall beat my problems to death with an engineer.
<egg>
bofh: so one crucial question for the error analysis is whether the initial guess has at least as many bits as the computation of the Householder increment loses to rounding, so that I don't have to think about the polynomial evaluation
<egg>
bofh: if that is the case, then on 10'000 random binary64 values in [1, 8] I have a maximal error of 0.5514837305 so it's looking decent
<egg>
(depending on how much the cat tuned his polynomial it may well be better though)
<egg>
bofh: with 11th order Householder I can bring that down to 0.5144613654 and the train stops there, so you're not getting correct rounding just from this
<egg>
(might be worth looking at the performance of 11th order Householder but not today, I should sleep)
<egg>
(although I'd have to look at the errors from the actual implementation to see if the roundings within the Householder increment matter)
awang has quit [Ping timeout: 383 seconds]
<egg>
!u t ⃟o
<Qboid>
U+0074 LATIN SMALL LETTER T (t)
<Qboid>
U+0020 SPACE (␠)
<Qboid>
U+20DF COMBINING ENCLOSING DIAMOND (⃟)
<Qboid>
U+006F LATIN SMALL LETTER O (o)
<bofh>
egg: ehh, < 1ULP error everywhere means you're doing at least as well as Kahan, so.
<egg>
bofh: yes but how good are the cat's polynomials
<egg>
bofh: like you should be able to spend 10 days of computation to tune your nodes to get 0,501 ULP or something, maybe atlas did that
<egg>
(phl did that for a bunch of things in Ada.Numerics.Elementary_Functions)
<bofh>
egg: good question, I just asked him that in DM, will relay reply when I get it
<egg>
bofh: he somehow doesn't document the error on those polynomials which makes me sad
<egg>
bofh: I could try it on random values tomorrow to see what the error looks like but that's no decent analysis
<bofh>
Indeed, especially for doubles where you can't just try every value.
<egg>
bofh: on second thought I'm surprised, why doesn't increasing the order of Householder keep bringing the error down assuming the increment is computed correctly-rounded
<egg>
(bad assumption but let's ignore it for now)
<egg>
you end up with two roundings, but the numbers should differ by a hanful of binary orders of magnitude so wouldn't the first be eaten by that?
<egg>
bofh: now an issue with my implementation is that it's missing rescaling against over/underflows so will break hilariously for large or smol arguments
<egg>
also denormalized values but that's also a matter of rescaling
<egg>
(denormal? subnormal? unnormal? abnormal?)
xShadowx has joined #kspacademia
<bofh>
egg: yeah but scaling is, again, rarely taken branches so perf-wise, meh.
<egg>
true
<egg>
just that I actually need to do it if I want to use this implementation
<bofh>
asfor ypur roundings question, I'm not sure myself. hm.
<egg>
bofh: ... this is turning into writing my own libm for principia isn't it
<bofh>
I mean I legitimately expressed surprise you hadn't already, so :P
<bofh>
Anyway back to staring at polynomials and their Galois groups, really want to figure out whytf this is so strongly linear (I successfully recreated that graph fwiw)
<UmbralRaptor>
"Unlike Munz et.al (2009), we include data taken from specific depictions of zombies in popular culture films and apply Markov Chain Monte Carlo (MCMC) methods on improved dynamical representations of the system."
<UmbralRaptor>
(searching abstracts for "zombie apocalypse" produces interesting results)
Qboid was kicked from #kspacademia by *status [You have been disconnected from the IRC server]
<kmath>
<itsAlexCL> Don’t get me wrong, I think we should have two-step authorization for most systems but we really need to prioritize… https://t.co/6KLvOlyIWJ
<kmath>
<JanelleCShane> Thrilled to have a physical neural net artifact, a dishcloth called diamond diamonds sent to me by SylviaTX from th… https://t.co/B4CuaiXfIa
<bofh>
UmbralRaptor: so a distressing number of university email webmail UIs *default* to reply-all.
* UmbralRaptor
hugs Thunderbird.
<egg|work|egg>
bofh: I've found that corporate mail threads it's often useful (I had to change my default in corp mail otherwise I kept screwing up)
<egg|work|egg>
!wpn bofh
* Qboid
gives bofh a wombat
<egg|work|egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a [DATA EXPUNGED] 雪風
<UmbralRaptor>
!wpn egg|work|egg
* Qboid
gives egg|work|egg an acid-sensing reticle
UmbralRaptor has quit [Quit: Bye]
UmbralRaptop has joined #kspacademia
tawny has joined #kspacademia
<egg|work|egg>
s/corp/in corp/
<Qboid>
egg|work|egg meant to say: bofh: I've found that in corporate mail threads it's often useful (I had to change my default in corp mail otherwise I kept screwing up)
<egg|work|egg>
!wpn bofh
* Qboid
gives bofh an erbium muon
<egg|work|egg>
!u ⬚
<Qboid>
U+2B1A DOTTED SQUARE (⬚)
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|phone|egg has joined #kspacademia
<UmbralRaptop>
"Thanks! It is harder to find the ones that aren't around April Fool's Day. I'll put those up soon.
<UmbralRaptop>
How would you prefer to be acknowledged?
<UmbralRaptop>
"
* UmbralRaptop
is unsure.
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
<UmbralRaptop>
!wpn egg|cell|egg
* Qboid
gives egg|cell|egg a voltage-dependent ringularity
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|phone|egg has joined #kspacademia
<e_14159>
SnoopJeDi: Cool
<e_14159>
Did you see the AI cookies?
<egg|phone|egg>
!Wpn UmbralRaptor
* Qboid
gives UmbralRaptor a lithium LART
<egg|phone|egg>
!Wpn bofh
* Qboid
gives bofh a normal pharmacology with a float attachment
<bofh>
okay so our hail forecast has gone from "dime-sized" to "quarter-sized" to "potentially larger than the size of walnuts" in the last few hours. >_>
<bofh>
!wpn egg|work|egg
* Qboid
gives egg|work|egg a particle Russian turbine
<egg|phone|egg>
The size of walruses
<bofh>
I mean at that point I think you're describing icy meteorites, not hail. :P
<kmath>
<NalteSouz> small brain: an eclipse is a significant astrological event ⏎ big brain: an eclipse is just some random planetary and… https://t.co/eHDJl43bDq
<egg|phone|egg>
Bofh: on the train line next to the office they appear to have switched from catenaries to big overhanging I beams for power O_o
StCypher has joined #kspacademia
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
UmbralRaptor has joined #kspacademia
UmbralRaptor has quit [Client Quit]
UmbralRaptor has joined #kspacademia
UmbralRaptop has quit [Ping timeout: 182 seconds]
<egg|zzz|egg>
bofh: help the cat has nerd-sniped me into trying to find better cbrts
StCypher has quit [Ping timeout: 190 seconds]
<egg|zzz|egg>
bofh: I am surprised that the cat's rounding is that bad tbh, max 0.71814 ULPs on 10 000 random values?
<egg|zzz|egg>
(admittedly mine is 0.90174 so)
<egg|zzz|egg>
(also Kahan's is 0.85599 but I might be using the wrong 5th order method as the second step)
<kmath>
<✔NASA_TESS> There are a ton of ways to find #exoplanets, and many @NASA missions – like @NASAHubble and @NASAKepler - have alre… https://t.co/QHxYTjMp1A
tawny has joined #kspacademia
<UmbralRaptor>
egg|zzz|egg: tabby and cow cats!
<egg|zzz|egg>
no котя-coloured-cats though
<SnoopJeDi>
e_14159, AI cookies?
<SnoopJeDi>
oh a recipe?
<SnoopJeDi>
uh it rings a bell but I probably didn't look closely
<SnoopJeDi>
recipes seem like troublesome subject matter because of the strong dependence on technique
<bofh>
egg|zzz|egg: so at this point I think improving perf further would be a goal :P
<kmath>
<FioraAeterna> @f1ac5 there's a few other possibilities! ⏎ ⏎ 1. you have a fetish for floating point ⏎ 2. you need predictable wrongnes… https://t.co/1lxO0i9PIk
<e_14159>
SnoopJeDi: I originally thought about baking those, but they're actually too complicated for me.
<SnoopJeDi>
I know how you feel, any baking is generally too complex for me
<e_14159>
Not as in "couldn't make them", but as in "can't be bothered"
<SnoopJeDi>
I have made some spent-grain walnut brownies in recent memory, though. Saved two deep baking trays worth of grain after a brew day
<e_14159>
That's why I optimized some pasticcini di mandorle from an internet recipe to what it is today - with a bit of work, I could make it fit the packaging contents exactly, so I don't really have to weigh anything.
<e_14159>
I should bake them again :-)
<SnoopJeDi>
speaking of cooking, I softboiled an egg last night for noodles, but underdid it a bit and ended up with an egg-cup appropriate softboiled egg. I can see what the UK is on about.
<egg|zzz|egg>
softboiled me?
<SnoopJeDi>
!wpn -add:adj soft-boiled
<Qboid>
SnoopJeDi: Adjective added!
<egg|zzz|egg>
bofh: do you feel like eggsplaining numerical linear algebra on ##openfpga in freenode
<egg|zzz|egg>
bofh: somebody is trying to figure out why a matrix is ill-conditioned and I'm not good at this stuff
<bofh>
egg|zzz|egg: depends on what they want to do with the matrix
<bofh>
I'll uh try
<egg|zzz|egg>
bofh: they have started clarifying where their matrix comes from after much stabbing
<egg|zzz|egg>
bofh: it is quickly turning into an optimization problem
<egg|zzz|egg>
!wpn armed_troop
* Qboid
gives armed_troop a Renesas spectrometer
<bofh>
egg|zzz|egg: yeah, this sounds like a matrix you get from a graph optimization problem
<egg|zzz|egg>
bofh: well scroll down, it's not even a linear system at the end of the day
<bofh>
my first question would be: does the matrix have *any* structure (specifically, is it symmetric/hermitian?), since that affects how I proceed.
<egg|zzz|egg>
(not a linear equation at least)
<egg|zzz|egg>
bofh: also you might want to ask those questions in the channel directly :-p
<egg|zzz|egg>
bofh: but it doesn't seem to have much in the way of structure, it's a bunch of inconsistent equations
<egg|zzz|egg>
bofh: linear combinations with integer coefficients so at leas there's that
<bofh>
this is sounding more and more like an integer programming problem by the second -_-
<egg|zzz|egg>
yeaaaaah
<bofh>
and like he's getting weird not-quite equalities b/c what he actually wants is a constrained optimization routine with linear *inequality constraints*.
<armed_troop>
heh, of course it becomes optimization
<bofh>
the fact that this is a dense matrix derived from a much larger sparse matrix that gives useful answers pretty much confirms it to me.
<armed_troop>
(I'm struggling through a much too fast paced convex optimization class :/ )
<egg|zzz|egg>
bofh: basically they're still trying to remove linearly dependendent bits so there's something there
<bofh>
egg|zzz|egg: sec, I'll hop into ##openfpga
<bofh>
armed_troop: I took way too much optimization back in the day and still remember most if not all of it, please poke me if you're having any questions (I love discussing it).
<armed_troop>
bofh: you familiar with the Boyd text?
<armed_troop>
he's got lots of proof problems that are difficult to understand how to solve
<bofh>
Boyd & Vanderberghe? Yeah. It's the standard one.
<bofh>
First question: how's your ~elementary functional analysis / convex geometry background?
<armed_troop>
not strong
<armed_troop>
I have a reasonable amount of background in linear algebra and applications
<armed_troop>
(electrical engineering masters student here, not math)
<SnoopJeDi>
< armed_troop> heh, of course it becomes optimization
<SnoopJeDi>
are there any problems that *aren't* optimization problems? :P
<bofh>
armed_troop: are you familiar with the hahn-banach separation theorem and how you use it to prove weak duality? also about the notion of extreme points of convex sets (and how taking the closure of the convex hull of them gives you back the whole set)?
<armed_troop>
that... doesn't seem to be stuff we went over :(
<armed_troop>
(we did go over weak and strong duality)
* egg|zzz|egg
cannot into optimization in the slightest
<APlayer>
You should eggspand your knowledge space :P
<egg|zzz|egg>
bofh: so I regret to inform you that 1 round of Newton on the inverse + 1 round of 6th order Householder direct is slower than the cat (but still faster than Kahan) and has slightly worse rounding than just 10th order Householder (which surprises me, the initial guess is better so I'd expect moar bits?!)
<bofh>
armed_troop: okay, so for weak duality did they just tell you to assume that given a feasible solution the primal solution always winds up being greater or equal to the dual solution
<bofh>
egg|zzz|egg: Huh. Yeah, that's surprising to me too honestly.
<bofh>
armed_troop: erm, add a ? to the end of my sentence there lol.
<armed_troop>
I recall we went over Slater's constraint qualification (as in the Boyd slides)
<SnoopJeDi>
oh cool, so that Floquet theorem nuance thing that I brought up months ago in the lab and got yelled at for is now a superb idea now that someone else has had it >:|
<bofh>
armed_troop: oh, if your SDP has Slater points there's no duality gap? good. do you understand *why* it holds?
UmbralRaptor is now known as DielectricRaptor
* DielectricRaptor
pokes polarization with a stick.
APlayer has quit [Ping timeout: 383 seconds]
* egg|zzz|egg
stares at twitter
<DielectricRaptor>
Summer funding status: grad 6 students applied for 2 spots.
* DielectricRaptor
was not one of them. =\
<DielectricRaptor>
(only one student in our research group got summer funding, so…)
<kmath>
<jotajotahermes> There's a hard deadline to how long @NASAHubble will stay in space: It is dragging through Earth's atmosphere. HST… https://t.co/Ek6fafZMLb
DielectricRaptor has quit [Quit: Bye]
UmbralRaptop has joined #kspacademia
UmbralRaptor has joined #kspacademia
UmbralRaptop has quit [Ping timeout: 190 seconds]
SnoopJeDi has quit [Ping timeout: 198 seconds]
<egg|zzz|egg>
!wpn whitequark
* Qboid
gives whitequark a helical distribution with a ring attachment
<egg|zzz|egg>
!wpn котя
* Qboid
gives котя a dysprosium upboat which strongly resembles a repeater
<kmath>
<DrKeithSmith> Every NAM needs a bingo card, so here's one for @ewass2018. Use #nambingo to let us know how you get on! #ewass2018… https://t.co/Fbc5OW71Lz
<egg|zzz|egg>
bofh: wait how do you decently compute (x^3 - y)
<egg|zzz|egg>
because I'm pretty sure that's why I get 0.9 ULPs, this cancels exactly where I want to have bits
<bofh>
egg|zzz|egg: uh the lazy way? double-double. tho personally I prefer just comparing against the value from libc sqrt anyhow.
<egg|zzz|egg>
bofh: wait what I don't get how you summon an sqrt into this
<egg|zzz|egg>
bofh: also double-double multiplication would involve fmas and I'm doing this without them
<bofh>
er. libc cbrt*
StCypher has joined #kspacademia
<egg|zzz|egg>
bofh: uh, to compute a cube root? I, um, wat
<egg|zzz|egg>
bofh: am I trapped in a graduate text in mathematics
<bofh>
egg|zzz|egg: so instead of taking x = my_cbrt(y) and checking (x^3 - y), I take x = my_cbrt(y), z = cbrt(y) and check (x - z) :P
<bofh>
this obviously assumes correctness on the part of libc cbrt, but solves the issue of having to implement double-double FMAs and whatnot