Re: [GSOC2020][Boost.uBLAS] uBLAS DataFrame feature
Aniket Chowdhury via ublas <[email protected]> Sun, 22 Mar 2020 23:10:53 +0530
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAD+OSvVhg93pfMSo2=WTcohkQt6-=wa9TS_JvOh9QjyUtGh7-w@mail.gmail.com> |
--===============4460495177998467045== Content-Type: multipart/alternative; boundary="000000000000f79e1805a17505f5" --000000000000f79e1805a17505f5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I honestly think the MetaClass feature would really clean up all the uBlas code. But, it will be a while before we see it in GCC releases. Modules as well I think. On Fri, 20 Mar 2020, 21:13 Steven Varga via ublas, <[email protected]> wrote: > Hi Everyone, > similarly to Riccardo I am a consumer to ublas; also the author of H5CPP > <http://isc19.h5cpp.org/#/> a scalable non-intrusive persistence for > linear algebra support, which includes UBLAS > <http://h5cpp.org/ublas_8cpp-example.html>. I am excited about the > development and wondering where is the best to follow the development: > https://github.com/boostorg/ublas ? > > sorry for the noise: > steven > > On Fri, Mar 20, 2020 at 11:19 AM Cem Bassoy via ublas < > [email protected]> wrote: > >> Riccardo, >> >> thanks. I participated in the SG14 linear algebra calls and I think that >> the proposal is very valuable. If the proposal makes it into the standar= d >> IMHO we should integrate it into ublas and extend the current tensor >> concept. >> >> In any case, we need to redesign and make the implementation more >> readable anyways. For that reason >> >> - we started the tensor project in 2018 which has a cleaner interface ( >> wiki <https://github.com/boostorg/ublas/wiki/Tensor>) . >> - we had two great gsoc projects in 2019, one provides a more generic >> tensor template and the other enhancing the built-in expression template= s >> using boost::yap (wiki <https://github.com/BoostGSoC19/tensor/wiki>) >> - in gsoc 2020 we will hopefully have an experimental version of matrix >> and vector with a cleaner interface and implementation. >> >> Thanks again, we need such input! >> >> CB >> >> >> >> Am Fr., 20. M=C3=A4rz 2020 um 15:54 Uhr schrieb Riccardo Rossi via ublas= < >> [email protected]>: >> >>> Dear All, >>> >>> i am just a user, however i want to point out that there is some >>> standardization effort aiming at c++23 (or 26). >>> >>> If you eventually go for a redesign (and IMHO ublas has a need of it), = i >>> really think it would make sense to take a look at >>> >>> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1385r5.pdf >>> >>> sorry for the noise >>> >>> bests >>> Riccardo >>> >>> >>> >>> >>> On Fri, Mar 20, 2020 at 3:08 PM Aniket Chowdhury via ublas < >>> [email protected]> wrote: >>> >>>> Oh okay. GCC 10 is supposed to have the support for Ranges. The beta >>>> version supports Ranges and os going to get released in April. But, I = guess >>>> we can avoid that if they don't. Thanks. >>>> >>>> On Fri, 20 Mar 2020, 19:35 Cem Bassoy via ublas, <[email protected]= g> >>>> wrote: >>>> >>>>> Hello Aniket, >>>>> >>>>> I cannot tell you which direction is the best for you. However, I >>>>> recommend a topic that you are really interested in and that you want= to >>>>> continue even after GSOC. >>>>> >>>>> Clang and GCC still do not officially support Ranges - so I would >>>>> leave that out (https://en.cppreference.com/w/cpp/compiler_support). >>>>> Right now we should postpone the discussion of concepts for the tenso= r >>>>> type. >>>>> >>>>> Best, >>>>> CB >>>>> >>>>> Am Fr., 20. M=C3=A4rz 2020 um 13:54 Uhr schrieb Aniket Chowdhury via = ublas < >>>>> [email protected]>: >>>>> >>>>>> Hey Cem. >>>>>> I went through the draft proposal and had some questions. >>>>>> >>>>>> Which direction do you think I should pursue? I am more inclined >>>>>> towards refactoring the enitre data_frame because if I believe corre= ctly >>>>>> uBlas is moving towards C++20. Should I stick with ETs or can I use = Ranges >>>>>> and Concepts? >>>>>> >>>>>> I was thinking to stick to standard C++20 Ranges only instead of Eri= c >>>>>> Neibler's One Ranges v3 library considering std to be more relevant. >>>>>> >>>>>> >>>>>> >>>>>> On Wed, 18 Mar 2020, 23:49 Aniket Chowdhury, < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hey Cem. >>>>>>> Thanks for replying. Will do the needful and get back to you. >>>>>>> I understand that the proposal could do with a few more code >>>>>>> examples. >>>>>>> Thanks. >>>>>>> >>>>>>> On Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via ublas < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Aniket, >>>>>>>> >>>>>>>> thanks for considering Boost/uBLAS. Your potential mentor is David= . >>>>>>>> If he does not respond, just follow the instructions on the GSoC p= age and >>>>>>>> upload your proposal. >>>>>>>> >>>>>>>> Please note that we appreciate concrete (with code samples), >>>>>>>> realistic (regarding time) and referring (to previous or pull requ= ests) >>>>>>>> proposals. Concrete examples inside the proposal will help us to u= nderstand >>>>>>>> intention and it will demonstrate your experience and expertise. >>>>>>>> >>>>>>> I am pretty cobfident with the timeline that I have provided with. >>>>>> Again, regarding code examples should I add them for both C++20 and/= or ET? >>>>>> >>>>>>> >>>>>>>> Additionally, I advise to read >>>>>>>> >>>>>>>> - previous gsoc discussions on this or on the general boost >>>>>>>> mailing list >>>>>>>> - former gsoc student projects and proposals >>>>>>>> >>>>>>>> to have a good feeling of the requirements. >>>>>>>> >>>>>>>> Best, >>>>>>>> Cem >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Am Mo., 16. M=C3=A4rz 2020 um 23:15 Uhr schrieb Aniket Chowdhury v= ia >>>>>>>> ublas <[email protected]>: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> My name is Aniket Chowdhury >>>>>>>>> <https://github.com/aniket-chowdhury?tab=3Drepositories> and I am >>>>>>>>> second-year undergraduate student. >>>>>>>>> >>>>>>>>> I wish to implement the DataFrame library for Boost. I have made >>>>>>>>> the project proposal and am attaching the same. >>>>>>>>> As, this project is an expansion of the previous project >>>>>>>>> <https://github.com/BoostGSoC19/data_frame> there are a few >>>>>>>>> directions that I would like to work in whichever adds more to th= e project. >>>>>>>>> >>>>>>>>> 1. We could be to keep the existing code base as it is and >>>>>>>>> implement new features on top of it. >>>>>>>>> 2. We could try to restructure the code into *Modules*(C++20 >>>>>>>>> feature) and then implement the features. >>>>>>>>> 3. Or, we could restructure the code without ET but rather using = *C++20 >>>>>>>>> One Ranges*. This makes more sense to me as I believe that uBlas >>>>>>>>> is being ported to C++20. >>>>>>>>> >>>>>>>>> The DataFrame would include the following features: >>>>>>>>> 1. All the features already present(union, combine, join). >>>>>>>>> 2. Read/write from *DataFrame using JSON*(boost::property_tree to >>>>>>>>> DataFrame) >>>>>>>>> 3. Operator support for addition, subtraction, multiplication, >>>>>>>>> division, modulo and power, etc as well as support for comparison >>>>>>>>> operators. >>>>>>>>> 4. Functions to perform apply, apply_element_wise, aggregate, >>>>>>>>> transform and expand on a given DataFrame. >>>>>>>>> 5. Data analysis tools for standard deviation, variance, mean, >>>>>>>>> etc. >>>>>>>>> 6. Re-indexing methods like replace, duplicate, filter, etc. >>>>>>>>> 7. Reshaping methods for sorting, append, pivot, etc. >>>>>>>>> >>>>>>>> Also, could you tell me if I am on the right track regarding the >>>>>> free form functions that Boost is looking for? >>>>>> >>>>>>> >>>>>>>>> *Full Details* of the same can be found in the *Project Proposal*= . >>>>>>>>> >>>>>>>>> I have been in contact with David Bellot for the past week >>>>>>>>> regarding GSoC. I have completed the first draft of the competenc= y check >>>>>>>>> and sent the same to him. I would love to work I am requesting h= im to be >>>>>>>>> assigned as a mentor for the same. >>>>>>>>> *PFA: *The Project Proposal >>>>>>>>> <https://docs.google.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeI= ERKXGVX6GJSSdBo/edit?usp=3Dsharing>(linked >>>>>>>>> in case the attachment fails) >>>>>>>>> >>>>>>>> Here was the old proposal. >>>>>> >>>>>>> >>>>>>>>> This is an official application for the GSoC' 20. I am open to an= y >>>>>>>>> and all suggestions. >>>>>>>>> >>>>>>>>> Aniket Chowdhury >>>>>>>>> _______________________________________________ >>>>>>>>> ublas mailing list >>>>>>>>> [email protected] >>>>>>>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>>>>>>> Sent to: [email protected] >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ublas mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>>>>>> Sent to: [email protected] >>>>>>>> >>>>>>> _______________________________________________ >>>>>> ublas mailing list >>>>>> [email protected] >>>>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>>>> Sent to: [email protected] >>>>>> >>>>> _______________________________________________ >>>>> ublas mailing list >>>>> [email protected] >>>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>>> Sent to: [email protected] >>>>> >>>> _______________________________________________ >>>> ublas mailing list >>>> [email protected] >>>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>>> Sent to: [email protected] >>>> >>> >>> >>> -- >>> >>> >>> *Riccardo Rossi* >>> >>> PhD, Civil Engineer >>> >>> >>> member of the Kratos Team: www.cimne.com/kratos >>> >>> Associate Professor at Universitat Polit=C3=A8cnica de Catalunya, >>> BarcelonaTech (UPC) >>> >>> Full Research Professor at International Center for Numerical Methods i= n >>> Engineering (CIMNE) >>> >>> >>> C/ Gran Capit=C3=A0, s/n, Campus Nord UPC, Building C1, First Floor >>> >>> 08034 =E2=80=93 Barcelona =E2=80=93 Spain =E2=80=93 www.cimne.com - >>> >>> T.(+34) 93 401 56 96 skype: *rougered4* >>> >>> >>> >>> <http://www.cimne.com/> >>> >>> <https://www.facebook.com/cimne> <http://blog.cimne.com/> >>> <http://vimeo.com/cimne> <http://www.youtube.com/user/CIMNEvideos> >>> <http://www.linkedin.com/company/cimne> <https://twitter.com/cimne> >>> >>> Les dades personals contingudes en aquest missatge s=C3=B3n tractades a= mb la >>> finalitat de mantenir el contacte professional entre CIMNE i voste. Pod= ra >>> exercir els drets d'acc=C3=A9s, rectificaci=C3=B3, cancel=C2=B7laci=C3= =B3 i oposici=C3=B3, >>> dirigint-se a [email protected]. La utilitzaci=C3=B3 de la seva adre= =C3=A7a de >>> correu electronic per part de CIMNE queda subjecte a les disposicions d= e la >>> Llei 34/2002, de Serveis de la Societat de la Informaci=C3=B3 i el Come= r=C3=A7 >>> Electronic. >>> >>> Imprimiu aquest missatge, nom=C3=A9s si =C3=A9s estrictament necessari= . >>> <http://www.cimne.com/> >>> _______________________________________________ >>> ublas mailing list >>> [email protected] >>> https://lists.boost.org/mailman/listinfo.cgi/ublas >>> Sent to: [email protected] >>> >> _______________________________________________ >> ublas mailing list >> [email protected] >> https://lists.boost.org/mailman/listinfo.cgi/ublas >> Sent to: [email protected] >> > _______________________________________________ > ublas mailing list > [email protected] > https://lists.boost.org/mailman/listinfo.cgi/ublas > Sent to: [email protected] > --000000000000f79e1805a17505f5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">I honestly think the MetaClass feature would really clean= up all the uBlas code. But, it will be=C2=A0 a while before we see it in G= CC releases. Modules as well I think.=C2=A0</div><br><div class=3D"gmail_qu= ote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, 20 Mar 2020, 21:13 Steve= n Varga via ublas, <<a href=3D"mailto:[email protected]">ublas@lists= .boost.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir= =3D"ltr">Hi Everyone,<div>similarly=C2=A0to Riccardo I am a consumer to ubl= as; also the author of <a href=3D"http://isc19.h5cpp.org/#/" target=3D"_bla= nk" rel=3D"noreferrer">H5CPP</a>=C2=A0 a scalable non-intrusive persistence= for linear algebra support, <a href=3D"http://h5cpp.org/ublas_8cpp-example= .html" target=3D"_blank" rel=3D"noreferrer">which includes UBLAS</a>. I am = excited about the development and wondering where is the best to follow the= development:=C2=A0<a href=3D"https://github.com/boostorg/ublas" target=3D"= _blank" rel=3D"noreferrer">https://github.com/boostorg/ublas</a>=C2=A0?</di= v><div><br></div><div>sorry for the noise:</div><div>steven</div></div><br>= <div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Ma= r 20, 2020 at 11:19 AM Cem Bassoy via ublas <<a href=3D"mailto:ublas@lis= ts.boost.org" target=3D"_blank" rel=3D"noreferrer">[email protected]</a= >> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px= 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><di= v dir=3D"ltr"><div>Riccardo, <br></div><div><br></div><div>thanks. I partic= ipated in the SG14 linear algebra calls and I think that the proposal is ve= ry valuable. If the proposal makes it into the standard IMHO we should inte= grate it into ublas and extend the current tensor concept. <br></div><div><= br></div><div></div><div>In any case, we need to redesign and make the impl= ementation more readable anyways. For that reason<br></div><div><br></div><= div>- we started the tensor project in 2018 which has a cleaner interface (= <a href=3D"https://github.com/boostorg/ublas/wiki/Tensor" target=3D"_blank"= rel=3D"noreferrer">wiki</a>) .</div><div> - we had two great gsoc projects= in 2019, one provides a more generic tensor template and the other enhanci= ng the built-in expression templates using boost::yap (<a href=3D"https://g= ithub.com/BoostGSoC19/tensor/wiki" target=3D"_blank" rel=3D"noreferrer">wik= i</a>)</div><div>- in gsoc 2020 we will hopefully have an experimental vers= ion of matrix and vector with a cleaner interface and implementation.<br></= div><div><br></div><div>Thanks again, we need such input!</div><div><br></d= iv><div>CB<br></div><div><br></div><div><br></div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Am Fr., 20. M=C3=A4rz 202= 0 um 15:54=C2=A0Uhr schrieb Riccardo Rossi via ublas <<a href=3D"mailto:= [email protected]" target=3D"_blank" rel=3D"noreferrer">[email protected]= st.org</a>>:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:= 0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">= <div dir=3D"ltr"><div>Dear All,</div><div><br></div><div>i am just a user, = however i want to point out that there is some standardization effort aimin= g at c++23 (or 26).</div><div><br></div><div>If you eventually go for a red= esign (and IMHO ublas has a need of it), i really think it would make sense= to take a look at <br></div><div><br></div><div><a href=3D"http://www.open= -std.org/jtc1/sc22/wg21/docs/papers/2020/p1385r5.pdf" target=3D"_blank" rel= =3D"noreferrer">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p13= 85r5.pdf</a></div><div><br></div><div>sorry for the noise <br></div><div><b= r></div><div>bests</div><div>Riccardo<br></div><div><br></div><div><br></di= v><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas= s=3D"gmail_attr">On Fri, Mar 20, 2020 at 3:08 PM Aniket Chowdhury via ublas= <<a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"nore= ferrer">[email protected]</a>> wrote:<br></div><blockquote class=3D"= gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20= 4,204,204);padding-left:1ex"><div dir=3D"auto">Oh okay. GCC 10 is supposed = to have the support for Ranges. The beta version supports Ranges and os goi= ng to get released in April. But, I guess we can avoid that if they don'= ;t. Thanks.=C2=A0</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas= s=3D"gmail_attr">On Fri, 20 Mar 2020, 19:35 Cem Bassoy via ublas, <<a hr= ef=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">ub= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quot= e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)= ;padding-left:1ex"><div dir=3D"ltr"><div>Hello Aniket,</div><div><br></div>= <div>I cannot tell you which direction is the best for you. However, I reco= mmend a topic that you are really interested in and that you want to contin= ue even after GSOC. <br></div><div><br></div><div>Clang and GCC still do no= t officially support Ranges - so I would leave that out (<a href=3D"https:/= /en.cppreference.com/w/cpp/compiler_support" rel=3D"noreferrer noreferrer" = target=3D"_blank">https://en.cppreference.com/w/cpp/compiler_support</a>).<= br></div><div>Right now we should postpone the discussion of concepts for t= he tensor type.<br></div><div><br></div><div>Best,</div><div>CB<br></div><b= r><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Am Fr., = 20. M=C3=A4rz 2020 um 13:54=C2=A0Uhr schrieb Aniket Chowdhury via ublas <= ;<a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer" tar= get=3D"_blank">[email protected]</a>>:<br></div><blockquote class=3D= "gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2= 04,204,204);padding-left:1ex"><div dir=3D"auto">Hey Cem.=C2=A0<div dir=3D"a= uto">I went through the draft proposal and had some questions.<div dir=3D"a= uto"><br></div><div dir=3D"auto">Which direction do you think I should purs= ue? I am more inclined towards refactoring the enitre data_frame because if= I believe correctly uBlas is moving towards C++20. Should I stick with ETs= or can I use Ranges and Concepts?=C2=A0</div><div dir=3D"auto"><br></div><= div dir=3D"auto">I was thinking to stick to standard C++20 Ranges only inst= ead of Eric Neibler's One Ranges v3 library considering std to be more = relevant.=C2=A0</div><div dir=3D"auto"><br></div></div><br><br><div class= =3D"gmail_quote" dir=3D"auto"><div dir=3D"ltr" class=3D"gmail_attr">On Wed,= 18 Mar 2020, 23:49 Aniket Chowdhury, <<a href=3D"mailto:8.aniket.chowdh= [email protected]" rel=3D"noreferrer noreferrer" target=3D"_blank">8.aniket.cho= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa= dding-left:1ex"><div dir=3D"ltr">Hey Cem.<div>Thanks for replying. Will do = the needful and get back to you.=C2=A0</div><div>I understand that the prop= osal could do with a few more code examples.=C2=A0</div><div>Thanks.</div><= /div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">O= n Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via ublas <<a href=3D"mailto:u= [email protected]" rel=3D"noreferrer noreferrer noreferrer" target=3D"_b= lank">[email protected]</a>> wrote:<br></div><blockquote class=3D"gm= ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,= 204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi Aniket,</div><div><br><= /div><div>thanks for considering Boost/uBLAS. Your potential mentor is Davi= d. If he does not respond, just follow the instructions on the GSoC page an= d upload your proposal.</div><div><br></div><div>Please note that we apprec= iate concrete (with code samples), realistic (regarding time) and referring= (to previous or pull requests) proposals. Concrete examples inside the pro= posal will help us to understand intention and it will demonstrate your exp= erience and expertise. <br></div></div></blockquote></div></blockquote></di= v><div dir=3D"auto">I am pretty cobfident with the timeline that I have pro= vided with. Again, regarding code examples should I add them for both C++20= and/or ET?</div><div class=3D"gmail_quote" dir=3D"auto"><blockquote class= =3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg= b(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blockquote cla= ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid = rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div></div><div><br></d= iv><div>Additionally, I advise to read </div><div><ul><li>previous gsoc dis= cussions on this or on the general boost mailing list</li><li>former gsoc s= tudent projects and proposals</li></ul><div>to have a good feeling of the r= equirements.<br></div></div><div><br></div><div>Best,</div><div>Cem<br></di= v><div><br></div><div><br></div></div><br><div class=3D"gmail_quote"><div d= ir=3D"ltr" class=3D"gmail_attr">Am Mo., 16. M=C3=A4rz 2020 um 23:15=C2=A0Uh= r schrieb Aniket Chowdhury via ublas <<a href=3D"mailto:[email protected]= t.org" rel=3D"noreferrer noreferrer noreferrer" target=3D"_blank">ublas@lis= ts.boost.org</a>>:<br></div><blockquote class=3D"gmail_quote" style=3D"m= argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left= :1ex"><div dir=3D"ltr">Hi,=C2=A0<div>My name is=C2=A0<a href=3D"https://git= hub.com/aniket-chowdhury?tab=3Drepositories" rel=3D"noreferrer noreferrer n= oreferrer" target=3D"_blank">Aniket Chowdhury</a>=C2=A0and I am second-year= undergraduate student.</div><div><br></div><div>I wish to implement the Da= taFrame library for Boost. I have made the project proposal and am attachin= g the same.</div><div><div><div><div></div></div></div><div></div></div><di= v>As, this project is an expansion of the=C2=A0<a href=3D"https://github.co= m/BoostGSoC19/data_frame" rel=3D"noreferrer noreferrer noreferrer" target= =3D"_blank">previous project</a>=C2=A0there are a few directions that I wou= ld like to work in whichever adds more to the project.</div><div><br></div>= <div>1. We could be to keep the existing code base as it is and implement n= ew features on top of it.</div><div>2. We could try to restructure the code= into=C2=A0<b>Modules</b>(C++20 feature) and then implement the features.</= div><div>3. Or, we could restructure the code without=C2=A0ET but rather us= ing=C2=A0<b>C++20 One Ranges</b>. This makes more sense to me as I believe = that uBlas is being ported to C++20.</div><div><br></div><div>The DataFrame= would include the following features:</div><div>1. All the features alread= y present(union, combine, join).</div><div>2. Read/write from=C2=A0<b>DataF= rame using JSON</b>(<span style=3D"background-color:transparent;color:rgb(3= 6,39,41);font-family:"Courier New";white-space:pre-wrap">boost::p= roperty_tree to DataFrame</span>)</div><div>3. Operator support for=C2=A0<s= pan style=3D"background-color:transparent;color:rgb(0,0,0);font-family:&quo= t;Proxima Nova",sans-serif;font-weight:700;white-space:pre-wrap">addit= ion, subtraction, multiplication, division, modulo and power, etc </span><s= pan style=3D"background-color:transparent;color:rgb(0,0,0);font-family:&quo= t;Proxima Nova",sans-serif;white-space:pre-wrap">as well as support fo= r comparison operators.</span></div><div>4. Functions to perform<span style= =3D"background-color:transparent;font-variant-numeric:normal;font-variant-e= ast-asian:normal;font-family:"Proxima Nova",sans-serif;color:rgb(= 0,0,0);vertical-align:baseline;white-space:pre-wrap"> </span><span style=3D= "background-color:transparent;font-variant-numeric:normal;font-variant-east= -asian:normal;font-family:"Proxima Nova",sans-serif;color:rgb(0,0= ,0);font-weight:700;vertical-align:baseline;white-space:pre-wrap">apply, ap= ply_element_wise, aggregate, transform and expand</span><span style=3D"back= ground-color:transparent;font-variant-numeric:normal;font-variant-east-asia= n:normal;font-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);v= ertical-align:baseline;white-space:pre-wrap"> on a given DataFrame.</span><= br></div>5. Data analysis tools for=C2=A0<span id=3D"m_8687423337213644701g= mail-m_-657623548330219986gmail-m_-5685598604671995561gmail-m_9168170079493= 276128m_-8301385799675461752m_-7376762986148225264gmail-m_-1255839329218212= 103m_-7149760812391761650gmail-m_-8094012315361310134gmail-m_13728981592829= 83835gmail-m_2539347862788583833gmail-m_-63067745495130108gmail-docs-intern= al-guid-7ab2eedf-7fff-5324-29fc-108f6de832ec"><span style=3D"font-family:&q= uot;Proxima Nova",sans-serif;color:rgb(0,0,0);background-color:transpa= rent;font-weight:700;font-variant-numeric:normal;font-variant-east-asian:no= rmal;vertical-align:baseline;white-space:pre-wrap">standard deviation, vari= ance, mean, etc.</span></span><div>6. Re-indexing methods like=C2=A0<span i= d=3D"m_8687423337213644701gmail-m_-657623548330219986gmail-m_-5685598604671= 995561gmail-m_9168170079493276128m_-8301385799675461752m_-73767629861482252= 64gmail-m_-1255839329218212103m_-7149760812391761650gmail-m_-80940123153613= 10134gmail-m_1372898159282983835gmail-m_2539347862788583833gmail-m_-6306774= 5495130108gmail-docs-internal-guid-97de9fde-7fff-ff47-7f83-0a08903e6481"><s= pan style=3D"font-family:"Proxima Nova",sans-serif;color:rgb(0,0,= 0);background-color:transparent;font-weight:700;font-variant-numeric:normal= ;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wra= p">replace, duplicate, filter, etc.</span></span></div><div>7. Reshaping me= thods for=C2=A0<span id=3D"m_8687423337213644701gmail-m_-657623548330219986= gmail-m_-5685598604671995561gmail-m_9168170079493276128m_-83013857996754617= 52m_-7376762986148225264gmail-m_-1255839329218212103m_-7149760812391761650g= mail-m_-8094012315361310134gmail-m_1372898159282983835gmail-m_2539347862788= 583833gmail-m_-63067745495130108gmail-docs-internal-guid-ed39d162-7fff-e164= -cd1e-4f0db510492b"><span style=3D"font-family:"Proxima Nova",san= s-serif;color:rgb(0,0,0);background-color:transparent;font-weight:700;font-= variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseli= ne;white-space:pre-wrap">sorting, append, pivot, etc.</span></span></div></= div></blockquote></div></blockquote></div></blockquote></div><div dir=3D"au= to"><span style=3D"font-family:sans-serif">Also, could you tell me if I am = on the right track regarding the free form functions that Boost is looking = for?</span><br></div><div class=3D"gmail_quote" dir=3D"auto"><blockquote cl= ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid= rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blockquote = class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol= id rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_quote"><blockquot= e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s= olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div><span style= =3D"font-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);backgr= ound-color:transparent;font-weight:700;font-variant-numeric:normal;font-var= iant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"></span= ></div><div><font face=3D"Proxima Nova, sans-serif" color=3D"#000000"><span= style=3D"white-space:pre-wrap"><br></span></font></div><div><font face=3D"= Proxima Nova, sans-serif" color=3D"#000000"><span style=3D"white-space:pre-= wrap"><b>Full Details</b> of the same can be found in the <b>Project Propos= al</b>.<b><br></b></span></font><div><div><br></div><div>I have been in con= tact with David Bellot for the past week regarding GSoC. I have completed t= he first draft of the competency check and sent the same to him. I would lo= ve to work=C2=A0 I am requesting him to be assigned as a mentor for the sam= e.</div></div></div><div><div><b>PFA:=C2=A0</b><a href=3D"https://docs.goog= le.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERKXGVX6GJSSdBo/edit?usp=3Ds= haring" style=3D"font-weight:bold" rel=3D"noreferrer noreferrer noreferrer"= target=3D"_blank">The Project Proposal</a>(linked in case the attachment f= ails)<br></div></div></div></blockquote></div></blockquote></div></blockquo= te></div><div dir=3D"auto">Here was the old proposal.=C2=A0</div><div class= =3D"gmail_quote" dir=3D"auto"><blockquote class=3D"gmail_quote" style=3D"ma= rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:= 1ex"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"= margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef= t:1ex"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex"><div dir=3D"ltr"><div><div></div><div><br></div><div>This is an = official application for the GSoC' 20. I am open to any and all suggest= ions.=C2=A0</div><font color=3D"#888888"><div><br></div></font></div><font = color=3D"#888888"><div>Aniket Chowdhury</div></font></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer noref= errer" target=3D"_blank">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer noreferrer noreferrer" target=3D"_blank">https://lists.boo= st.org/mailman/listinfo.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferr= er noreferrer" target=3D"_blank">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer noref= errer" target=3D"_blank">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer noreferrer noreferrer" target=3D"_blank">https://lists.boo= st.org/mailman/listinfo.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer = noreferrer noreferrer" target=3D"_blank">[email protected]</a><b= r> </blockquote></div> </blockquote></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer" targ= et=3D"_blank">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer noreferrer" target=3D"_blank">https://lists.boost.org/mail= man/listinfo.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferr= er" target=3D"_blank">[email protected]</a><br> </blockquote></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer" targ= et=3D"_blank">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer noreferrer" target=3D"_blank">https://lists.boost.org/mail= man/listinfo.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer = noreferrer" target=3D"_blank">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"n= oreferrer">[email protected]</a><br> </blockquote></div><br clear=3D"all"><br>-- <br><div dir=3D"ltr"><div dir= =3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr">= <div><div dir=3D"ltr"><p></p><div><div dir=3D"ltr"><p style=3D"padding:0px;= margin:0px;font-family:Arial,Helvetica,sans-serif;color:rgb(0,73,150);line-= height:18px"><b>Riccardo Rossi<br></b></p><p style=3D"padding:0px;margin:0p= x;font-family:Arial,Helvetica,sans-serif;color:rgb(120,120,120);font-size:1= 2px;line-height:18px"> PhD, Civil Engineer</p><p style=3D"padding:0px;margin:0px;font-family:Arial= ,Helvetica,sans-serif;color:rgb(120,120,120);font-size:12px;line-height:18p= x"><br></p><p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,s= ans-serif;color:rgb(120,120,120);font-size:12px;line-height:18px">member of= the Kratos Team: <a href=3D"http://www.cimne.com/kratos" target=3D"_blank"= rel=3D"noreferrer">www.cimne.com/kratos</a><br></p><p style=3D"padding:0px= ;margin:0px"><span style=3D"color:rgb(120,120,120);font-family:Arial,Helvet= ica,sans-serif;font-size:12px;line-height:18px">Associate Professor at Univ= ersitat Polit=C3=A8cnica de Catalunya, BarcelonaTech (UPC)</span><br> </p><p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans-ser= if;color:rgb(120,120,120);font-size:12px;line-height:18px">Full Research Pr= ofessor at International Center for Numerical Methods in Engineering (CIMNE= )</p><p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans-se= rif;color:rgb(120,120,120);font-size:12px;line-height:18px"> <br></p><p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans= -serif;color:rgb(120,120,120);font-size:12px;line-height:18px">C/ Gran Capi= t=C3=A0, s/n, Campus Nord UPC, Building C1, First Floor</p><p style=3D"padd= ing:0px;margin:0px;font-family:Arial,Helvetica,sans-serif;color:rgb(120,120= ,120);font-size:12px;line-height:18px"> 08034 =E2=80=93 Barcelona =E2=80=93 Spain =E2=80=93 <a href=3D"http://www.c= imne.com" target=3D"_blank" rel=3D"noreferrer">www.cimne.com</a>=C2=A0 -=C2= =A0</p><p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans-= serif;color:rgb(120,120,120);font-size:12px;line-height:18px"> <span>T</span>.<a value=3D"+34934010794" rel=3D"noreferrer">(+34) 93 401 56= 96</a> skype: <b>rougered4</b><br></p><p style=3D"padding:0px;margin:0px;f= ont-family:Arial,Helvetica,sans-serif;color:rgb(120,120,120);font-size:12px= ;line-height:18px">=C2=A0</p><p style=3D"padding:0px;margin:0px;font-family= :Arial,Helvetica,sans-serif;color:rgb(120,120,120);font-size:12px;line-heig= ht:11px"> <a href=3D"http://www.cimne.com/" target=3D"_blank" rel=3D"noreferrer"><img= src=3D"https://web.cimne.upc.edu/groups/publicacions/signatura/logo_cimne_= negre.png" width=3D"80" height=3D"17" border=3D"0"></a></p><p style=3D"font= -size:medium;font-family:"Times New Roman""> <a href=3D"https://www.facebook.com/cimne" target=3D"_blank" rel=3D"norefer= rer"><img src=3D"https://web.cimne.upc.edu/groups/publicacions/signatura/fa= cebook-logo.png" width=3D"24" height=3D"24" border=3D"0"></a><a href=3D"htt= p://blog.cimne.com/" target=3D"_blank" rel=3D"noreferrer"><img src=3D"https= ://web.cimne.upc.edu/groups/publicacions/signatura/wordpress.png" width=3D"= 24" height=3D"24" border=3D"0"></a><a href=3D"http://vimeo.com/cimne" targe= t=3D"_blank" rel=3D"noreferrer"><img src=3D"https://web.cimne.upc.edu/group= s/publicacions/signatura/vimeo.png" width=3D"24" height=3D"24" border=3D"0"= ></a><a href=3D"http://www.youtube.com/user/CIMNEvideos" target=3D"_blank" = rel=3D"noreferrer"><img src=3D"https://web.cimne.upc.edu/groups/publicacion= s/signatura/you-tube1.png" width=3D"24" height=3D"24" border=3D"0"></a><a h= ref=3D"http://www.linkedin.com/company/cimne" target=3D"_blank" rel=3D"nore= ferrer"><img src=3D"https://web.cimne.upc.edu/groups/publicacions/signatura= /linkedin-logo.png" width=3D"24" height=3D"24" border=3D"0"></a><a href=3D"= https://twitter.com/cimne" target=3D"_blank" rel=3D"noreferrer"><img src=3D= "https://web.cimne.upc.edu/groups/publicacions/signatura/twitter.png" width= =3D"24" height=3D"24" border=3D"0"></a></p> <p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans-serif;c= olor:rgb(155,155,155);font-size:10px;line-height:14px">Les dades personals contingudes en aquest missatge s=C3=B3n tractades amb la= =20 finalitat de mantenir el contacte professional entre CIMNE i voste. Podra e= xercir els drets d'acc=C3=A9s, rectificaci=C3=B3, cancel=C2=B7laci=C3= =B3 i oposici=C3=B3, dirigint-se a <a href=3D"mailto:[email protected]" t= arget=3D"_blank" rel=3D"noreferrer">[email protected]</a>. La utilitzaci= =C3=B3 de la seva adre=C3=A7a de correu electronic per part de CIMNE queda subjecte a les disposicions de la Llei 34/2002, de Serveis de la Societat de la Informaci=C3=B3 i el Comer=C3=A7 Electroni= c.</p> <p style=3D"padding:0px;margin:0px;font-family:Arial,Helvetica,sans-serif;c= olor:rgb(4,155,2);font-size:10px;line-height:18px"><img src=3D"https://web.= cimne.upc.edu/groups/publicacions/signatura/image002.png" width=3D"20" heig= ht=3D"17">=C2=A0Imprimiu aquest missatge, nom=C3=A9s si =C3=A9s estrictamen= t necessari.</p> </div></div><span lang=3D"ES"><a href=3D"http://www.cimne.com/" target=3D"_= blank" rel=3D"noreferrer"><span style=3D"font-size:10pt;font-family:Arial,s= ans-serif"></span></a></span></div></div></div></div></div></div></div></di= v></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"n= oreferrer">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D= "noreferrer">[email protected]</a><br> </blockquote></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferre= r">[email protected]</a><br> <a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref= errer noreferrer" target=3D"_blank">https://lists.boost.org/mailman/listinf= o.cgi/ublas</a><br> Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank" = rel=3D"noreferrer">[email protected]</a><br> </blockquote></div> --000000000000f79e1805a17505f5-- --===============4460495177998467045== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline