P1673: LWG review 2023/10/25
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 29
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
P1673: LWG review 2023/10/25
matrix_one_norm
Last week, we stopped after matrix_frob_norm and before matrix_one_norm.
Add Note for BLAS Standard function name, even though not in Reference BLAS.
(In theory, a user could have a matrix with a layout for which submdspan isn't defined.)
"28.9.13.13.2 One norm with default result type" doesn't have a stable name. Remove that heading and make this part of the whole section. (Christian already has that implemented in his branch.) Ditto for the "see-below" changes (delete "see-below" and just return auto); flatten those functions to one line (Christian already did).
matrix_inf_norm
Ditto.
[linalg.alg.blas2.gemv]
2.1: Do we always have the same names of A, x, y, and z, in (e.g.,) possibly-multiplyable(decltype(A), decltype(x), decltype(y))? Christian: Yes, that's the idea, though we should check.
Shorten Complexity wording in para 4. "A count of mdspan array accesses and arithmetic operations that is linear in x.extent(0) times A.extent(1)."
Delete "Overwriting matrix-vector product" and "Updating matrix-vector product" headers. Make those headers just a new paragraph underneath: "This function performs an overwriting matrix-vector product."
Para 1: Replace "in this section" with "in [linalg.algs.blas2.gemv]." (Also, it's a "subclause," not a "section.")
Example for GEMV: Change scaled_matvec_2 to scaled_transposed_matvec. Use * instead of "times" in the comment over the last function.
[linalg.algs.blas2.symv]
Change "in this section" to the stable name of the parent, as above.
Remove subheadings "Overwriting symmetric matrix-vector product" etc., as above.
Edit Complexity as above. "A count of ... x.extent(0) times A.extent(1)." Perhaps even just "O(x.extent(0) * A.extent(1))."
^^^ Generally change Complexity to use brief big-Oh notation. The Oh is curly, math font. Fix this generally.
Add a cross-reference to [linalg.general], that explains the Triangle template parameter. "This function performs an overwriting symmetric matrix-vector product accessing the elements specified by t ([linalg.general])."
[linalg.algs.blas2.hemv]
Analogous changes as above.
[linalg.algs.blas2.trmv]
Analogous changes as above.
"taking account of the Triangle and DiagonalStorage parameters ([linalg.general])."
Note: "... other ExecutionPolicy specific optimizations" (remove hyphen) -- [linalg.algs.blas2.trmv.in-place].
Stop before [linalg.algs.blas2.trsv].
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the document sections named [linalg.alg.blas2.gemv], [linalg.algs.blas2.symv], [linalg.algs.blas2.hemv], and [linalg.algs.blas2.trmv], along with matrix_one_norm and matrix_inf_norm. Review the surrounding wording and [linalg.general], then apply the requested heading, cross-reference, complexity, example, and terminology edits through trmv, stopping before [linalg.algs.blas2.trsv]. Done means all listed review comments are reflected consistently in the paper.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100