Skip to content

Office Hours (2026-03-03) #86

Closed
Closed

Description

@kgryte

🌟 Join Us for Weekly Office Hours! 🌟

Have questions about stdlib? Need help fixing a bug, figuring out what to do next, or just looking for feedback? Join our weekly office hours to connect with project maintainers, stay updated on the latest project news, and chat with other community members. This is a great opportunity to ask questions, share ideas, and engage directly with the stdlib team.

Everyone is welcome—drop in and say hello!

Time

UTC Tue 03-Mar-2026 17:30 (05:30 PM):

Timezone Date/Time
US / Pacific Tue 03-Mar-2026 09:30 (09:30 AM)
US / Mountain Tue 03-Mar-2026 10:30 (10:30 AM)
US / Central Tue 03-Mar-2026 11:30 (11:30 AM)
US / Eastern Tue 03-Mar-2026 12:30 (12:30 PM)
EU / Western Tue 03-Mar-2026 17:30 (05:30 PM)
EU / Central Tue 03-Mar-2026 18:30 (06:30 PM)
EU / Eastern Tue 03-Mar-2026 19:30 (07:30 PM)
Moscow Tue 03-Mar-2026 20:30 (08:30 PM)
Chennai Tue 03-Mar-2026 23:00 (11:00 PM)
Hangzhou Wed 04-Mar-2026 01:30 (01:30 AM)
Tokyo Wed 04-Mar-2026 02:30 (02:30 AM)
Sydney Wed 04-Mar-2026 04:30 (04:30 AM)

or in your local time:

Links

Joining the meeting

Agenda

  • Have specific things to discuss? Please comment in the issue thread below to add specific items to the agenda.

