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.
<bofh>
Fiora: damn. I think my respect for him just went up even more and it was already around DBL_MAX to begin with.
<bofh>
egg|zzz|egg: he is mentioned in the IEEE754-2008 spec as a contributor, yes.
<bofh>
page vi, he's one of the Floating Point working group.
e_14159 has quit [Ping timeout: 200 seconds]
Technicalfool is now known as tfsleep
e_14159 has joined #kspacademia
<Fiora>
i'm actually slightly annoyed i don't get to work with him as a numerics person, since he mostly works with Accelerate and friends and avoids GPU stuff
<Fiora>
because the GPU numerics people are significantly less cool
<bofh>
well GPU numerics stuff doesn't quite seem his thing from what I've gathered
<Fiora>
well yes, he's only like, 70% masochistic
<Fiora>
then again, one could argue gpu numerics isn't nearly as bad, since fuck nans with a rusty spoon
<bofh>
NaNs/gremlins aren't that bad IMO
<bofh>
tho fuck them every time one lands in a feedback filter routine.
<Fiora>
you: nans are important
<Fiora>
me: I believe 0 * x should be 0
<bofh>
even in the case where x = Inf?
<bofh>
like I mean I often have to patch shit to do exactly that
<bofh>
so tbh I am torn between my mathematical background which objects, and my audio codec dev background which does exactly the same as you
<Fiora>
i'm in compilers so i want everything * 0 to optimize to 0 :P
<bofh>
touché.
icefire has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
egg|cell|egg has quit [Remote host closed the connection]
ferram4 has quit [Read error: Connection reset by peer]
ferram4 has joined #kspacademia
<whitequark>
Fiora: re apple letting him work remotely: wow.
<whitequark>
"say no more"
<Fiora>
he told me a story once that went something like this
<Fiora>
some new bigwig came into power and noticed scanon was remote and was like, no, you need to come on campus, that's policy
<Fiora>
steve canon said uh, lol, no.
<Fiora>
it was a very short period of time before the bigwig had been informed by a very large number of people, including other bigwigs, that he is not to hand off their best math person to another company.
<Fiora>
he still works remote from his family home in new england.
u_nu has joined #kspacademia
u_nu has left #kspacademia [#kspacademia]
<egg|zzz|egg>
o/ bofh Fiora whitequark
<egg|zzz|egg>
<Fiora> i'm in compilers so i want everything * 0 to optimize to 0 :P << phl had to regularly complain to the optimization people when he did the numerics libs for Apex, because they'd introduce an optimization that was incorrect and broke some linear algebra thing :-p
<egg|zzz|egg>
Fiora: but hey, at least anything * 1 and anything / 1 you can safely optimize
<egg|zzz|egg>
which for physics porpoises is probably more useful, that way you can wrap things in physical quantity types and * Metre or / Second get optimized away
<egg|zzz|egg>
bofh: also I think he has a series of tweet about the confusing terminology of C++'s std::numeric_limits<double>, I have to say it applies to DBL_MAX too >_<
<kmath>
<stephentyrone> Open to questions about numerical computation, from microarchitecture, assembly, details of floating-point and inte… https://t.co/ZUBqR6uP38
<egg|work|egg>
bofh: also about that composition of high/low vs. low/high condition thing, I find it odd
TonyC1 has joined #kspacademia
APlayer has joined #kspacademia
<egg|work|egg>
:q
<egg|work|egg>
um.
tfsleep is now known as Technicalfool
BPlayer has joined #kspacademia
APlayer has quit [Ping timeout: 204 seconds]
BPlayer is now known as APlayer
<egg|work|egg>
<Fiora> i'm in compilers so i want everything * 0 to optimize to 0 :P <<< also, that goes beyond just ignoring NaN, it screws with signed 0, and that's really bad
<APlayer>
I asked a few days ago, but it seems everyone (including me ;-) ) forgot about that... How does one calculate the closest approach between two objects orbiting the same body, as shown in KSP's map view?
<egg|work|egg>
APlayer: I don't think there's an analytic solution, just look for the minimum distance with a root finding algorithm
<APlayer>
Why is there never a sane answer to my questions? :-( LOL
<APlayer>
Oh well, we chose to do physics and maths not because it is easy, but because it is hard.
<egg|work|egg>
or gradient descent I guess
<bofh>
egg|work|egg: it *is* odd
<egg|work|egg>
o/ bofh
<egg|work|egg>
!wpn bofh
* Qboid
gives bofh a hydrofluoroolefin with a † attachment
<bofh>
also multiple-arg functions are helk
<bofh>
hell*
<egg|work|egg>
bofh: "it" refers to the composition thing?
<egg|work|egg>
bofh: and yes, that's the understanding I got from multi-arg functions, but I wonder whether there's more to it than "Lasciate ogne speranza, voi ch'intrate"
APlayer has quit [Ping timeout: 383 seconds]
<bofh>
oh prolly, I'd ask @stephentyrone tho
<egg|work|egg>
bofh: I'll do that when I get back home then
<egg|work|egg>
bofh: also is helk hell for elk
<bofh>
yep yep
<egg|work|egg>
bofh: any idea for APlayer's question?
<bofh>
sec. it's a hard one.
<egg|work|egg>
bofh: random principia-related question: what's the tangent bundle of the projective plane?
<Fiora>
egg|afk|egg: the critical reason why we need to optimize x * 0 is because people write GL/etc code with vectors that contain zeroes
<APlayer>
Sorry, lost my connection and had to go afterwards. I am back now - did I miss any answers?
<Fiora>
the other big reason why it's important is when you have lots of templated/inlined code people end up with x + 0 and x * 0 without it being obvious to the programmer
<Fiora>
and no, x+0 isn't equal to x. x + -0, however, is.
<Fiora>
another important optimization is being able to use higher precision than the programmer asked for
egg|phone|egg has joined #kspacademia
<Fiora>
ex: float res = half1 * half2; can be optimized into the single instruction float res = (float)half1 * (float)half2;
<bofh>
APlayer: not yet, it's a nasty tricky problem
<egg|phone|egg>
;rpn -0 0 +
<kmath>
egg|phone|egg: 0.0
<egg|phone|egg>
;rpn -0 -0 +
<kmath>
egg|phone|egg: -0.0
<Fiora>
yup. you got it
<egg|phone|egg>
Right
<egg|phone|egg>
That makes sense
<Fiora>
that's why in LLVM, "negate" is represented as %1 = fsub float -0.0, %0
<egg|phone|egg>
Fiora: i knew about +0 not being moo, had not realized -0 was
<APlayer>
I wonder why I keep wanting to know things that are nasty and tricky
<egg|phone|egg>
Fiora: nop not moo, autocorrect
<egg|phone|egg>
I mean I'm more likely to say moo than nop I guess
<Fiora>
of course, you and your silly IEEE. you should feel lucky to have chips where 0 *x == x * 0 ;-)
<Fiora>
(The PS2 VU's float unit wasn't commutative)
<egg|phone|egg>
Fiora: wat
<Fiora>
yes.
<bofh>
what
<bofh>
why/how?
<Fiora>
its rounding mode was "round to whatever"
<egg|phone|egg>
...
<bofh>
amazing
<Fiora>
it literally was not even commutative.
<Fiora>
x * 1 and 1 * x were not the same, and not necessarily x.
<egg|phone|egg>
Fiora: but yeah, signed 0 being respected matters, at least outside the GPU world :-p
<Fiora>
or the PPC 750CL which is just all kinds of fun
<Fiora>
its float FMA is "mixed precision"
<egg|phone|egg>
Um
<bofh>
UM.
<bofh>
I have many questions.
<Fiora>
here's how it works.
<Fiora>
this has been confirmed through hardware testing.
<bofh>
(always a good start)
<Fiora>
powerpc, in its infinite wisdom, decided x87 was a great idea.
<egg|phone|egg>
Fiora: you still do floating point arithmetic with a cauldron around here?
<Fiora>
that is, floating point is implemented with 64-bit internal registers, regardless of whether you're using float or double
<Fiora>
"floats" are stored as doubles.
<Fiora>
a "float" operation is just equivalent to a double operation where you clamp to float at the end, from a user perspective.
<Fiora>
this is universal to PPC.
<bofh>
thanks, Kahan. Thahan.
<Fiora>
lol
<Fiora>
now, this also means you can use float arithmetic on doubles. because they're all technically the same.
<egg|phone|egg>
Bofh: where does that même come from
<Fiora>
egg|phone|egg: "look around you"
<bofh>
egg|phone|egg: look around you, episode 2 iirc
<bofh>
was it sulfur, calcium or maths? I can't recall.
<UmbralRaptor>
APlayer: to belatedly answer your question, can I assume coplanar ellipses not in a resonance? >_>
<Fiora>
on PPC arch as a whole, this is undefined in the arch spec. however, it does work. on the 750CL, in the private arch spec given to nintendo, it *is* defined. presumably, this is how it works in general, but on other chips they didn't want to publicly document it as okay.
<Fiora>
the practical purpose is that converting between float and double is free.
<Fiora>
since they're all the same thing.
<APlayer>
UmbralRaptor: Uh, I don't know. I guess yes, that seems pretty unlikely.
<Fiora>
however, this comes with a small catch.
<Fiora>
the internal multiply unit in the PPC750CL is a 56x28 multiplier. the adder is 56+56. this lets it do double/float adds in one cycle, and double multiplies in two, and float multiplies in one.
<Fiora>
so to do a double multiply/fma you just throw it into the multiplier twice.
FluffyFoxeh has quit [Quit: El Psy Kongroo!]
<Fiora>
(56 because 53 + 3 guard bits)
<bofh>
jesus fuck.
<Fiora>
this is still extremely normal.
<Fiora>
nothing weird here. now the weird part comes in.
<UmbralRaptor>
(Can I make simplifying assumptions to the point an analytic solution exists?)
<Fiora>
when you do a float FMA/mul, you're doing d = a * b + c;
<bofh>
Yeah.
<Fiora>
it then does a 56x28 multiply, reading 53 bits of a, 25 bits of b, and 53 bits of c.
<Fiora>
25 bits of b, huh? wait, that's neither float nor double!
<APlayer>
UmbralRaptor: I am looking for an algorithm or something I can implement to facilitate rendezvous, ASAT missiles and stuff in kOS
<bofh>
uhh.
<Fiora>
the correct behavior to emulate this is to round b to 25 bit precision before performing the FMA.
<bofh>
it has a 56x28-bit mul, why does it drop down to 25?
<Fiora>
3 guard bits
<bofh>
Oh. Oh my god.
<bofh>
I see now.
<Fiora>
So the result of this is that the FMA takes 53 bits from a, 25 bits from b, and 53 bits from c (in terms of mantissa).
<Fiora>
now, if you were doing an *FMUL*, this would be invisible
<egg|phone|egg>
. . .. ... .....
<Fiora>
because the rounding of the result would mean those bits would be lost anyways.
<Fiora>
But in FMA, because of cancellation, these bits actually matter.
<Fiora>
correctly emulating this is necessary to make physics work correctly in multiple gamecube/wii games, and mariokart ghosts desync almost immediately without it as well.
<bofh>
...
<bofh>
............amazing.
FluffyFoxeh has joined #kspacademia
<Fiora>
(fortunately you can do it in 4 insructions.)
<egg|phone|egg>
Also bofh, Fiora got deopped somehow, can you fix that
<Fiora>
(bit-exact asm implementation of ppc frsqrte, for x86)
<bofh>
I take it starting from rsqrtss would fail to be bit-exact sufficiently often that there's no point in using it even in special cases?
<Fiora>
no point, since we're trying to match *ppc's* estimate
<Fiora>
which is entirely different from x86's
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
* egg|afk|egg
back
* egg|afk|egg
stabs the heat
egg|afk|egg is now known as egg
<egg>
!wpn Fiora, bofh, et al.
* Qboid
gives Fiora, bofh, et al. a lego infinite error
<egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a solenoidal cobolt cone
* UmbralRaptor
adiabatically expands egg.
<UmbralRaptor>
APlayer: stabbity.
<APlayer>
Stabbity?
<APlayer>
Pongity?
<UmbralRaptor>
In the process of writing out an equation, and realizing that I have a bunch of trig functions that will probably not play nice.
<UmbralRaptor>
Hence why egg et al suggested something numeric. (Also, my phone tried numeric → uneducated o_O)
<bofh>
egg: I will say that after Shanghai the heat here in IL doesn't bother me much anymore.
<APlayer>
UmbralRaptor: Okay, thanks a lot. You should have told me you were writing equations, I would have stopped you. ;-)
<UmbralRaptor>
hah
<egg>
bofh: israel or illinois?
<APlayer>
I really just need a nudge on how to approach that, or, if there is a widely used solution, a link or something for that.
* UmbralRaptor
notes that it hit 310 K the other day.
<egg>
bofh: also, "2 questions: 1. same as @kittenpies3's but for multiple arguments; 2. is it true that if f=g₁∘h₁=g₂∘h₂ and κ(g₁)>κ(g₂), g₁∘h₁ is preferable?" is 140 codepoints, but is it clear enough
* egg
is bad at twitter
* UmbralRaptor
is unsure how egg survives without A/C.
<egg>
bofh: also did I get my inequality in the direction that we think is right
<egg>
bofh: PVG?
<bofh>
I tend to abbreviate cities by local airports sometimes, old bad habit.
<APlayer>
Let me try to think over it a bit, because, off the top of my head, I don't see how finding the root of a function would give me the closest approach. But let me try it myself first.
<bofh>
So Shanghai -> Pudong Int'l.
<APlayer>
Anyway, got to go for now - see you later!
<egg>
bofh: tbh I do that too, because my company does that
<egg>
e.g. MTV, SBO, ZRH, PAR
<bofh>
yeah so ones to add would be PEK, HKG and PVG. Also WUH I suppose.
<bofh>
also yes I believe your condition number inequality is in the correct direction.
<bofh>
(granted my unicode is partially failing due to my terminal font missing a few symbols, so sec)
<kmath>
<FioraAeterna> idea: borosilicate glass windows for houses so they don't start making creaking and clicking noises when the sun hits them in the morning
<kmath>
<eggleroy> @stephentyrone 2 questions: 1. same as @kittenpies3's but for multiple arguments; 2. is it true that if f=g₁∘h₁=g₂∘… https://t.co/GBhxpqwtYl
<bofh>
egg: ++
<egg>
bofh: I guess as phrased it's incorrect, but the interesting case is when the condition is *large* (tending to infinity) and the functions have well bounded error
<egg>
tweeting accurately is hard :-p
<bofh>
you can always follow it with a clarification, 140 chars is a pain in the arse
<egg>
bofh: is "(assuming we are dealing with gᵢ, hᵢ that can be computed with a nicely bounded number of ULPs)" a good enough clarification
<egg>
!u ᵢ
<Qboid>
U+1D62 LATIN SUBSCRIPT SMALL LETTER I (ᵢ)
<egg>
well I guess (assuming we are dealing with gᵢ, hᵢ that can be computed with a nicely bounded number of ULPs and the conditions get large)
<egg>
otherwise we have to say that they're all the same number of ULPs
<bofh>
yeah, is okay
<e_14159>
egg: 25° right now?
<egg>
e_14159: inside, yes
<e_14159>
Ah, okay. I was thinking I was stuck on the wrong side of the Alps :-)
<egg>
so tomorrow it will apparently go to 32°C outside here
<bofh>
random stupid thought: I wonder how an NaCl : MSG cocrystal would look like.
<e_14159>
egg: Same here.
<e_14159>
And no, we don't have air conditioning at work. OTOH, third floor and open windows work acceptably well.
<APlayer>
egg: Could you give me a hint on the closest approach finding problem I asked about?
<egg>
as UmbralRaptor said, I think you're going to have to go with a numerical approach
<APlayer>
I.e. how to approach the formula (see what I did there? :P) for which I need to find a root
<egg>
I think gradient descent might be better for that problem?
<egg>
you're looking for a minimum of the distance between the vessels
<APlayer>
Or just get the orbital positions for time t, get the distance between the objects and do a binary search until I narrowed down the result sufficiently?
<egg>
so you can gradient-descent it towards the next minimum
<egg>
APlayer: yes, that would work too
<egg>
perhaps less efficient, but maybe simpler
<UmbralRaptor>
^
<APlayer>
Just a second, looking up gradient descents on wikipedia
<bofh>
egg: huh. well I guess the smoke cloud would necessitate constructing the additional TLM station
<APlayer>
"[...] hopefully the sequence [...] converges to the desired local minimum." - the "hopefully" does not sound exactly promising?
<bofh>
ahh, you've discovered the "wonders" of gradient descent.
<egg>
bofh: or any root finding smarter than dichotomy :-p
<bofh>
another algorithm for which the description "works everytime, 60% of the time" is accurate.
<bofh>
egg: okay, true.
<egg>
bofh: principia has only one root finder, it's Bisection
<bofh>
any reason why? I'dve expected at least Gradient Descent.
<egg>
bofh: specifically, Bisection til bisecting more yields equality, because we love ULPs :-p
<APlayer>
But what is that? I mean, I can rely on that method, can I not?
<bofh>
And possibly also a quasi-Newton method or two as well.
<egg>
bofh: because it's easy to implement and we haven't had a need for fast root finding
<APlayer>
Why "hopefully"?
<egg>
bofh: instead we have a collection of integrators because swimming in the sea of integration papers is fun :-p
<APlayer>
And how come do I, eg.g, bo.fh and Um.bral all have the same color in my IRC client?! :/
<egg>
same here
<egg>
yeah, you have hexchat
<bofh>
egg: I will argue both are fun, but I have more experience with root-finding (well, to be pedantic, constrained minimization)
<APlayer>
There are a total of five people that are colored pink on this channel right now, and four of them are currently participating in this conversation
<bofh>
what is this "colour" in irc you speak of? :P (am using irssi)
<egg>
bofh: well, there's more paper-digging to do with integrators
<bofh>
okay, true if we're comparing to root-finding, false if compared to constrained minimization problems in general.
<bofh>
unless you are somehow now able to implement primal-dual interior-point blindfolded w/o refs :P
<egg>
bofh: yeah; we will need constrained minimizators, eventually, when I decide to be interested in trajectory optimization; for now just root finding for apsides and whatnot
<egg>
bofh: "when I decide to be interested in trajectory optimization" << when combined with lamont's ascent code, if we get to this point things will be "I would like to get to the mercury please" *churn* *flies a 20-gravity assist trajectory* I guess :-p
<APlayer>
egg: Could you explain the formula following "Ausgehend von einem Anfangspunkt x_0 wird die Richtung des steilsten Abstiegs durch" at https://de.wikipedia.org/wiki/Gradientenverfahren, paragraph "Das Verfahren"?
<egg>
it's the gradient
<egg>
it says so
<egg>
{\displaystyle \nabla f(x^{(j)})} {\displaystyle \nabla f(x^{(j)})} den Gradienten von {\displaystyle f} f an der Stelle {\displaystyle x^{(j)}} x^{{(j)}} bezeichnet.
<APlayer>
No, I mean explain the formula. Not what it is, but what it does
<egg>
bofh: I am suddenly tempted to define it as a function of the differential operator and the inner product but I feel like it would not help
<egg>
bofh: ... fortunately the wiki article I linked does that :D
<bofh>
egg: so like that is actually how I was introduced to it in my advanced calculus course but it's fairly opaque if one lacks the analysis background IMO
<egg>
bofh: yes
<APlayer>
Oh boy
<egg>
bofh: but, look at Definition in that article I linked :-p
* APlayer
chooses the binary search implementation
<egg>
bofh: I think if you click links on that you'll end up doing differential geometry II
<bofh>
that *is* what I'm thinking of, i.e. the Exterior Derivative?
<egg>
yes
<egg>
"Sei {\displaystyle M} M eine {\displaystyle n} n-dimensionale glatte Mannigfaltigkeit"
<APlayer>
Thanks for nudging me in the right direction, egg, bofh, Umbral!
<egg>
yup you're in for Differentialgeometrie II
<APlayer>
On another note, I received a 15 € book gift card an
<egg>
bofh: okay maybe just Differentialgeometrie I, I see no metrics
<APlayer>
and looking for a book I can spend it on*
<UmbralRaptor>
The coplanar case is 1D, so it should take serious effort for a numeric approach to not converge. <_<
<egg>
yeah
<APlayer>
Is there anything you could recommend exactly on these topics? I.e. I clearly lack an understanding of the maths you give me here, even if I manage to implement them with lots of help.
<bofh>
hmm.
* UmbralRaptor
actually struggles a lot with the details of numerics.
<bofh>
calculus on manifolds by spivak possibly?
<bofh>
as for numerics? nfi.
<egg>
bofh: uh I could link some ethz lecture notes in german, they might be free too :-p
<egg>
bofh: lol, the references are basically "all Hairer all the time"
<bofh>
Somehow, not at all surprised.
<APlayer>
I believe all of my questions here so far resulted in something numerics related, yes
<APlayer>
Except the ascent algorithms
<egg>
um
<egg>
that's optimization
<egg>
:-p
<egg>
but numerics is vast, so pointing you to the right bits of it can be tricky
<egg>
no need for you to learn about low level floating-point tricks (I mean it's fun and useful and then Fiora comes up with an insane chip that breaks it all)
<bofh>
^
<APlayer>
Well, really, for now I am looking to get a basic introduction. Because what happens here is a crash course, currently. :P
<egg>
bofh: not sure whether the above is good, it's certainly a bit large-scoped
egg is now known as egg|nomz|egg
<egg|nomz|egg>
afknomz
<APlayer>
Humm, thanks a lot
<bofh>
egg|nomz|egg: so that seems reasonable for calculus, which is large-scoped to begin with.
ferram4 has joined #kspacademia
<UmbralRaptor>
So SDSS DR14 is 156 TB, but all of sci-hub is only ~60 TB?
* UmbralRaptor
ponders.
<bofh>
SDSS?
<Qboid>
bofh: [SDSS] => Sloan Digital Sky Survey
<bofh>
so like sci-hub is just a paper archive, no supplementary data
<egg|nomz|egg>
bofh: it's the course I had in calculus, back in 2011 2012
<egg|nomz|egg>
in fact I might have a printout of that somewhere that I used to revise for the eggsams
egg|nomz|egg is now known as egg
* e_14159
was summoned by Gradient Descent.
<e_14159>
Gradient Descent is almost guaranteed to converge to a minimum eventually.
<e_14159>
* Terms and conditions apply. Minimum might not be global minimum. Minimum probably isn't local minimum.
<egg>
Faust, but for optimization
<e_14159>
Ich bin ein Teil von jener Kraft/die stets globales sucht/und doch nur lokal schafft.
<e_14159>
The rhythm got all screwed up :-/
<egg>
e_14159: also clearly you should write that Theil :-p
<e_14159>
So ist denn alles was ihr Sünde,/ Zerstörung, kurz Numerik nennt/mein eigentliches Element
<egg>
:D
<APlayer>
No, I shall use binary search. Gradient descent is too complicated. :/
<egg>
APlayer: it's not fundamentally hard, defining it for a a general function on some arbitrary manifold is hard, but also rather pointless
<egg>
but in this case you wish to minimize the distance between vessels, so the gradient is their relative velocity
<egg>
follow that til you reach the minimum
<APlayer>
I mean I didn't even understand how to use the formula...
<APlayer>
BRB
<APlayer>
Back
<SnoopJeDi>
Gradient descent can be summarized as "walk directly downhill to go down fast"
<bofh>
That's a good summary, actually.
<SnoopJeDi>
So the problem is an iteration of 1) find out where "downhill" points, 2) step that direction, 3) repeat
<SnoopJeDi>
there's lots of little finicky details because how big a step you take can influence the results of (1) but in general that's all there is to it
SilverFoxy has joined #kspacademia
SilverFox has quit [Ping timeout: 186 seconds]
<APlayer>
Yeah, I figured so much, but it needs me to know the derivative and involves vector fields? And what about the zig-zagging? If it goes directly downwards
SilverFoxy is now known as SilverFox
<APlayer>
I currently have some serious mash in my head... Sorry :/
<SnoopJeDi>
Yea, the interpretation you want there is that the derivative (the gradient operator ∇) points "uphill" (so downhill is the other way)
<SnoopJeDi>
The zig-zagging is because you take a step and then look for the new "downhill" direction, so it depends on how big your steps are.
<SnoopJeDi>
If you imagine a valley, but your step-size is the size of the valley, that loop just has you stepping across the valley repeatedly. This is a characteristic problem with more naïve optimization schemes
<SnoopJeDi>
A *lot* of the fancy dressing in numerical analysis is about "shaking things up" enough to avoid convergence problems
icefire has joined #kspacademia
<SnoopJeDi>
But those can be very coarsely summarized as "be clever when you pick your step size"
<SnoopJeDi>
There's no reason the next step you take has to be the same size as the one you just took.
<egg>
also in this case you're optimizing a 1-argument function so it's rather easy
* SnoopJeDi
has always been fond of topological map analogies in class
<SnoopJeDi>
Which is a shame because so few college students know how to read a topo ?
APlayer has quit [Ping timeout: 204 seconds]
APlayer has joined #kspacademia
<egg>
!u ?
<Qboid>
U+1F643 UPSIDE-DOWN FACE (?)
<APlayer>
Woops, lost connection
<egg>
SnoopJeDi: um, topographic surely?
<APlayer>
Something's wrong with my WIFI setup. Got to fix it
<SnoopJeDi>
...yes.
<SnoopJeDi>
I've got bad brain, egg
<egg>
or is it a map that tells you how many holes there are on your planet :-p
<egg>
*unfolds map* "we are on a manifold without boundary whose Euler characteristic is 2; the manifold is orientable, we are on the outside"
<bofh>
LOL
<SnoopJeDi>
?️
<bofh>
!u ️
<Qboid>
U+FE0F VARIATION SELECTOR-16 (◌️)
<APlayer>
egg: This map should be a !wpn
<SnoopJeDi>
!wpn -add:wpn map
<Qboid>
SnoopJeDi: Weapon added!
<SnoopJeDi>
surprised it wasn't in there to begin with
<bofh>
Same
<bofh>
!wpn APlayer, egg and SnoopJeDi
* Qboid
gives APlayer, egg and SnoopJeDi a chi egg|zzz|egg/Qboid hybrid
<SnoopJeDi>
!wpn bofh
* Qboid
gives bofh a krypton aluminium ellipse with a varistor attachment
<Thomas>
egg: Re: Kountdown functionality for Qboid: I could do that, or I just take cactus code and launch my own wille/sopel/whatever bot :D
<egg>
Thomas: yeah but then again you have a nice bot framework with Qboid
APlayer has quit [Ping timeout: 204 seconds]
<Ellied>
Horrible discovery: LEMO connectors fit inside the insulators of SHV sockets, and the center pins can touch. LEMO is designed for low voltage, so if the SHV socket were live at the full 5000 volts at the time, the cable might fail short, and in that case, the outer metal jacket of the LEMO connector would just be touching the insulation of the SHV and not the ground, so it would immediately
<Ellied>
go live under the fingertips of whoever was holding it.
<Ellied>
that's almost worse than the MHV/BNC thing.
<bofh>
yum, 5kV
<UmbralRaptor>
Arc flash?
<UmbralRaptor>
SnoopJeDi: is there an IOPC perchance? (Python, not Perl)
<SnoopJeDi>
UmbralRaptor, IOPC?
<UmbralRaptor>
International Obfuscated Python Contest
<UmbralRaptor>
Blame the IOCC.
<SnoopJeDi>
oh, re: that Penrose program? Dunno about an official one, but deliberate obfuscation abounds :P
<SnoopJeDi>
I would wager probably 80% of the pandas code ever written?
<SnoopJeDi>
someone in #python dropped the lovely nugget "list incomprehension" the other day :D
<xShadowx>
as i said hollywood, though figured no atmo, no filtering energy / wavelengths, and thought itd be atleast worse than on earth surface
<Fiora>
you can't have "no filtering", because you have to be inside a pressurized chamber!
<Fiora>
since you're in space.
<Fiora>
the sun does emit higher energy light than UVB that can't pierce the atmosphere (with or without ozone) but e.g. UVC is completely absorbed by almost every solid material you could use, including glass, acrylic, etc
<Fiora>
to the point where it's actually absorbed by your own dead skin before it reaches live cells in most cases
<Fiora>
now, you want something that's dangerous to look at? way more dangerous than the sun in space?
<Fiora>
an arc welder
<egg>
Fiora: which reminds me I've seen people welding without a mask in Saigon D:
<Fiora>
holy fuck
<Fiora>
like, you think the sun is bad
<Fiora>
an arc welder at 0.5m away is (very roughly) like... 1kw/m^2. so, similar to the sun.
<xShadowx>
XD
<Fiora>
BUT way more UV-biased.
<egg>
yeah
<Fiora>
because of the black body curve center
<Fiora>
you can get horrible burns in seconds in the worst case
<egg>
I mean, from afar it's already obnoxiously bright
<Fiora>
also destroy your eyes
* xShadowx
wants to make his kerbals go blind if they stare at the sun too long
<Fiora>
so yeah i suspect arc welders on earth are much, much worse than the sun in space.
<xShadowx>
arent the old arc lamps in the same boat?
<xShadowx>
when electric lighting first started, before the bulb, arc lamps, i accually seen one of those old things still workin, thing freakin bright
<Fiora>
from a black body perspective: the sun is ~5800K and arc welders can reach ~30K
<Fiora>
*30,000K
<egg>
bofh: hm, with b > a, can a + (b - a) be greater than b
<egg>
or Fiora ^ (assume IEEE 754 arithmetic, I'm sure on a Cray it can be anything :-p)
Wetmelon has joined #kspacademia
<xShadowx>
Fiora: so...the only real effect would be blindness? and how long of duration for staring until blindness? though i guess it would be more of a gradual effect, so any chart for duration of exposure vs blindness level?
SilverFox has quit [Ping timeout: 201 seconds]
SilverFox has joined #kspacademia
<Iskierka>
high temperature doesn't necessarily mean high brightness, if it's very small