lapacke_sorcsd.c(3)

πŸ“¦ version 3.9.0, in centos-stream 9

πŸ’… lapacke_sorcsd.c β€” like, the manual page, but make it make sense

okay so bestie, welcome to the lapacke_sorcsd.c era β€” this is the LAPACK page for it (yes, that LAPACK, the linear algebra icon πŸ‘‘), and we're gonna walk through it together. no cap, it's mostly one big function signature and a whole lot of float * pointers, but we got this 🫢


✨ NAME ✨

lapacke_sorcsd.c β€” that's literally it, that's the name. short, sweet, main character energy πŸŽ€


🌸 SYNOPSIS 🌸

first things first, you gotta pull in the header:

#include 'lapacke_utils.h'

πŸ¦‹ Functions

there's exactly one function on this page, and she's a whole lot:

       lapack_int LAPACKE_sorcsd (int matrix_layout, char jobu1, char jobu2,
           char jobv1t, char jobv2t, char trans, char signs, lapack_int m,
           lapack_int p, lapack_int q, float *x11, lapack_int ldx11, float
           *x12, lapack_int ldx12, float *x21, lapack_int ldx21, float *x22,
           lapack_int ldx22, float *theta, float *u1, lapack_int ldu1, float
           *u2, lapack_int ldu2, float *v1t, lapack_int ldv1t, float *v2t,
           lapack_int ldv2t)

like yeah, that's a lot of arguments. she's thorough πŸ’… we don't gatekeep.


πŸ”₯ Function Documentation πŸ”₯

🌈 lapack_int LAPACKE_sorcsd (int matrix_layout, char jobu1, char jobu2, char jobv1t, char jobv2t, char trans, char signs, lapack_int m, lapack_int p, lapack_int q, float * x11, lapack_int ldx11, float * x12, lapack_int ldx12, float * x21, lapack_int ldx21, float * x22, lapack_int ldx22, float * theta, float * u1, lapack_int ldu1, float * u2, lapack_int ldu2, float * v1t, lapack_int ldv1t, float * v2t, lapack_int ldv2t)

okay so here's the full signature again, with all her little quirks, typed out exactly how the source gives it to us (note the spaces after the * β€” that's just how she's presented here, don't come for her πŸ™ˆ):

lapack_int LAPACKE_sorcsd (int matrix_layout, char jobu1, char jobu2, char
    jobv1t, char jobv2t, char trans, char signs, lapack_int m, lapack_int p,
    lapack_int q, float * x11, lapack_int ldx11, float * x12, lapack_int
    ldx12, float * x21, lapack_int ldx21, float * x22, lapack_int ldx22,
    float * theta, float * u1, lapack_int ldu1, float * u2, lapack_int ldu2,
    float * v1t, lapack_int ldv1t, float * v2t, lapack_int ldv2t)

Definition at line 36 of file lapacke_sorcsd.c. ✨ (iykyk β€” line 36, that's where she lives 🏑)

let's do a lil vibe check on the cast, because there's honestly so many of them:

  • int matrix_layout β€” a plain int telling us how the matrices are laid out.
  • char jobu1 β€” a char switch for u1.
  • char jobu2 β€” a char switch for u2.
  • char jobv1t β€” a char switch for v1t.
  • char jobv2t β€” a char switch for v2t.
  • char trans β€” a char for the transpose situation.
  • char signs β€” a char for the signs. yes, signs. plural. we love options 🌟
  • lapack_int m β€” a lapack_int named m.
  • lapack_int p β€” a lapack_int named p.
  • lapack_int q β€” a lapack_int named q.
  • float *x11 and lapack_int ldx11 β€” pointer plus its leading dimension bestie.
  • float *x12 and lapack_int ldx12 β€” same deal, different corner.
  • float *x21 and lapack_int ldx21 β€” yup, still going.
  • float *x22 and lapack_int ldx22 β€” the last of the x-squad πŸ“
  • float *theta β€” outputs go here apparently, iconic.
  • float *u1 and lapack_int ldu1 β€” u1 plus its leading dimension.
  • float *u2 and lapack_int ldu2 β€” u2 plus its leading dimension.
  • float *v1t and lapack_int ldv1t β€” v1t plus its leading dimension.
  • float *v2t and lapack_int ldv2t β€” v2t plus its leading dimension, and that's the whole squad. periodt.

that's every single one of them, and no we did not skip anybody, that's not the vibe here πŸ’€

ngl, this page is generated documentation, so it gives you the signature and the line number and not a whole lot of prose. we're not out here inventing behaviour that isn't written down β€” that's a no from me πŸ™…β€β™€οΈ

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. she was literally built by a robot and she's still serving 🧚


and that's the page, bestie!! πŸŒΈπŸ’–

Version 3.8.0 β€” dated Tue Nov 14 2017 β€” and the page calls itself lapacke_sorcsd.c(3), which, yeah, that's the whole title. slay, stay hydrated, and may all your leading dimensions be correct 🫢✨
πŸ“¦ where this page comes from