mclow on boost-1.79.0
mclow on boost-1.79.0.beta1
tensor_core
.
I implemented the given competency test. So, I request the mentors to review it. @bassoy @amitsingh19975
@shadymohamedamin, please go through the competency test again and follow the instructions. You need to create classes for matrix and vector, not hard-coding them.
Dear Mentor correct me if I wrong,
tensor
is a mathematics topic and The code oftensor
is written insidetensor_core.hpp
and many other header files .
Yes, isn't the matrix and vectors, though? I see matrix and vectors as the tensor's specialisation, and some will say the tensor is the extensions of vectors and the matrix into higher dimensions.
@amitsingh19975 @bassoy I had a few doubts while drafting the proposal for the GSoC Application.
matrix
and vector
types, i.e submatrix
and subvector
is dependent on the first project. Can I draft a proposal to work on the combination of these two projects into one. matrix
and vector
based as an extension of tensor
would not be that time consuming so beginning with that I can move towards working on the subtensor
and come back to implement submatrix
and subvector
. Although doing subtensor
first and then doing the complete matrix
and vector
along with their "sub" counterparts can also be a choice.Thanks in Advance.
@bassoy, I've created a new branch "fix/extents" to fix the existing problem with the ambiguous extents. My approach would be making the extents to be at least of 2nd order. Therefore, we can discern between static tensor and static rank tensor.
auto e0 = extents<1>{}; // [static rank extents] invalid because of 1st order static rank extents
auto e1 = extents<1,2>{}; // [static extents] valid because of 2st order static extents
auto e2 = extents<2>{}; // [static rank extents] valid because of 2st order static rank extents
auto e3 = extents<>{4}; // [dynamic extents] invalid because of 1st order dynamic extents
auto e4 = extents<>{4,4}; // [dynamic extents] valid because of 2st order dynamic extents
Order(Static Extents|Dynamic Extents) > 1 and Order(Static Rank Extents) == 1. Therefore, there is no ambiguity.
@bassoy, there's one problem here, and I don't know which solution is better.
There's one downside of alias on clang right now: they haven't implemented the type deduction for alias type. This makes it impossible to deduce the template types from the constructor.
Maybe you're using master branch of ublas. This feature is in develop branch right now.
Sir, how to use the develop branch?
https://github.com/boostorg/ublas/wiki/Guidelines-for-Contributors