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, &lt;<a href=3D"mailto:[email protected]">ublas@lists=
.boost.org</a>&gt; 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 &lt;<a href=3D"mailto:ublas@lis=
ts.boost.org" target=3D"_blank" rel=3D"noreferrer">[email protected]</a=
>&gt; 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 &lt;<a href=3D"mailto:=
[email protected]" target=3D"_blank" rel=3D"noreferrer">[email protected]=
st.org</a>&gt;:<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=
 &lt;<a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"nore=
ferrer">[email protected]</a>&gt; 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&#39=
;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, &lt;<a hr=
ef=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">ub=
[email protected]</a>&gt; 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 &lt=
;<a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer" tar=
get=3D"_blank">[email protected]</a>&gt;:<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&#39;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, &lt;<a href=3D"mailto:8.aniket.chowdh=
[email protected]" rel=3D"noreferrer noreferrer" target=3D"_blank">8.aniket.cho=
[email protected]</a>&gt; 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 &lt;<a href=3D"mailto:u=
[email protected]" rel=3D"noreferrer noreferrer noreferrer" target=3D"_b=
lank">[email protected]</a>&gt; 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 &lt;<a href=3D"mailto:[email protected]=
t.org" rel=3D"noreferrer noreferrer noreferrer" target=3D"_blank">ublas@lis=
ts.boost.org</a>&gt;:<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:&quot;Courier New&quot;;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&quot;,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&quot;,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:&quot;Proxima Nova&quot;,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:&quot;Proxima Nova&quot;,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:&quot;Proxima Nova&quot;,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&quot;,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:&quot;Proxima Nova&quot;,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:&quot;Proxima Nova&quot;,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:&quot;Proxima Nova&quot;,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&#39; 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:&quot;Times New Roman&quot;">

<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&#39;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