On Tuesday, 13 March 2018 at 13:02:45 UTC, Ilya Yaroshenko wrote:

On Tuesday, 13 March 2018 at 12:23:23 UTC, jmh530 wrote:On Tuesday, 13 March 2018 at 10:35:15 UTC, 9il wrote:On Tuesday, 13 March 2018 at 04:35:53 UTC, jmh530 wrote:[snip]## Advertising

What's TMMat?TMat is a transposed matrix. Not sure for now if it would berequired.There are some people who like being able to specify a whethera matrix has column or row layout. Would an option to controlthis be the same thing?Good point. Would matrix(j, i) syntax solve this issue? One ofreasons to introduce Mat is API simplicity. ndslice has 3compile time params. I hope we would have only type for Mat,like Mat!double.

I'm not sure I understand what your syntax solution does...

`But I agree that there is a benefit from API simplicity. It would`

`probably be easier to just say Mat is row-major and have another`

`that is column-major (or have the options in ndslice).`

`Nevertheless, it can't help to look at what other matrix`

`libraries do.`

`Eigen's (C++ library) Matrix class uses template arguments to set`

`storage order (_Options). It looks like Eigen has six template`

`arguments.`

https://eigen.tuxfamily.org/dox/classEigen_1_1Matrix.html Numpy does the same thing at run-time https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html

`Also, many of the languages that emphasize linear algebra`

`strongly (Fortran, Matlab, etc) use column-major order. Row-order`

`is most popular coming from C-based languages.`

https://en.wikipedia.org/wiki/Row-_and_column-major_order