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.
<bofh> Ugh, every so often someone RTs @HistoryInPix onto my TL and *every single fucking time* 5 seconds of reverse-google-image-search reveals the image description is complete bullshit.
<bofh> (I mean sometimes it's hilarious, like when it autoscrapes @HistreePix without knowing that's, like, a parody account)
<bofh> I should just block it but I honestly just want to see if one day it will actually be correct, like, even once.
<egg|zzz|egg> bofh: so, there is a map dim from quantities to dimensions; dimensions form an abelian group; for each dimension the preimage of dim is a 1-dimensional real vector space; the set of all quantities excluding 0 (0s?), and including the reals, forms an abelian multiplicative group which extends the dimensionless-dimensionful multiplication; dim is a group homomorphism
<egg|zzz|egg> is there more structure?
<egg|zzz|egg> hm, the 1d spaces are oriented too
<bofh> wait, they are?
<egg|zzz|egg> well yes, 1 m > 0 m > -1 m
<egg|zzz|egg> there is a unit-free concept of a length being positive
<bofh> Is that an orientation or just a partial order?
<egg|zzz|egg> the order is consistent with the dimensionless-dimensionful multiplication, so I think those are equivalent?
<bofh> I guess, tho "orientation" to me typically implies higher-level structure overtop of the set. w/e, not important.
<egg|zzz|egg> it's a 1d vector space
<egg|zzz|egg> so orienting it tells you which way is positive
<bofh> okay this is one heck of a weird algebraic object you have there. I think.
<egg|zzz|egg> hm, does the dimension group need to be the free abelian group?
<egg|zzz|egg> what if it's a cyclic group,
<egg|zzz|egg> "They'd develop a whole new theory of differentiating matrices, with their own journal, and they'd have conjectures, and prove them, and go on to prove things nobody wants"
<egg|zzz|egg> but still, what if it's a cyclic group, :-p
<bofh> why wouldn't it just be a cyclic group or possibly okay I was going to say some subgroup of S_n but that's kind of a meaningless statement for a finite group.
<egg|zzz|egg> bofh: every dimension has a preimage vector space, so every dimension is dim x for some nonzero quantity; quantity multiplication is abelian, so dimensions are abelian
<egg|zzz|egg> bofh: so it's a direct sum of cyclic groups
<egg|zzz|egg> bofh: the thing is, what if it's a finite cyclic group, what kind of quantities do you get
<bofh> egg|zzz|egg: yeah okay.
<bofh> ...wait, why would it be *infinite*?
<egg|zzz|egg> because if it's finite, you get things like 1 bofh^5 = 1
<egg|zzz|egg> and, I mean, I guess that works? :-p
<egg|zzz|egg> "and go on to prove things nobody wants"
<bofh> ahh, point.
<bofh> okay, in that case I don't *think* we'll ever have a case where it is finite.
e_14159 has joined #kspacademia
<egg|zzz|egg> yes but *can it be*
e_14159_ has quit [Ping timeout: 202 seconds]
<egg|zzz|egg> bofh: I mean obviously in the SI it's just the free Abelian group on 7 generators
<egg|zzz|egg> bofh: so for instance if you had 1 bofh^2 = 1, vectors with bofh dimensionality would form an inner product space in the usual dimensionless sense!
<egg|zzz|egg> (i.e. the values of the inner product would be in the field, not in a dimensionful space)
<egg|zzz|egg> bofh: oh also on that question of rotations as coordinate changes (i.e. formally between vector spaces, it's a Lie groupoid, and the angular velocities thus lie in a Lie algebroid!? https://en.wikipedia.org/wiki/Lie_groupoid)
<egg|zzz|egg> that parenthesis should close earlier
<bofh> what the hell is a Lie algebr*oid*
<egg|zzz|egg> "a Lie algebroid is a triple" the best kind of definition
<bofh> Yecch.
<bofh> That is vile.
<egg|zzz|egg> bofh: the examples are very bourbachic in that Lie groupoid article
<egg|zzz|egg> two of them are "given any Lie group", and then "given any manifold", "given any foliation", "given any principal bundle" :-p
<egg|zzz|egg> yes, exampls indeed,
<egg|zzz|egg> s/ls/les/
<Qboid> egg|zzz|egg meant to say: yes, examples indeed,
<egg|zzz|egg> bofh: also the Lie groupoid article describes things from the category-theoretic definition of groupoid and not the group-theoretic one and that confuses me endlessly
<bofh> I mean I'm staring at the Lie groupoid article and it's honestly not making any sense either so :P
<bofh> !u 𝐵
<Qboid> U+1D435 MATHEMATICAL ITALIC CAPITAL B (𝐵)
<bofh> egg|zzz|egg: ugh, now I'm realizing I don't quite remember what a foliation is, grr.
<egg|zzz|egg> no idea tbh
<egg|zzz|egg> bofh: but it doesn't seem like that one would be magically more of an example than the others :-p
<kmath> <✔bug_gwen> Spiders have tiny paws. See, I told you they were adorbs! https://t.co/DyJTPr3YrK https://t.co/hyth1u42FF
<egg|zzz|egg> interferometer
Qboid was kicked from #kspacademia by *status [You have been disconnected from the IRC server]
Qboid has joined #kspacademia
<UmbralRaptop> !wpn Qboid
* Qboid gives Qboid a LaTeX type/category hybrid
Ellied has joined #kspacademia
<kmath> <0xKruzr> I, uh. Huh. Hm. https://t.co/NvDZqraM0v
Ellied has quit [Quit: SIGNAL LOST]
Ellied has joined #kspacademia
<Ellied> .u Я
<Ellied> !u Я
<Qboid> U+042F CYRILLIC CAPITAL LETTER YA (Я)
<bofh> egg|zzz|egg: ^
<kmath> <✔Alex_Parker> He fits. https://t.co/fwybN82MFu
<UmbralRaptop> This feels relevant to this channel. https://twitter.com/mcclure111/status/1010357598191620096
<kmath> <mcclure111> RT this tweet with your UNPOPULAR OPINIONS about DIFFERENTIAL GEOMETRY
<mlbaker> ^ just waiting for the usual "whitney embedding theorem shows that the entire notion of an abstract manifold is useless" trolls to show up :P
<mlbaker> (bofh_: Victor made this claim in some facebook post way back in like 2011 or something; at the time I was actually willing to humour it but now it's just like, no... god damn it, just no.)
<mlbaker> even just trying to formulate some of the most basic objects i work with now w/o the concept of an abstract manifold is migraine-inducing.
<bofh> I'm not sure if that's a masterful troll on his part or if that's a serious opinion, if the latter, uh, dear gods no.
<bofh> I mean it's the sort of approach that I *guess* works (namely using whitney embedding for everything), but seriously, *yuck*.
whitequark has quit [*.net *.split]
whitequark has joined #kspacademia
<egg|cell|egg> !Wpn mlbaker
* Qboid gives mlbaker a terrestrial equation
<egg|cell|egg> Mlbaker: seems raposo comes up with essentially the same approach I used
<egg|cell|egg> But misses the orientation of the quantity spaces
<egg|cell|egg> Also I would like to see a discussion of the structures obtained by using that on place of a field, e.g. Dimensionful vector spaces, affine spaces, manifolds etc.
<egg|zzz|egg> !wpn whitequark, rqou, et al.
* Qboid gives whitequark, rqou, et al. an invisible eggy star which vaguely resembles a cow
<egg|zzz|egg> ah, the usual ANBO targets
APlayer has joined #kspacademia
<egg|zzz|egg> https://twitter.com/whitequark/status/1010410010772410368 so interestingly there are a good number of iterations on the names of the units before they invented prefixes
<kmath> <whitequark> so you want to convince nerds to support your communist organization. ⏎ wrong way: "so we have this way to end povert… https://t.co/W019fzxjb4
<egg|zzz|egg> and for some reason they fucked up and made "gramme" the base unit instead of "grave" (which is the kilogramme), so now we're stuck with mks or cgs to have units that go decently together
<egg|zzz|egg> whitequark: this is a good summary albeit in french http://mjp.univ-perp.fr/france/1793mesures.htm
<whitequark> ok but french
<whitequark> i mean obviously it's in french
<whitequark> the french love french
<egg|zzz|egg> :-p
<whitequark> ocaml has latin1 identifiers
<whitequark> had, until i deprecated them, anyway
egg|z|egg has joined #kspacademia
<whitequark> im in ur french language @ deprecating ur french
<egg|zzz|egg> whitequark: Latin-1 identifiers are how I learned to code, it's better than ASCII-only :-p (but UCS FTW obviously)
<egg|zzz|egg> whitequark: but basically the first iteration had mass units bar (1 t) decibar centibar grave (1 kg) decigrave centigrave gravet (1 g) decigravet centigravet
<egg|zzz|egg> and then when they decided to systematize prefixes they picked gramme=gravet instead of gramme=grave, wtf
<egg|zzz|egg> whitequark: tbh they hadn't come up with prefixes smaller than milli, so I guess that makes making the base unit 1 kg clunky
<whitequark> wtf exactly
<egg|zzz|egg> the micro prefix only came about in 1960 after all
<egg|zzz|egg> and you don't have prefixes for 1e-4 and 1e-5
<egg|zzz|egg> whitequark: although the system they settled on did have a prefix for 1e4, which fell into disuse (myria)
<egg|zzz|egg> whitequark: oh wow there's an ocaml fork with french error messages? nice
<egg|zzz|egg> !wpn whitequark
* Qboid gives whitequark a Koch giant induction which strongly resembles a slide rule
<egg|zzz|egg> whitequark: by the way, re. https://github.com/whitequark/ocaml-m17n#are-rtl-scripts-supported, I think you can do something in a pretty-printer to help with that https://twitter.com/eggleroy/status/1006446240161202176
<kmath> <eggleroy> @ManishEarth Proposed mitigation: rustfmt should handle implicit directional marks (mostly removing them), and shou… https://t.co/yAOL9s1mvy
<egg|zzz|egg> whitequark: some editors (visual studio) will do a semantics-based rendering, rendering tokens LTR and then applying UAX 9 within a token, but most editors will just apply UAX 9 naively, which results in a mess
<egg|zzz|egg> (see upthread)
<egg|zzz|egg> whitequark: however you can make a UAX9-on-the-whole-program rendering look like LTR-tokens-UAX9-within-tokens by inserting IDMs
tawny has quit [Remote host closed the connection]
tawny has joined #kspacademia
<egg|zzz|egg> bofh: interesting, IEEE 754 is making its min & max sensible?! https://forums.swift.org/t/comparable-and-floatingpoint/13931
<bofh> egg|zzz|egg: GOOD
<egg|zzz|egg> !wpn bofh
* Qboid gives bofh a Bernoulli µa741
<egg|zzz|egg> !bofhtime
<egg|zzz|egg> !cs bofhtime()
<egg|zzz|egg> !csharp bofhtime()
<Qboid> (1,2): error CS1660: Cannot convert `lambda expression' to non-delegate type `object'
<Qboid> System.Func`1[System.String]
<Qboid> (1,2): error CS0103: The name `bofhtime' does not exist in the current context
<Qboid> 2018-06-23T05:17:20,954
<egg|zzz|egg> ooookay
<bofh> you assume I sleep :P
Snoozee has quit [Quit: CUT THE HARDLINES!!]
Snoozee has joined #kspacademia
Snoozee is now known as Majiir
<egg|zzz|egg> bofh: so now I'm looking at the dimensionful R3x3Matrix<Scalar> here https://github.com/mockingbirdnest/Principia/pull/1860/files and it's basically the same, except the preimage of each dimension is a 𝖌𝖑(3)-module as well as an ℝ-vector space??
<Qboid> [#1860] title: Symmetric bilinear forms | Without serialization for now. | https://github.com/mockingbirdnest/Principia/issues/1860
BPlayer has joined #kspacademia
APlayer has quit [Ping timeout: 182 seconds]
BPlayer is now known as APlayer
<egg|zzz|egg> ferram4: ooh it seems RealChute also uses addForceAtPosition (and has done so since 2016, quoth the changelog), so I could do my n-body magic within atmospheres now!!!
tawny has quit [Ping timeout: 198 seconds]
* egg|zzz|egg stares at the recent catthread
<egg|zzz|egg> whitequark: did котя produce additional kittens? D:
<kmath> <_TheSeaning> Check out this drone shot of the standing stones on comet 67P @mythicalireland 😝 https://t.co/qB0qIhh1B3
<kmath> <bofh453> <@clinteroni> Today's horrifying realization: Simon Peter's name is Σίμων ὁ Πέτρος ὁ Ἰωάννου, or Simon "the Rock" Johnson. Seriously.
<egg|zzz|egg> bofh: although tbh translating names *always* results in utter silliness https://twitter.com/cwblackwell/status/711911884983824385
<kmath> <CWBlackwell> How would Greek history seem if we translated all names and terms, as happens with Native American history? https://t.co/e8EjqS0EXY
APlayer has quit [Read error: Connection reset by peer]
BPlayer has joined #kspacademia
BPlayer is now known as APlayer
<egg|zzz|egg> !wpn bofh
* Qboid gives bofh a Legendre cat
<egg|zzz|egg> !wpn whitequark
* Qboid gives whitequark a magnetohydrodynamic resistor
<kmath> <bofh453> Went on a random building walk, found a pile of books to be discarded, found & (with permission) took this gem with… https://t.co/rwCJaZtGQj
egg|z|egg has quit [Ping timeout: 194 seconds]
<egg|zzz|egg> !!!!
egg|z|egg has joined #kspacademia
<bofh> egg|zzz|egg: it is *exactly* what it says on the tin
<bofh> a bunch of tables of normalized Associated Legendre Polynomials.
Ellied has quit [Quit: SIGNAL LOST]
<egg|zzz|egg> bofh: if you have a 3d bivector and apply to it (in coordinates) a linear map, what happens to the corresponding antisymmetric matrix?
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #kspacademia
Qboid was kicked from #kspacademia by *status [You have been disconnected from the IRC server]
Qboid has joined #kspacademia
egg|z|egg has quit [Ping timeout: 198 seconds]
<kmath> <✔BadAstronomer> Mars last night by @peachastro - the northern hemisphere is *enshrouded* in dust, with just the peak of Olympus Mon… https://t.co/8ZZ15hn14Z
egg|z|egg has joined #kspacademia
egg|z|egg has quit [Ping timeout: 202 seconds]
egg|z|egg has joined #kspacademia
<SnoopJeDi> :o
<UmbralRaptop> bofh:!
<egg|zzz|egg> meow
<bofh> !meow egg|zzz|egg
<Qboid> (1,2): error CS1660: Cannot convert `lambda expression' to non-delegate type `object'
<Qboid> System.Func`1[System.String]
<Qboid> (1,2): error CS0103: The name `bofhtime' does not exist in the current context
* Qboid meows at egg|zzz|egg
* bofh stares
<egg|zzz|egg> bofh: blaargh I don't understand how to turn a bilinear form on vectors into a bilinear form on vectors in a coordinate-free way
<egg|zzz|egg> bofh transform the same way so it should be possible
<iximeow> !meow egg|zzz|egg
* Qboid meows at egg|zzz|egg
<iximeow> >:(
<egg|zzz|egg> wtf "the moment of inertia which must now be a fourth order tensor" https://en.wikipedia.org/wiki/Angular_momentum#Angular_momentum_(modern_definition)
<egg|zzz|egg> oh right because bivectors are 2nd order tensors
<bofh> egg|zzz|egg: oh gods are we back to the moment of inertia mess?
<egg|zzz|egg> well yes because phl started implementing it and i wanted more comments
<bofh> "turn a bilinear form on vectors into a bilinear form on vectors in a coordinate-free way"
<bofh> wait
<bofh> if you're transforming from one bilinear form to the other, doesn't that by definition follow that you've chosen *some* coordinate system for both forms?
<egg|zzz|egg> I just have an inner product
<egg|zzz|egg> no coordinates, no orientation
<egg|zzz|egg> bofh: the inner product induces an inner product on bivectors in a way that I do not fully understand
APlayer has quit [Ping timeout: 182 seconds]
BPlayer has joined #kspacademia
<bofh> wait, the inner product on vectors induces an inner product on *bivectors* somehow? am I following that?
<bofh> like, is that correct?
<egg|zzz|egg> intuitively it better be: if you know what orthogonal means for displacements, you can deduce what it means for angular velocities
<egg|zzz|egg> formally,
<egg|zzz|egg> *grabs the Mathematical Operators block
<egg|zzz|egg> *
<bofh> OHH. I see. Yeah.
<egg|zzz|egg> *grabs the Miscellaneous Mathematical Symbols-A block*
<egg|zzz|egg> v ∧ w = w ⊗ v - v ⊗ w =(implicit inner product, and let's use physicist notation)= |w⟩⟨v|-|v⟩⟨w|; then the inner product of a∧b is ⟨a|c⟩⟨b|d⟩-⟨a|d⟩⟨b|c⟩
<egg|zzz|egg> s/ is /and c∧d is /
<Qboid> egg|zzz|egg meant to say: v ∧ w = w ⊗ v - v ⊗ w =(implicit inner product, and let's use physicist notation)= |w⟩⟨v|-|v⟩⟨w|; then the inner product of a∧band c∧d is ⟨a|c⟩⟨b|d⟩-⟨a|d⟩⟨b|c⟩
<egg|zzz|egg> s/band/b and/
<egg|zzz|egg> hm is it not iterative?
<egg|zzz|egg> s/implicit inner product/implicit musical isomorphisms/ really
<egg|zzz|egg> !wpn bofh
* Qboid gives bofh an ineffable AbstractSingletonProxyFactoryBean/unicode abuse̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊ hybrid
<bofh> sec, I'm rereading how musical isomorphisms work again
<egg|zzz|egg> bofh: raising/lowering indices by any other name
<egg|zzz|egg> bofh: I'm using the inner product (and so the transpose/musical isomorphisms/lowering of indices) to turn w ⊗ v = |w⟩ ⊗ |v⟩ into |w⟩⟨v|-|v⟩⟨w| for sanity above
<bofh> oh right I see what you mean. yeah.
<egg|zzz|egg> into |w⟩⟨v| that is
<egg|zzz|egg> (and same for the other term)
<egg|zzz|egg> bofh: maybe that's clearer with index notation, (v ∧ w)^(ij) = w^i v^j - v^i w^j, ⟨a∧b, c∧d⟩ = (b^i a^j - a^i b^j) (d^k c^l - c^k d^l) g_ik g_jl or something like that I think
<egg|zzz|egg> but, well, if the goal is to be more coordinate-free,
<egg|zzz|egg> although at least the coordinates here have nothing to do with those of the 3d bivectors-as-vectors so
<bofh> So like putting it in index notation anti-helped :P I saw what you meant originally finally, just am now not sure what the question is.
<egg|zzz|egg> bofh: the question is: how do you turn a bilinear form on vectors (say v ⊗ w where v and w are vectors identifying vectors and forms) into a bilinear form on bivectors?
<bofh> okay, so basically the start of this discussion.
<egg|zzz|egg> yes
<egg|zzz|egg> :-p
BPlayer is now known as APlayer
<egg|zzz|egg> e_14159: wait, 's for the genitive in German? Ꙩ_ꙩ http://adsbit.harvard.edu//full/1877AN.....89..273V/0000150.000.html
<egg|zzz|egg> UmbralRaptop: yes this ADS bibliographic code starts with 1877 >_>
<e_14159> egg|zzz|egg: The 's for genitive was used unil 1901
<e_14159> Although apparently, since 1996 it's allowed to use an 's to specially note the base form. Which I consider not as a mistake, but as an abomination and to be purged relentlessly.
egg|z|egg has quit [Ping timeout: 194 seconds]
<UmbralRaptop> egg|zzz|egg: O_o
BPlayer has joined #kspacademia
APlayer has quit [Ping timeout: 182 seconds]
APlayer has joined #kspacademia
BPlayer has quit [Ping timeout: 182 seconds]
* UmbralRaptop wonders why Aetna's login page is blank.
<UmbralRaptop> (Besides the fact that I don't exist)
tawny has joined #kspacademia
egg|z|egg has joined #kspacademia
<egg|zzz|egg> !wpn e_14159
* Qboid gives e_14159 a spectral classmethod with a _ attachment
<egg|zzz|egg> UmbralRaptop: are you a sandwich
<egg|zzz|egg> (cc whitequark)
<UmbralRaptop> uh
BPlayer has joined #kspacademia
<iximeow> hmmm. is UmbralRaptop a turkey sandwich?
* iximeow hesitates before eating UmbralRaptop
APlayer has quit [Ping timeout: 182 seconds]
<UmbralRaptop> … was I creates by a wish from a monkey's paw?
<e_14159> egg|zzz|egg: I probably will have a _ attachment again tomorrow.
<egg|zzz|egg> e_14159: why?
<UmbralRaptop> e_14159 with a tail. e_14159 is a cat?
<e_14159> egg|zzz|egg: Some nick issues on relogging, apparently.
* UmbralRaptop wonders if https://i.pinimg.com/564x/0e/a5/a6/0ea5a6184b6797cb1bf61f27be2b5e65.jpg is some sort of law firm meme.
<egg|zzz|egg> is there anyone who is not a cat
<e_14159> Spiders
<e_14159> They are cat interferometers.
* BPlayer is a cat
<BPlayer> !meow egg|zzz|egg
* Qboid meows at egg|zzz|egg
<BPlayer> Do cats meow at eggs, though? Or do they just eat them?
<egg|zzz|egg> !wpn BPlayer
* Qboid gives BPlayer a meow
<egg|zzz|egg> wpn iximeow
<egg|zzz|egg> !wpn iximeow
* Qboid gives iximeow a galaxy
<egg|zzz|egg> speaking of whom, where is greening
<egg|zzz|egg> !wpn bofh
* Qboid gives bofh a quacking string
<egg|zzz|egg> !wpn whitequark
* Qboid gives whitequark a Turing-complete git-rebase
<egg|zzz|egg> D:
* UmbralRaptop gives egg|zzz|egg an infinite roll of recording tape.
<kmath> <CrimeADay> 7 USC §2706(c) makes it a federal crime for members of the Egg Board to leak confidential egg information obtained… https://t.co/Mtf7NVxHRO
<egg|zzz|egg> Ꙩ_ꙩ
<kmath> <peroxycarbonate> @whitequark @profanegeometry OK, sorry, I was wearing my "normal sane issues" hat. Let me get my "insane problems" hat.
<BPlayer> !wpn egg
* Qboid gives egg an immiscible exchanger which vaguely resembles a paint
<BPlayer> At which point I need to leave, unfortunately. See you guys!
BPlayer has quit [Ping timeout: 182 seconds]
<UmbralRaptop> ;choose flood iximeow with commentary on survey limitations | do not flood
<kmath> UmbralRaptop: flood iximeow with commentary on survey limitations
<UmbralRaptop> !choose flood iximeow with commentary on survey limitations | do not flood
<Qboid> UmbralRaptop: Your options are: flood iximeow with commentary on survey limitations, do not flood. My choice: do not flood
<iximeow> !
<iximeow> !choose flood iximeow with commentary on survey limitations | flood iximeow with commentary on survey limitations
<Qboid> iximeow: Your options are: flood iximeow with commentary on survey limitations, flood iximeow with commentary on survey limitations. My choice: flood iximeow with commentary on survey limitations
UmbralRaptop has quit [Quit: Bye]
UmbralRaptop has joined #kspacademia
<bofh> egg|zzz|egg: https://twitter.com/demize95/status/1010633644082388992 I HAVE QUESTIONS.
<kmath> <demize95> How does this happen often enough for them to have a *stamp* for it?? https://t.co/nR0wFzzRME
<egg|zzz|egg> bofh: french post!
awang has joined #kspacademia
<egg|zzz|egg> bofh: hmm this is interesting (slide 12 and following) http://geometry.mrao.cam.ac.uk/wp-content/uploads/2015/10/GA2015_Lecture3.pdf
<bofh> is bad at shipping?
* awang 🔪 Apple's laptop team
UmbralRaptor has joined #kspacademia
UmbralRaptop has quit [Ping timeout: 194 seconds]
UmbralRaptor has quit [Quit: Bye]
UmbralRaptop has joined #kspacademia
tawny- has joined #kspacademia
tawny has quit [Ping timeout: 182 seconds]
UmbralRaptor has joined #kspacademia
UmbralRaptor has quit [Client Quit]
UmbralRaptor has joined #kspacademia
<kmath> <alt_kia> @demize95 @bofh453 https://t.co/uA4x4IePai
UmbralRaptop has quit [Ping timeout: 198 seconds]
tawny has joined #kspacademia
tawny has quit [Client Quit]
<egg|zzz|egg> bofh: okay you can't blame the knoxville -> british virgin islands one on the french post :-p
tawny-- has joined #kspacademia
tawny- has quit [Ping timeout: 194 seconds]
<bofh> egg|zzz|egg: or the one from London to California
<iximeow> india conducting bgp hijacks on postal systems around the world
<UmbralRaptor> ^
UmbralRaptop has joined #kspacademia
UmbralRaptor has quit [Read error: Connection reset by peer]
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #kspacademia
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #kspacademia
UmbralRaptop has quit [Read error: Connection reset by peer]
UmbralRaptor has joined #kspacademia
<kmath> <rygorous> Quiz opportunity: Which Sparse Matrix Shape Are You? https://t.co/NyIZWgYoWU
UmbralRaptop has joined #kspacademia
<bofh> (also that is one *hella* squat LP constraint matrix)
UmbralRaptop has quit [Client Quit]
UmbralRaptop has joined #kspacademia
UmbralRaptor has quit [Ping timeout: 194 seconds]
* iximeow pokes UmbralRaptop
UmbralRaptop has quit [Read error: Connection reset by peer]
UmbralRaptor has joined #kspacademia
UmbralRaptop has joined #kspacademia
UmbralRaptop has quit [Client Quit]
UmbralRaptop has joined #kspacademia
* egg|zzz|egg stares at UmbralRaptop's connection
<UmbralRaptop> It was poked by a cat!
UmbralRaptor has quit [Ping timeout: 198 seconds]
<egg|zzz|egg> UmbralRaptop: did you meow at the cat
<kmath> <stephentyrone> @warkgnall @rygorous Save yourself while you can.
<UmbralRaptop> !meow iximeow
* Qboid meows at iximeow
* UmbralRaptop is probably dense.
<egg|zzz|egg> UmbralRaptop: but stored in sparse format? D:
<iximeow> !meow UmbralRaptop
* Qboid meows at UmbralRaptop
<UmbralRaptop> egg|zzz|egg: That would be very me, yes. =S
<egg|zzz|egg> "<ferram4> I saw that a couple days ago. Or a day ago. Or I dunno" << probably today in here :-p
<egg|zzz|egg> (well, ~12 h ago)
* egg|zzz|egg stores UmbralRaptop in column-major order
* awang iterates over UmbralRaptop in row-major order
<egg|zzz|egg> the cache weeps
<UmbralRaptop> Am I being stored C-style, FORTRAN-style, or some other way?
<awang> Column-major should be FORTRAN, isn't it?
<UmbralRaptop> Might be.
<bofh> awang: yes, exactly.
<bofh> also column-major imho is the *correct* layout.
<awang> bofh: Why?
<awang> !wpn -add:adj sharp
<Qboid> awang: Adjective already added!
<awang> !wpn -add:adj flat
<Qboid> awang: Adjective added!
<awang> !wpn -add:wpn kernel
<Qboid> awang: Weapon added!
<awang> !wpn -add:wpn kernel panic
<Qboid> awang: Weapon added!
* egg|zzz|egg stores bofh in diagonal-major order
<bofh> awang: because IME this leads to the nicest possible SIMD/cache layout properties for both matrix-vector product (sgemv, sgemm) and back-substitution (strmv)
<bofh> (obviously only applicable to dense and approximately-dense matrices)
<egg|zzz|egg> bofh: how does it work better for matrix-vector product?
<bofh> egg|zzz|egg: compare the output assembly for the 'N','N' case of sgemm versus the 'T','N' (or 'T','T') case.
<egg|zzz|egg> what's sgemm :-p
* egg|zzz|egg no familiarity with numerical linear algebra beyond one 6 month lecture at eth
<egg|zzz|egg> (well 1 semester really)
<egg|zzz|egg> (the other semester of numerics was on ODEs mostly)
<awang> Guessing sgemm is part of LAPACK and friends?
<awang> And/or BLAS
<egg|zzz|egg> the ODEs I do know about :-p
<awang> And/or ATLAS
<awang> And/or whatever things I forgot
<egg|zzz|egg> no that's a cat
<awang> bofh: Are matrix-vector products and back-substitutions the most common matrix-y operations?
<awang> egg|zzz|egg: Oh right, how can I forget :(
<egg|zzz|egg> (I mean it's also a library, but most importantly it's a cat :-p)
<bofh> egg|zzz|egg: GEMM is dense general matrix-matrix product
<bofh> aka C := A*B
<bofh> (s is single precision, d double)
<bofh> awang: yeah. there's a reason for this, read https://fgiesen.wordpress.com/2017/08/14/papers-i-like-part-2/
<bofh> specifically the description of the Goto & van de Geijn paper
<bofh> actually egg|zzz|egg ^
<egg|zzz|egg> bofh: also what is the nicest way to store a 3x3 matrix for right multiplication
<egg|zzz|egg> bofh: plot twist: right multiplication by a vector stored in two SSE2 registers, xy z0
<bofh> you're dealing with double-precision arithmetic so your SSE2 registers only contain 2 doubles, my response is "w/e, it doesn't really matter"
<bofh> now if you're dealing with single OR AVX2, then your question gets interesting.
<awang> Oh boy, more papers to add to my read-eventually-meaning-probably-never folder
<egg|zzz|egg> bofh: yes but I could switch to AVX, and also packing those 3d vectors did matter for e.g. polynomial evaluation
<egg|zzz|egg> "you're dealing with double-precision arithmetic" << the only arithmetic worth mentioning :-p
<egg|zzz|egg> (okay no quad is good but it's not a thing)
<bofh> I emphatically disagree
<egg|zzz|egg> bofh: this is kspacademia though, doing astronomy in single precision will drive you to the madness that makes up KSP :-p
<bofh> Anyhow hm. In that case you get this weird thing where your 2x2 top submatrix would be a vector multiply and the outermost row and column scalar, in the naive/obvious packing scheme.
<bofh> And yeah, doing most astro in single precision is a losing proposition. That I'm well aware of. :P
<egg|zzz|egg> bofh: well, it can be worked around in stupid ways https://logs.tmsp.io/kspacademia/2018-05-07#1661307;
<egg|zzz|egg> bofh: so I'd naively do row major, with the rows packed same as the vectors, so the multiplications can be packed?
<bofh> egg|zzz|egg: yeah, at least that's the first thing I'd try, but I'd be surprised if you get a perf benefit from that
<egg|zzz|egg> bofh: it's more that it's literally the least-code implementation :-p
<bofh> since all you're doing is saving one mul over the scalar case (you have an extra movddup (literally free) to make up for it)
<egg|zzz|egg> wait no we actually don't optimize Dot on R3Element, so we do pack but then we do operations the stupid way :-p
<bofh> Wait what, okay, I'd try optimizing Dot first, since that's like, no effort and I'd expect at least *some* perf effect
<awang> Heh
<egg|zzz|egg> bofh: well what we tried had very little effect :-p
<awang> This seems like a very #kspacademia problem
<awang> egg|zzz|egg: That was a fascinating read
<egg|zzz|egg> awang: what, the history of KSP numerics?
<awang> Yeah
<egg|zzz|egg> at the orbits of madness
<awang> Someone should release "Numerics Space Program"
<awang> KSP except numerically stable/accurate/etc
<egg|zzz|egg> (most of those screenshots in "at the orbits of madness" are earliest principia dev)
<awang> egg|zzz|egg: What in the world
<bofh> rofl the "NaN Kraken"
<awang> Those look like they should be some very interesting systems to fly around
<awang> Especially that last one
<awang> What the heck is going on there
<bofh> "If there is a lot of weight below a decoupler (which is most likely also the center of mass), the rocket will clip through itself." UHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHM
<bofh> awang: yeah what the hell is that last one
<egg|zzz|egg> awang: my orbit rendering code was broken? :D
<egg|zzz|egg> awang: and the ones like https://i.imgur.com/0ugq0e5.png https://i.imgur.com/DNpHVMm.png are "my planet moving code was broken"
<bofh> also I still like this orbit: https://pbs.twimg.com/media/DenVJIfV4AIpOtY.jpg:orig
<bofh> egg|zzz|egg: ^
<awang> egg|zzz|egg: What am I looking at with the second one there?
<awang> DNpHVMm.png
<egg|zzz|egg> bofh: it's a good orbit
<awang> Wait wat
<awang> Square orbit?
<egg|zzz|egg> yes
<egg|zzz|egg> that's a perfectly good orbit
<awang> Oh, different frame
<awang> Right
<bofh> Yep.
<egg|zzz|egg> nah, that's mun-centred inertial
<egg|zzz|egg> it's not a rotating frame
<egg|zzz|egg> it actually looks more mundane in a rotating frame
<awang> Wait, so how does the square-ness work?
<egg|zzz|egg> but it's a square both in mun-centred and kerbin-centred inertial
<egg|zzz|egg> awang: ~*~third body effects~*~
<egg|zzz|egg> awang: in both https://i.imgur.com/0ugq0e5.png https://i.imgur.com/DNpHVMm.png I think we're inside a planet (maybe Jool) and all the planets are close together while I'm flying between them, presumably because I had screwed up some orders of magnitude in the planet positions :-p
<egg|zzz|egg> bofh: how should we measure Dot though, we don't actually have performance-critical stuff depending on it :-p
<egg|zzz|egg> bofh: but yeah, literally the easiest way to write R3x3Matrix is row-major packed same as the vectors, since you just write it as three vectors :-p
<egg|zzz|egg> it would be more work to write it as an unpacked 3x3 array :-p
<bofh> ahh, point, that makes sense. hurr.
<awang> egg|zzz|egg: What's the third body there? Minmus?
<egg|zzz|egg> Kerbin
<egg|zzz|egg> Mun-Kerbin-spacecraft
<awang> Wait
<awang> Oh
<egg|zzz|egg> that's three
<awang> Right, there's a spacecraft there
<egg|zzz|egg> and you are orbiting in a place which doesn't clearly belong to either
<egg|zzz|egg> awang: maccollo actually made a principia challenge involving this orbit, you should try it once you have a gpu
<egg|zzz|egg> (or can you run stock with integrated graphics or something?)
<awang> egg|zzz|egg: Those sound like some very entertaining mistakes
<egg|zzz|egg> awang: https://forum.kerbalspaceprogram.com/index.php?/topic/161390-principia-challenge-munar-retrograde-rendezvous-122/
<egg|zzz|egg> awang: also UmbralRaptop's eggsplanation of the orbit https://forum.kerbalspaceprogram.com/index.php?/topic/161390-principia-challenge-munar-retrograde-rendezvous-122/&tab=comments#comment-3087127
<egg|zzz|egg> bofh: ^
<awang> Huh, that looks like a fun challenge
<UmbralRaptop> ping
<egg|zzz|egg> awang: bofh: my attempt at it (somehow the imgur album embedding got broken again) https://imgur.com/a/KIQOH
<UmbralRaptop> macollo polygon needs to be more of a term.
<bofh> macollo?
<egg|zzz|egg> the person who made this challenge, an enthusiastic principia user
<bofh> also that comment makes sense, but that's one really odd balancing act
<awang> Too bad no one else posted their attempts :(
<bofh> "Altough it's just outside the hill sphere of Mun it's still stable. This is a neat characteristic of retrograde orbits." wait, why does this hold only for *retrograde* orbits?
<bofh> Why does orbit direction cause orbit stability to differ in the case where you're very close to the hill sphere?
* egg|zzz|egg waves at UmbralRaptop
<UmbralRaptop> I'm not 100% clear. I think something about briefer perturbations?
<bofh> Like I know this *is* a thing, I just have never seen a good explanation *why* it's the case.
awang has quit [Ping timeout: 194 seconds]
<egg|z|egg> see also retrobop
egg|z|egg has quit [Ping timeout: 198 seconds]