Activity

  1. added
    Office HoursIssue announcing office hours and soliciting associated agenda items.
    on Feb 24, 2026
  2. DivitJain26 commented on Mar 3, 2026

    @DivitJain26
    Member

    While working on feat: add blas/base/cgbmv #10492, I ran into a few points I’d like to confirm.

    1. I want to confirm whether my band matrix packing is correct for M = 4, N = 4, KL = 1, KU = 2, (no-transpose).

    For Column Major

    "A_mat": [
      [ 1.0, 1.0, 3.0, 3.0, 6.0, 6.0, 0.0, 0.0 ],
      [ 2.0, 2.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0 ],
      [ 0.0, 0.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0 ],
      [ 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 12.0, 12.0 ]
    ],
    "A_compact": [
      [ 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 10.0, 10.0 ],
      [ 0.0, 0.0, 3.0, 3.0, 7.0, 7.0, 11.0, 11.0 ],
      [ 1.0, 1.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0 ],
      [ 2.0, 2.0, 5.0, 5.0, 9.0, 9.0, 0.0, 0.0 ]
    ],
    "A": [ 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 0.0, 0.0, 0.0, 0.0 ]

    For Row Major

    "A_mat": [
      [ 1.0, 1.0, 3.0, 3.0, 6.0, 6.0, 0.0, 0.0 ],
      [ 2.0, 2.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0 ],
      [ 0.0, 0.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0 ],
      [ 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 12.0, 12.0 ]
    ],
    "A_compact": [
      [ 0.0, 0.0, 1.0, 1.0, 3.0, 3.0, 6.0, 6.0 ],
      [ 2.0, 2.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0 ],
      [ 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 0.0, 0.0 ],
      [ 9.0, 9.0, 12.0, 12.0, 0.0, 0.0, 0.0, 0.0 ]
    ],
    "A": [ 0.0, 0.0, 1.0, 1.0, 3.0, 3.0, 6.0, 6.0, 2.0, 2.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 0.0, 0.0, 9.0, 9.0, 12.0, 12.0, 0.0, 0.0, 0.0, 0.0 ]
    1. I noticed in feat: add blas/base/sgbmv #5928 and feat: add blas/base/dgbmv #6121 that KL is not used in the same way as described in the intel/onemkl band storage reference for column-major and row-major layouts.

    2. The current feat: add blas/base/sgbmv #5928 and feat: add blas/base/dgbmv #6121 tests only use KL = 1, KU = 1, and square matrices. Would it make sense to add tests with different KL and KU values and rectangular matrices to improve coverage?

    3. While going through the complex BLAS routines, I noticed that there don’t appear to be explicit test cases covering the conjugate-transpose case. Although the implementation seems to handle this case, I couldn’t find dedicated tests that directly validate its correctness. Would you recommend adding specific test cases for the conjugate-transpose scenario?

    4. how to properly generate a random complex banded matrix (e.g., for cgbmv) for examples/index.js. I saw examples for real banded matrices and complex dense matrices, but I’m unsure what the recommended approach is for complex banded storage. Should I use filled2dBy with Complex64 or construct the compact band array manually?

  3. kgryte commented on Mar 3, 2026

    @kgryte
    MemberAuthor

    @DivitJain26 Have you already explored using our banded storage utilities for generating nested matrices: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base/banded/to-compact?

  4. kgryte commented on Mar 3, 2026

    @kgryte
    MemberAuthor

    @DivitJain26 Re: 4. Yes, you need to add cases for the conjugate-transpose. That doesn't exist in the other packages because they are real-valued.

    Re: 3. Sure. You'll likely want to follow the same JSON fixture based approach.

    Re: 2. How does it differ? Can you show the difference in code and generated results? And does it differ than our banded/to-compact utility?

    Re: 5. Yes, you can use with filled2by with Complex64. Likely no need to construct manually.

  5. nakul-krishnakumar commented on Mar 3, 2026

    @nakul-krishnakumar
    Member

    I would like to discuss about:

    1. Scope of a GSoC Proposal to add Batch ML algorithms (@stdlib/ml/*). I am planning 1-2 algorithms per week as it can get quite huge (atleast that is what I understood in my initial trial of implementing dkmeansld). I would like to also discuss if it would be too less work from what is expected.
    2. Possibility of implementing @stdlib/ml/dkmeans before writing proposal so that I could plan the scope of the proposal accordingly. (Getting this package merged will give me an exact idea on the expected API Design for rest of the packages)
    3. What all implementations to be given more priority? Should I consider only the clustering algorithms for the proposal or should I consider some algorithms from each subsection (eg: clustering, regression, classification, dimensionality reduction)?
  6. shubham220420 commented on Mar 3, 2026

    @shubham220420

    I would like to discuss. :

    1. About integrating stdlib inside jstat, I have some initial idea which I want to discuss and want to know whether it aligns with the scope of project or not.
  7. DivitJain26 commented on Mar 3, 2026

    @DivitJain26
    Member

    @DivitJain26 Re: 4. Yes, you need to add cases for the conjugate-transpose. That doesn't exist in the other packages because they are real-valued.

    Re: 3. Sure. You'll likely want to follow the same JSON fixture based approach.

    Re: 2. How does it differ? Can you show the difference in code and generated results? And does it differ than our banded/to-compact utility?

    Re: 5. Yes, you can use with filled2by with Complex64. Likely no need to construct manually.

    For Point 2.
    Please see the changes in the second branch in
    feat: add blas/base/cgbmv #10492 commit (5d4e1c8f73af76e93f643bcd5d8888cbbef97832)

    Before

    	for ( i1 = 0; i1 < ylen; i1++ ) {
    		retmp = 0.0;
    		imtmp = 0.0;
    		oa2 = oa + ( i1 * sa1 );
    		i0start = max( 0, i1 - KU );
    		i0end = min( xlen, i1 + KL + 1 );
    		for ( i0 = i0start; i0 < i0end; i0++ ) {
    			kup1 = i0 - i1;
    			ia = oa2 + ( ( kup1 + KU ) * sa0 );
    			if ( i0 < xlen && ia >= 0 ) {
    				ix = ox + ( i0 * sx );
    				rea = viewA[ ia ];
    				ima = sign * viewA[ ia + 1 ];
    				rex = viewX[ ix ];
    				imx = viewX[ ix + 1 ];
    				retmp = f32( retmp + f32( ( rea * rex ) - ( ima * imx ) ) );
    				imtmp = f32( imtmp + f32( ( rea * imx ) + ( ima * rex ) ) );
    			}
    		}
    		iy = oy + ( i1 * sy );
    		muladd( realpha, imalpha, retmp, imtmp, viewY[ iy ], viewY[ iy + 1 ], viewY, 1, iy ); // eslint-disable-line max-len
    	}
    	return y;

    Now

    	for ( i1 = 0; i1 < ylen; i1++ ) {
    		retmp = 0.0;
    		imtmp = 0.0;
    		oa2 = oa + ( i1 * sa1 );
    		i0start = max( 0, i1 - KL );                           // updated
    		i0end = min( xlen, i1 + KU + 1 );                // updated
    		for ( i0 = i0start; i0 < i0end; i0++ ) {
    			kup1 = i0 - i1;
    			ia = oa2 + ( ( kup1 + KL ) * sa0 );       // updated
    			if ( i0 < xlen && ia >= 0 ) {
    				ix = ox + ( i0 * sx );
    				rea = viewA[ ia ];
    				ima = sign * viewA[ ia + 1 ];
    				rex = viewX[ ix ];
    				imx = viewX[ ix + 1 ];
    				retmp = f32( retmp + f32( ( rea * rex ) - ( ima * imx ) ) );
    				imtmp = f32( imtmp + f32( ( rea * imx ) + ( ima * rex ) ) );
    			}
    		}
    		iy = oy + ( i1 * sy );
    		muladd( realpha, imalpha, retmp, imtmp, viewY[ iy ], viewY[ iy + 1 ], viewY, 1, iy ); // eslint-disable-line max-len
    	}
    	return y;

    here the inner loop starts at max( 0, i1 - KL ), end at min( xlen, i1 + KU + 1 ) and ia = oa + ( i1 * sa1 ) ( ( i0 - i1 + KL ) * sa0 )
    which is overlooked when KU = KL but it becomes critical when KU > KL., the previous bounds result in incorrect element access.

    In the same PR the test cgbmv/test/fixtures/row_major_xpyp.json only passes after the mentioned changes. The test fails if the previous bounds and index access technique is used because here KU > KL (eg. KU = 2, KL = 1).

    feat: add blas/base/sgbmv #5928 and feat: add blas/base/dgbmv #6121 uses the old pattern.

  8. prajjwalbajpai commented on Mar 3, 2026

    @prajjwalbajpai
    Member

    Review on my PR implementing dgetc2 LAPACK routine. I have made changes that were suggested for the other PRs I have made so I hope it should be in a good state.

  9. AyushiJain18270 commented on Mar 3, 2026

    @AyushiJain18270

    I would like to ask about xorshift32 PRNG
    Since it is single internal state :
    why a separate seedLength property is exposed? whether this is mainly for API consistency with multi-state generators(MINSTD,MT)

  10. DivitJain26 commented on Mar 3, 2026

    @DivitJain26
    Member

    @DivitJain26 Have you already explored using our banded storage utilities for generating nested matrices: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base/banded/to-compact?

    Should I use this as a reference for making the fixtures?
    if so then what cahges should i make in base implementation of feat: add blas/base/cgbmv #10492
    It is working for my current packing pattern.

  11. navyansh007 commented on Mar 3, 2026

    @navyansh007

    Review on PR #8187 - related to implementation of math/base/special/sici
    Review on PR #10657 - related to implementation of math/base/special/expm1f

  12. manit2004 commented on Mar 3, 2026

    @manit2004

    Do we have I1 Modified Bessel function of first kind in stdlib?

  13. Witty-31-06 commented on Mar 3, 2026

    @Witty-31-06
    • I have questions regarding implementation dnancumin.

    • Need clarification on the C doctest GSoC issue. Does eslint doctesting applies to README.md files too? I took a look at the eslint/doctest, can you guide me to the code where README files examples are also tested?

      • For C code inside README, I mainly found two kinds of code snippet, one is annotation on the expected output and one is example.c. Can we execute them in a child process to check the output? Is this feasible?
  14. nirmaljb commented on Mar 3, 2026

    @nirmaljb

    I am working on my proposal notes for math/base/special, and I've mentioned some questions inside, can you please look into it?
    https://befitting-tuberose-75b.notion.site/Base-Special-Proposal-Notes-301f09ba3c548095a4c4fd2a76ca67c3

  15. bhargava-d16 commented on Mar 3, 2026

    @bhargava-d16

    Review on PR stdlib-js/stdlib#10620 - related to implementation of stats/base/dists/anglit/cdf
    Review on PR stdlib-js/stdlib#10596 related to implementation of stats/base/dists/anglit/entropy
    Review on PR stdlib-js/stdlib#9983 - related to implementation of stats/base/dists/bradford/logpdf

    I also wanted to ask about the documentations to take reference from along with this https://github.com/scipy/scipy/blob/main/scipy/stats/_continuous_distns.py

  16. iampratik13 commented on Mar 3, 2026

    @iampratik13
    Member

    I noticed that stats/strided/snanstdevpn and stats/strided/snanvariancepn are missing and depend on each other. They also require blas/ext/base/snannsumpw, which has an open PR this but marked as “needs discussion.”

    How would you like me to proceed? If these get merged, we can also move forward with implementing the other similar stdev packages.

  17. GlyphicGuy commented on Mar 3, 2026

    @GlyphicGuy

    Sorry I shall not be able to speak but will be present in the meet, but if i could kindly have this clarified.

    I was working on my proposal for the GSheet Integration repo and as per the last meeting i think my main goals will include the following:

    • Makefile targets to make development and adding APIs easier
    • Linting
    • Git Hooks
    • Adding all the missing APIs and making it up to date

    supporting goals include:

    • developing the Sidebar for gsheets
    • contribution guidelines
    • technical tutorials

    I shall be working on these, just need a nod of head so I can move ahead drafting it.

    1. should i also include fused operations? if so any pointers would be helpful

    thanks!

  18. kgryte commented on Mar 9, 2026

    @kgryte
    MemberAuthor

    Thanks everyone!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Office HoursIssue announcing office hours and soliciting associated agenda items.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions