New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P1385 A proposal to add linear algebra support to the C++ standard library #169
Comments
P1385R1 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
P1385R2 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
P1385R1 Linear Algebra Champion: Bob Steagall Minute Taker: Davis Herring Start Overview: 14:00 Break: 15:00 Resume after Break: 15:15 Start Polling: 16:20 POLL: We want 0-based indexing as opposed to 1-based indexing. NO OBJECTION TO UNANIMOUS CONSENT Attendance: 20 POLL: We like having separate row_vector and column_vector types in addition to matrix.
Attendance: 21 That has no consensus. POLL: We want explicitly named operations (e.g. dot, outer) in addition to operators.
Attendance: 21 That has consensus. POLL: Define engine/matrix classes in terms of mdspan + storage and mdspan concepts (e.g. extents), and expose an mdspan-esque interface. This implies that
Attendance: 22 That has strong consensus. End: 16:30 |
P1385R3 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
Removing SG6 tag |
The above two pieces of guidance seem to not have been addressed. Please address them in the next revision of the paper. |
P1385R3 DSL Linear Algebra Library: Design Review Chair: Bryce Adelstein Lelbach Champion: Bob Steagall Minute Taker: Mark Hoemmen Start Review: 11-06 16:09 POLL: We want to be able to modify elements through
Attendance: 20 This has unanimous consent. POLL: For matrix types with overloaded operators, we are comfortable with supporting hooks for expression templates but having no expression templates by default in the standard library.
Attendance: 21 POLL: Given what we've seen so far, we are comfortable with the customization mechanisms for overloaded operators on matrices.
Attendance: 21 End: 17:40
CONSENSUS: Bring a revision of P1385R3 (a proposal to add linear algebra support to the C++ standard library), with the guidance below, to LEWGI for further design review.
|
P1385R4 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
P1385R5 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
D1385R6 DSL Linear Algebra Library: Design Review Chair: Bryce Adelstein Lelbach Champion: Bob Steagall Minute Taker: Ben Craig Start Review: 2020-02-11 11:01 Do we really need this feature to support user defined engines? This is an open extensible system; those are harder to build. In the past we've said to just define matrix/engines in terms of mdspan, and not have fixed size and dynamic owning engines; what we have now is the addition of view matrix/engines, but we still have the fixed size and dynamic owning engines. Are we okay with using operator overloading for matrix operations, given that what operators map to may be ambiguous (for example Look at the relationship between mdarray and mdspan; that's the relationship that the fixed sized/dynamic owning matrix/engines and the view matrix/engines should have. Do the customization mechanisms make it possible for some matrix/engine systems to define Is this true for all the overloaded operators in this proposal? Answer: Yes Can we add the overloaded operators in a "version 2" if we don't include them in "version 1"? Answer: Maybe? (but if users add their own overloads, it would break them) POLL: We want
Attendance: 25 # of Authors: 2 Author Position: SF That has no consensus. POLL: We want
Attendance: 25 # of Authors: 2 Author Position: SF That has consensus. POLL: We want overloaded operators (e.g.
Attendance: 25 # of Authors: 2 Author Position: SF That has consensus. POLL: Assuming we have overloaded operators (e.g.
Attendance: 25 # of Authors: 2 Author Position: SF That has no consensus. Areas for further LEWGI review:
End: 12:04 |
D1385R6 DSL Linear Algebra Library: Design Review Chair: Bryce Adelstein Lelbach Champion: Bob Steagall Minute Taker: Ben Craig Start Review: 2020-02-13 10:45 Areas for further LEWGI review:
Why is Are there any engines that are not initable? Answer: The views are not initable. Should indexing/sizes be signed or unsigned? Answer: We shouldn't revisit this discussion. Continue with the
Engines and matrices has Pick any word other than Right now the paper uses
Dangling reference semantics with views: should we allow this, given it's a beginner interface? Alternatives to having non-owning sub-views:
POLL: We are okay with only providing submatrices/slices with non-owning semantics in the first version we ship.
Attendance: 17 # of Authors: 2 Author Position: SF That has consensus. Discuss names for this proposal on the LEWG mailing list before Varna. Having members called Explore whether the subvector selection functions should use first + length vs first + last; look at prior art and usage experience in the wild. Should
Are iterator tags the right model to use for engine categories? Challenges with iterator tags:
Why not use concepts or named type requirements for engine categories? Motivation for customization, instead of just focusing on a high-level simple interface that is not user-extensible. Are the engine category tags convertible? How would you write a function that takes a writeable matrix, but should also accept initable and resizable matrices? Can you write it to take any of those three, but not a readable? Answer: Not easily, not without some complicated SFINAE. Gaspar volunteers to show the authors the use case for writing functions that accept different categories of matrices. End: 12:02 CONSENSUS: Bring a revision of D1385R6 (DSL Linear Algebra Library), with the guidance below, to LEWGI for further design review.
|
Deferred by request of the authors due to their time constraints. |
P1385R7 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall) |
at Guy request, I'm removing the LEWG tag, this needs to go to SG6 first |
Kona '22POLL: SG6 supports the removal of the vector type and generalizing matrix
# of Authors: 1 POLL: SG6 encourages the addition of row_vector and column_vector template
# of Authors: 1 |
2023-02-08 15:30 to 17:30 Issaquah Library Evolution MeetingP1385R7: DSL Linear Algebra 2023-02-08 08:30 to 10:15 UTC-8 Issaquah Library Evolution Minutes Champion: Guy Davidson (IP) Chair: Bryce Adelstein Lelbach (IP) & Robert Leahy (IP) Minute Taker: Inbal Levi (IP) Start: 2023-02-08 17:18 UTC-8 End: 17:34 SummaryWe looked at the P1385 Linear Algebra paper, which is in the Numerics study group. We were asked to review a specific design change. The author and the study group want to remove the vector type from the proposal and generalize the matrix type instead, using it for vectors and adding suitable template aliases. Library Evolution saw no issue with this change. Next StepsReturn to the Numerics study group for review and incubation. |
Upon further discussion with the authors, the Numerics study group appears to be done with this, and Library Evolution can begin a full review. |
The authors have indicated that revisions are needed, so we will not look at this at 2023-06 Varna. |
P1385R0 A proposal to add linear algebra support to the C++ standard library (Guy Davidson, Bob Steagall)
The text was updated successfully, but these errors were encountered: