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>
(technically speaking you can change the *x to x everywhere including in the decl, there's no reason to make it pass-by-reference if you aren't calling it from Fortran, oops)
<egg|phone|egg>
Bofh: sig Dec is better than approx rootn, not worse?
<egg|phone|egg>
S,:,: 4,
<bofh>
approx rootn should give you < 5 but > 4.3 I think
<kmath>
<Foone> Subverting gender forms (and forms in general) for fun and profit: ⏎ Select any option, then right click->inspect on… https://t.co/fFZJ9eyeY1
<bofh>
Welp checking twitter was a mistake. Fuck this country so much.
<UmbralRaptop>
Apparently we're now fighting 3 wars in the mideast, and supporting a 4th? >_<
<bofh>
screw this I think I'm going to take whitequark's lead and start posting catgirls on main
<UmbralRaptop>
Tired: horny on main. Wired: fuzzy on main.
UmbralRaptop has quit [Remote host closed the connection]
APlayer has quit [Ping timeout: 182 seconds]
awang has quit [Ping timeout: 198 seconds]
<iximeow>
!wpn cat
* Qboid
gives cat a Java crow
<rqou>
bofh: ping?
<rqou>
bofh: i'm actually trying to implement "A Generalized Eigenvalue Approach for Solving Riccati Equations" now
<rqou>
i don't understand how the step "An orthogonal row transformation can then be constructed in order to construct a deflated pencil 'lambda E~ - A~' following (55):"
<rqou>
works
<bofh>
rqou: pong
<rqou>
also, do you have a good example of how to compute the "QZ algorithm?"
<bofh>
sec, let me pull up the paper
awang has joined #kspacademia
<bofh>
rqou: Golub and van Loan if you want to implement QZ yourself, lapack SGGEV (tho you prolly want to trim it a bit if you're going to run it on a µC) if you want a pre-done impl.
<bofh>
(SGGES if you need the generalized Schur form as well as eigenvalues)
<rqou>
so i'm not actually sure exactly which results i need at this point
<rqou>
i'm still trying to understand how the algorithm is supposed to work
<bofh>
it's kind of long and nontrivial, but anything for solving Riccati Equations will have that property.
<rqou>
so first of all i don't know how the "pencil" 53 is related to anything
<rqou>
and then i don't understand what D~ is
<rqou>
and then i don't understand how U is supposed to be constructed in 55
<rqou>
and then i don't understand how step 67 works either
awang has quit [Ping timeout: 383 seconds]
<rqou>
bofh: last time i asked this you told me to do "QR decomp via Householder reduction to upper Hessenberg followed by standard QR"
<rqou>
but i don't see how that is connected to anything
<bofh>
rqou: yeah that works if you just need eigenvalues and not generalized eigenvalues, which I assume you need the latter if they're saying to use QZ instead of QR.
<bofh>
anyway I found the paper, let me try to puzzle out what this pencil is.
<rqou>
wait, so have you actually implemented this? :P
<bofh>
rqou: I know people who have, for their research, I myself have not b/c I've never needed to solve general Riccati Eq'ns.
<bofh>
(I could just ask one of them worst-case, but this paper is pretty readable. Sec)
<rqou>
i don't need general riccati equations
<rqou>
i just need "the discrete time algebraic Riccati equation"
<rqou>
is that any simpler?
<rqou>
i don't need general riccati equations
<rqou>
ugh, flaky university wifi
<rqou>
bofh: first dumb question: are the generalized eigenvalues that the paper talks about equivalent to the ones i learned about?
<rqou>
the paper talks about Ax=lambda*Bx but the generalized eigenvalues that i learned about are (A-lambda*I)^m x = 0
<X>
Wut
<rqou>
what?
<X>
That’s the guy that made an alternative to the quadratic equation. I think, but it only works for like a <<<< b
<rqou>
??
<X>
Riccati
<rqou>
well i don't care about that i just want my LQR control
<bofh>
rqou: yeah I don't understand why they talk about using QZ, QR suffices here.
<rqou>
lol why does QR suffice? :P
<rqou>
QR and QZ are completely different?
<bofh>
the latter is a generalization of the former
<rqou>
well, i don't see why restricting to QR works either :P
<rqou>
can i not end up with complex conjugate eigenvalues?
<bofh>
sec, trying to figure out the E~ construction
* egg|zzz|egg
stabs BS 1363
<egg|zzz|egg>
!wpn bofh, rqou, whitequark, et al.
* Qboid
gives bofh, rqou, whitequark, et al. a holographic blizzard with an exception attachment
<rqou>
worksforme(tm)
<rqou>
bofh: um, the scipy code also needs QZ?
<bofh>
rqou: I thought scipy *implements* QZ tho
<rqou>
scipy also ends up calling "GGES"
<rqou>
then it calls "tgsen"
<rqou>
and then it calls "trtrs"
<rqou>
bofh: do i just reimplement this code?
<rqou>
oh what it _also_ needs QR
<bofh>
rqou: I mean that'd be the easiest way to do it *probably*
<rqou>
this seems really complicated
<rqou>
ugh, it needs LU as well
<rqou>
seems like this requires ALL THE LINALG PRIMITIVES
<rqou>
zomg wtf is happening in this code
<rqou>
why is this some unholy amalgam of python, C, and fortran?
<bofh>
"some unholy amalgam of python, C, and fortran" is like, the description of most scientific computing code, incl. scipy
Felger has joined #kspacademia
<rqou>
but WHY?
Felger has quit [Remote host closed the connection]
<rqou>
why is everything in this ecosystem shit?
<rqou>
does nobody ever run code on potatos like me?
Felger has joined #kspacademia
<egg|zzz|egg>
bofh: seems FNLIB is unfaithful (still much better rounded than glibc but that's the lowest bar in the world)
<egg|zzz|egg>
!wpn Felger
* Qboid
gives Felger a spherical equinoctial parabola/lemma hybrid
<egg|zzz|egg>
bofh: also slowest so far
<Felger>
That didn't take long
<egg|zzz|egg>
Felger: what, getting an absurd !wpn? :-p
<Felger>
Well, that too
UmbralRaptop has joined #kspacademia
<Felger>
:D
<egg|zzz|egg>
Felger: how's your pet station
<Felger>
Still burning very-nearly circular orbits in the sky
<Felger>
How's yours?
<bofh>
egg|zzz|egg: I think the Newton iterate count it does can be decreased and also unrolled.
<bofh>
rqou: yeah I think you want to write an impl from scratch (well, mostly scratch, using lapack) in that case :/
<rqou>
basically just copying the scipy code?
<rqou>
why is everything in this ecosystem shit?
<egg|zzz|egg>
bofh: yeah msvc is not good at unrolling
<bofh>
most scientific computing is run on large clusters and not on like a raspi is my guess
<rqou>
lol this is smaller than a raspi
<egg|zzz|egg>
Felger: I don't really have a pet station afaik :-p
<egg|zzz|egg>
Felger: I have a good cube root thoo
<Felger>
Well, you've got a pet orbital dynamics simulator, which is pretty good too
<egg|zzz|egg>
bofh: but at what point does optimizing the implementation turn it into just another implementation
<egg|zzz|egg>
bofh: unrolling is OK, but changing the iteration count morally makes it another method