feat: add blas/base/ndarray/cgemv#13149
Conversation
---
type: pre_commit_static_analysis_report
description: Results of running static analysis checks when committing changes.
report:
- task: lint_filenames
status: passed
- task: lint_editorconfig
status: passed
- task: lint_markdown_pkg_readmes
status: passed
- task: lint_markdown_docs
status: na
- task: lint_markdown
status: na
- task: lint_package_json
status: passed
- task: lint_repl_help
status: passed
- task: lint_javascript_src
status: passed
- task: lint_javascript_cli
status: na
- task: lint_javascript_examples
status: passed
- task: lint_javascript_tests
status: passed
- task: lint_javascript_benchmarks
status: passed
- task: lint_python
status: na
- task: lint_r
status: na
- task: lint_c_src
status: na
- task: lint_c_examples
status: na
- task: lint_c_benchmarks
status: na
- task: lint_c_tests_fixtures
status: na
- task: lint_shell
status: na
- task: lint_typescript_declarations
status: passed
- task: lint_typescript_tests
status: passed
- task: lint_license_headers
status: passed
---
Coverage Report
The above coverage report was generated for the changes in this PR. |
| Abuf = uniform( len*len*2, -100.0, 100.0, { | ||
| 'dtype': 'float32' | ||
| }); | ||
| A = new ndarray( 'complex64', new Complex64Array( Abuf.buffer ), [ len, len ], [ len, 1 ], 0, 'row-major' ); |
There was a problem hiding this comment.
@MeKaustubh07 You should be using ndarray/matrix/complex64 here.
| A = new ndarray( 'complex64', new Complex64Array( Abuf.buffer ), [ len, len ], [ len, 1 ], 0, 'row-major' ); | |
| A = new Complex64Matrix( Abuf.buffer, 0, [ len, len ] ); |
| - first one-dimensional input ndarray. | ||
| - second one-dimensional input/output ndarray. | ||
| - first zero-dimensional ndarray containing a scalar constant. | ||
| - second zero-dimensional ndarray containing a scalar constant. |
There was a problem hiding this comment.
| - first one-dimensional input ndarray. | |
| - second one-dimensional input/output ndarray. | |
| - first zero-dimensional ndarray containing a scalar constant. | |
| - second zero-dimensional ndarray containing a scalar constant. | |
| - a one-dimensional input ndarray corresponding to `x`. | |
| - a one-dimensional input/output ndarray corresponding to `y`. | |
| - a zero-dimensional ndarray containing a scalar constant corresponding to `alpha`. | |
| - a zero-dimensional ndarray containing a scalar constant corresponding to `beta`. |
We need to be more descriptive here, as it is not clear in your current descriptions which arrays correspond to which variables in the equation.
There was a problem hiding this comment.
I'm guessing this comment is likely going to apply to many of your other PRs.
| arrays: ArrayLikeObject<ndarray> | ||
| Array-like object containing the following ndarrays: | ||
|
|
||
| - a two-dimensional input ndarray. |
There was a problem hiding this comment.
| - a two-dimensional input ndarray. | |
| - a two-dimensional input ndarray corresponding to `A`. |
| * | ||
| * - The function expects the following ndarrays: | ||
| * | ||
| * - a two-dimensional input ndarray. |
|
@kgryte the |
|
|
||
| {{alias}}( arrays ) | ||
| Performs the matrix-vector operation `y = alpha*A*x + beta*y`, where | ||
| `alpha` and `beta` are scalars, `x` and `y` are ndarrays, and `A` is |
There was a problem hiding this comment.
| `alpha` and `beta` are scalars, `x` and `y` are ndarrays, and `A` is | |
| `alpha` and `beta` are scalars, `x` and `y` are one-dimensional ndarrays, and `A` is |
There was a problem hiding this comment.
You need to be more explicit here.
| - second one-dimensional input/output ndarray. | ||
| - first zero-dimensional ndarray containing a scalar constant. | ||
| - second zero-dimensional ndarray containing a scalar constant. | ||
|
|
There was a problem hiding this comment.
Also, where is the transpose argument? Why is that not included here?
| @@ -0,0 +1,43 @@ | |||
|
|
|||
| {{alias}}( arrays ) | |||
| Performs the matrix-vector operation `y = alpha*A*x + beta*y`, where | |||
There was a problem hiding this comment.
This equation will need be updated to actually reflect the operation. See https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/blas/base/cgemv.
| var A = arrays[ 0 ]; | ||
| var x = arrays[ 1 ]; | ||
| var y = arrays[ 2 ]; | ||
| strided( 'no-transpose', numelDimension( A, 0 ), numelDimension( A, 1 ), alpha, getData( A ), getStride( A, 0 ), getStride( A, 1 ), getOffset( A ), getData( x ), getStride( x, 0 ), getOffset( x ), beta, getData( y ), getStride( y, 0 ), getOffset( y ) ); |
There was a problem hiding this comment.
Why did you make this decision of hardcoding no-transpose?
There was a problem hiding this comment.
Since these are new Level 2 packages under blas/base/ndarray/*, I wasn’t sure how you’d prefer exposing parameters like trans , diag , uplo etc. as a separate argument, via an options object, or if it should be left out of scope for now. Happy to update it based on correct approach.
kgryte
left a comment
There was a problem hiding this comment.
There is quite a bit that will need to be cleaned up in this PR before it can move forward.
---
type: pre_commit_static_analysis_report
description: Results of running static analysis checks when committing changes.
report:
- task: lint_filenames
status: passed
- task: lint_editorconfig
status: passed
- task: lint_markdown_pkg_readmes
status: passed
- task: lint_markdown_docs
status: na
- task: lint_markdown
status: na
- task: lint_package_json
status: passed
- task: lint_repl_help
status: passed
- task: lint_javascript_src
status: passed
- task: lint_javascript_cli
status: na
- task: lint_javascript_examples
status: passed
- task: lint_javascript_tests
status: passed
- task: lint_javascript_benchmarks
status: passed
- task: lint_python
status: na
- task: lint_r
status: na
- task: lint_c_src
status: na
- task: lint_c_examples
status: na
- task: lint_c_benchmarks
status: na
- task: lint_c_tests_fixtures
status: na
- task: lint_shell
status: na
- task: lint_typescript_declarations
status: passed
- task: lint_typescript_tests
status: passed
- task: lint_license_headers
status: passed
---
|
/stdlib merge |
|
@kgryte I tracked down the lint_repl_help failure. It looks like repl-txt crashes when a In this case, the missing aliases are:
|
type: pre_commit_static_analysis_report
description: Results of running static analysis checks when committing changes. report:
Resolves #{{TODO: add issue number}}.
Description
This pull request:
blas/base/ndarray/cgemvRelated Issues
This pull request has the following related issues:
Questions
No.
Other
No.
Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
{{TODO: add disclosure if applicable}}
@stdlib-js/reviewers