Re: GSOC 2019 and queries regarding tensor algorithms.
Cem Bassoy via ublas <[email protected]> Sun, 24 Feb 2019 13:13:43 +0100
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CADrR+FtU5-Yv18Layta7BEj_uC3nuYLWg6k2_M-KMshkFzgv3g@mail.gmail.com> |
--===============6921615204825306515== Content-Type: multipart/alternative; boundary="000000000000061cda0582a2c2f1" --000000000000061cda0582a2c2f1 Content-Type: text/plain; charset="UTF-8" Hi Gaurav, thanks for your interest in uBLAS. You can find the documentation, examples and implementation of the tensor data type on Github <https://github.com/BoostGSoC18/tensor/wiki/Documentation#general>. Project 2 and 3 for the tensor extension on the Boost GSoC page are not defined yet. A good starting point for implementing tensor algorithms are e.g. Tensor Decomposition <http://www.maths.manchester.ac.uk/~mlotz/teaching/nur/tensordecompositions.pdf> or Fundamental Operations <https://arxiv.org/abs/1405.7786>. The current data type supports conventional tensor contractions. However, we still might need some special products such as the hadamard or kronecker product in order to perform alternative least square algorithms, higher-order singular value decomposition or higher-order power methods for e.g. large-scale data analysis and quantum computing applications. Best Cem Am Sa., 23. Feb. 2019 um 14:59 Uhr schrieb Gaurav Hoskote via ublas < [email protected]>: > I would like to contribute to ublas.tensor library. I am a final year > engineering student. I have implemented a sample header file "vec.h" which > uses Templated class for creation of vector and matrix as specified in the > Programming Competency test section of GSOC 2019 ideas. I have used > operator overloading to carry out operations like matrix multiplication, > addition, subtraction etc. > The output and time taken for each operation is printed in "output.txt" > and the code in "main.cpp". > Having read the code of headers provided in the link, I am finding it a > little confusing writing my proposal as to which type of Tensor algorithms > are needed. Can someone please mentor/elaborate and also give an example of > an algorithm which can be implemented. > You can see my code here: > https://github.com/gauravhoskote/codes/tree/master/gsoc2019/boost/numeric/ublas/tensor/competencytest > Regards, > Gaurav Hoskote. > _______________________________________________ > ublas mailing list > [email protected] > https://lists.boost.org/mailman/listinfo.cgi/ublas > Sent to: [email protected] > --000000000000061cda0582a2c2f1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div>Hi Gaurav,</div><div><br></div><div>= thanks for your interest in uBLAS. You can find the documentation, examples= and implementation of the tensor data type on <a href=3D"https://github.co= m/BoostGSoC18/tensor/wiki/Documentation#general">Github</a>.</div><div></di= v><div>Project 2 and 3 for the tensor extension on the Boost GSoC page are = not defined yet. <br></div><div><br></div><div>A good starting point for im= plementing tensor algorithms are e.g. <a href=3D"http://www.maths.mancheste= r.ac.uk/~mlotz/teaching/nur/tensordecompositions.pdf">Tensor Decomposition<= /a> or=C2=A0<a href=3D"https://arxiv.org/abs/1405.7786">Fundamental Operati= ons</a>. The current data type supports conventional tensor contractions. H= owever, we still might need some special products such as the hadamard or k= ronecker product in order to perform alternative least square algorithms, h= igher-order singular value decomposition or higher-order power methods for = e.g. large-scale data analysis and quantum computing applications.</div><di= v><br></div><div>Best</div><div>Cem<br></div><div><br></div><div><br></div>= <div><br></div><div><br></div><div><br></div><div><br></div></div></div><br= ><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Am Sa., 2= 3. Feb. 2019 um 14:59=C2=A0Uhr schrieb Gaurav Hoskote via ublas <<a href= =3D"mailto:[email protected]">[email protected]</a>>:<br></div><= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir= =3D"ltr">I would like to contribute to ublas.tensor library. I am a final y= ear engineering student. I have implemented a sample header file "vec.= h" which uses Templated class for creation of vector and matrix as spe= cified in the Programming Competency test section of GSOC 2019 ideas. I hav= e used operator overloading to carry out operations like matrix multiplicat= ion, addition, subtraction etc.<div>The output and time taken for each oper= ation is printed in "output.txt" and the code in "main.cpp&q= uot;.=C2=A0</div><div>Having read the code of headers provided in the link,= I am finding it a little=C2=A0confusing writing my proposal as to which ty= pe of Tensor algorithms are needed. Can someone please mentor/elaborate and= also give an example of an algorithm which can be implemented.</div><div>Y= ou can see my code here:=C2=A0<a href=3D"https://github.com/gauravhoskote/c= odes/tree/master/gsoc2019/boost/numeric/ublas/tensor/competencytest" target= =3D"_blank">https://github.com/gauravhoskote/codes/tree/master/gsoc2019/boo= st/numeric/ublas/tensor/competencytest</a></div><div>Regards,</div><div>Gau= rav Hoskote.</div></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]= t.org</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer" target=3D"_blank">https://lists.boost.org/mailman/listinfo.cgi/ublas= </a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank">cem.bass= [email protected]</a><br> </blockquote></div> --000000000000061cda0582a2c2f1-- --===============6921615204825306515== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline