-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[RFC]: add blas/ext/base/gtriu #13550
Copy link
Copy link
Open
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.BLASIssue or pull request related to Basic Linear Algebra Subprograms (BLAS).Issue or pull request related to Basic Linear Algebra Subprograms (BLAS).FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.MaintainersIssue which should be handled by project maintainers & is not recommended for external contributors.Issue which should be handled by project maintainers & is not recommended for external contributors.difficulty: 2May require some initial design or R&D, but should be straightforward to resolve and/or implement.May require some initial design or R&D, but should be straightforward to resolve and/or implement.priority: HighHigh priority concern or feature request.High priority concern or feature request.
Description
Metadata
Metadata
Assignees
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.BLASIssue or pull request related to Basic Linear Algebra Subprograms (BLAS).Issue or pull request related to Basic Linear Algebra Subprograms (BLAS).FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.MaintainersIssue which should be handled by project maintainers & is not recommended for external contributors.Issue which should be handled by project maintainers & is not recommended for external contributors.difficulty: 2May require some initial design or R&D, but should be straightforward to resolve and/or implement.May require some initial design or R&D, but should be straightforward to resolve and/or implement.priority: HighHigh priority concern or feature request.High priority concern or feature request.
Type
Fields
No fields configured for issues without a type.
Description
This RFC proposes an API to copy the upper triangular part of a matrix
Ato another matrixB.API signatures:
The implementation will be similar to
lapack/base/dlacpy.See
stdlib/lib/node_modules/@stdlib/lapack/base/dlacpy/lib/base.js
Line 255 in ad17191
AtoB.In this implementation, however, we will support a
kparameter, which, similar to the Array API, specifies a diagonal below which to ignore.k = 0is the main diagonal.k < 0is a diagonal below the main diagonal.k > 0is a diagonal above the main diagonal.where the main diagonal is defined as the set of indices
{(i,i)}forion the interval[0, min(M,N)-1].Hence, if
k < 0, the functions will copy the upper triangle and one or more sub-diagonals below the main diagonal (i.e., part of the lower triangle). Ifk > 0, the functions will copy only part of the upper triangle.As a consequence, the loops in
stdlib/lib/node_modules/@stdlib/lapack/base/dlacpy/lib/base.js
Line 255 in ad17191
i1andi0will need to be updated according to the resolved diagonal.And similar to
dlacpy, we should copy in cache optional order (i.e., row-by-row for row-major and column-by-column for column-major).Related Issues
None.
Questions
No.
Other
No.
Checklist
RFC:.