Date: Wed, 6 Feb 2019 19:25:24 +0000
Regarding P1385R1 draft:
Section 3.1:
- The definition of "dimension" sounds a bit too much like "rank." Think of a surface of a 3-D object of genus 0 -- you really only need 2 coordinates to place yourself on it. It sounds like you really mean to say "the number of indices needed to index the thing"; is that right?
- Tensor people sometimes use "rank" to refer to "the number of indices needed to index the thing." They will disagree with your "dimension" definition.
- "Rank" and "linear independence" are interesting with respect to floating-point arithmetic, as you well know. (I would prefer "distance to the nearest matrix with dependent columns" etc.) I'm not sure if you want to go there in a C++ library.
Section 4.2:
- I can see your argument that matrices are not Liskov-substitutable for rank-2 tensors. Couldn't we use that argument, though, to say that we should use covariant vs. contravariant 1-tensors instead of column vs. row vectors?
Section 6.4.4 (Multiplication Operator):
I would prefer to have operator* be elementwise, and to have matrix-matrix multiplication, inner product, outer product, etc. be explicitly named functions. They could even be different names (possibly with multiply being a generic thing that returns something of the appropriate type).
Thanks!
mfh
On 2/6/19, 10:46 AM, "SG14 on behalf of Bob Steagall" <sg14-bounces_at_lists.isocpp.org on behalf of bob.steagall.cpp_at_gmail.com> wrote:
All,
Here is a tentative agenda for today's call:
1. I'd like to first see if there are any new thoughts regarding
P1166R0 since the last call.
2. P1416R0 lays out some linear algebra requirements from the
perspective of SG19; if someone will be on the call to present this
paper, that would be much appreciated.
3. If there is interest in revisiting P1417, the historical lessons
paper, we can discuss that. Mark Hoemmen won't be on the call today,
though, so we may need another co-author to lead.
4. I'd like to then discuss P1385, the API design proposal by Guy and
myself. The R0 version was in the pre-Kona mailing, but there is now
an R1-draft version that corrects some mistakes and adds a little more
material.
For reference, I've attached P1166R0, P1385R0, P1385R1-draft, P1416R0,
and P1417R0.
Thanks,
--Bob
On Tue, Feb 5, 2019 at 1:21 PM Bob Steagall <bob.steagall.cpp_at_gmail.com> wrote:
>
> Bob Steagall is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 Linear Algebra SIG Call - February 2019
> Time: Feb 6, 2019 3:00 PM Eastern Time (US and Canada)
>
> Join Zoom Meeting
> https://zoom.us/j/666350568
>
> One tap mobile
> +16465588656,,666350568# US (New York)
> +17207072699,,666350568# US
>
> Dial by your location
> +1 646 558 8656 US (New York)
> +1 720 707 2699 US
> Meeting ID: 666 350 568
> Find your local number: https://zoom.us/u/abxFIgIaPQ
>
> I don't yet have a specific agenda, although I though we might look at P1385.
>
> Please e-mail me any suggestions for papers/topics to discuss.
>
> Thanks,
> --Bob
Section 3.1:
- The definition of "dimension" sounds a bit too much like "rank." Think of a surface of a 3-D object of genus 0 -- you really only need 2 coordinates to place yourself on it. It sounds like you really mean to say "the number of indices needed to index the thing"; is that right?
- Tensor people sometimes use "rank" to refer to "the number of indices needed to index the thing." They will disagree with your "dimension" definition.
- "Rank" and "linear independence" are interesting with respect to floating-point arithmetic, as you well know. (I would prefer "distance to the nearest matrix with dependent columns" etc.) I'm not sure if you want to go there in a C++ library.
Section 4.2:
- I can see your argument that matrices are not Liskov-substitutable for rank-2 tensors. Couldn't we use that argument, though, to say that we should use covariant vs. contravariant 1-tensors instead of column vs. row vectors?
Section 6.4.4 (Multiplication Operator):
I would prefer to have operator* be elementwise, and to have matrix-matrix multiplication, inner product, outer product, etc. be explicitly named functions. They could even be different names (possibly with multiply being a generic thing that returns something of the appropriate type).
Thanks!
mfh
On 2/6/19, 10:46 AM, "SG14 on behalf of Bob Steagall" <sg14-bounces_at_lists.isocpp.org on behalf of bob.steagall.cpp_at_gmail.com> wrote:
All,
Here is a tentative agenda for today's call:
1. I'd like to first see if there are any new thoughts regarding
P1166R0 since the last call.
2. P1416R0 lays out some linear algebra requirements from the
perspective of SG19; if someone will be on the call to present this
paper, that would be much appreciated.
3. If there is interest in revisiting P1417, the historical lessons
paper, we can discuss that. Mark Hoemmen won't be on the call today,
though, so we may need another co-author to lead.
4. I'd like to then discuss P1385, the API design proposal by Guy and
myself. The R0 version was in the pre-Kona mailing, but there is now
an R1-draft version that corrects some mistakes and adds a little more
material.
For reference, I've attached P1166R0, P1385R0, P1385R1-draft, P1416R0,
and P1417R0.
Thanks,
--Bob
On Tue, Feb 5, 2019 at 1:21 PM Bob Steagall <bob.steagall.cpp_at_gmail.com> wrote:
>
> Bob Steagall is inviting you to a scheduled Zoom meeting.
>
> Topic: SG14 Linear Algebra SIG Call - February 2019
> Time: Feb 6, 2019 3:00 PM Eastern Time (US and Canada)
>
> Join Zoom Meeting
> https://zoom.us/j/666350568
>
> One tap mobile
> +16465588656,,666350568# US (New York)
> +17207072699,,666350568# US
>
> Dial by your location
> +1 646 558 8656 US (New York)
> +1 720 707 2699 US
> Meeting ID: 666 350 568
> Find your local number: https://zoom.us/u/abxFIgIaPQ
>
> I don't yet have a specific agenda, although I though we might look at P1385.
>
> Please e-mail me any suggestions for papers/topics to discuss.
>
> Thanks,
> --Bob
Received on 2019-02-06 13:26:45