Re: [GSOC2020][Boost.uBLAS] uBLAS DataFrame feature
Riccardo Rossi via ublas <[email protected]> Fri, 20 Mar 2020 15:24:41 +0100
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAOVdALwsbjMUE50BE463hs8W3vdnB7KDeaQQMp1qH9xQ6oxoXQ@mail.gmail.com> |
--===============2636322322108311846== Content-Type: multipart/alternative; boundary="00000000000075fd2705a14a0c7a" --00000000000075fd2705a14a0c7a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 gue= ss > we can avoid that if they don't. Thanks. > > On Fri, 20 Mar 2020, 19:35 Cem Bassoy via ublas, <[email protected]> > 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 tensor >> type. >> >> Best, >> CB >> >> Am Fr., 20. M=C3=A4rz 2020 um 13:54 Uhr schrieb Aniket Chowdhury via ubl= as < >> [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 toward= s >>> 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? >>> >>> I was thinking to stick to standard C++20 Ranges only instead of Eric >>> 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. I= f >>>>> he does not respond, just follow the instructions on the GSoC page an= d >>>>> upload your proposal. >>>>> >>>>> Please note that we appreciate concrete (with code samples), realisti= c >>>>> (regarding time) and referring (to previous or pull requests) proposa= ls. >>>>> Concrete examples inside the proposal will help us to understand inte= ntion >>>>> 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 via = 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 the p= roject. >>>>>> >>>>>> 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 competency check and s= ent the >>>>>> same to him. I would love to work I am requesting him to be assigne= d as a >>>>>> mentor for the same. >>>>>> *PFA: *The Project Proposal >>>>>> <https://docs.google.com/document/d/1wyegbUEbpOopaQSWtFd0a_ch4QeIERK= XGVX6GJSSdBo/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 any >>>>>> 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] > --=20 *Riccardo Rossi* PhD, Civil Engineer member of the Kratos Team: www.cimne.com/kratos Associate Professor at Universitat Polit=C3=A8cnica de Catalunya, Barcelona= Tech (UPC) Full Research Professor at International Center for Numerical Methods in 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 amb l= a finalitat de mantenir el contacte professional entre CIMNE i voste. Podra 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 de la Llei 34/2002, de Serveis de la Societat de la Informaci=C3=B3 i el Comer=C3= =A7 Electronic. Imprimiu aquest missatge, nom=C3=A9s si =C3=A9s estrictament necessari. <http://www.cimne.com/> --00000000000075fd2705a14a0c7a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <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">http://www.open-std.o= rg/jtc1/sc22/wg21/docs/papers/2020/p1385r5.pdf</a></div><div><br></div><div= >sorry for the noise <br></div><div><br></div><div>bests</div><div>Riccardo= <br></div><div><br></div><div><br></div><div><br></div></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 20, 2020= at 3:08 PM Aniket Chowdhury via ublas <<a href=3D"mailto:[email protected]= ost.org">[email protected]</a>> wrote:<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">Oh okay. GCC 10 is supposed= to have the support for Ranges. The beta version supports Ranges and os go= ing to get released in April. But, I guess we can avoid that if they don= 9;t. Thanks.=C2=A0</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cla= ss=3D"gmail_attr">On Fri, 20 Mar 2020, 19:35 Cem Bassoy via ublas, <<a h= ref=3D"mailto:[email protected]" target=3D"_blank">[email protected]= g</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"= ><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 recommend a topic that= you are really interested in and that you want to continue even after GSOC= . <br></div><div><br></div><div>Clang and GCC still do not officially suppo= rt Ranges - so I would leave that out (<a href=3D"https://en.cppreference.c= om/w/cpp/compiler_support" rel=3D"noreferrer" target=3D"_blank">https://en.= cppreference.com/w/cpp/compiler_support</a>).<br></div><div>Right now we sh= ould postpone the discussion of concepts for the tensor type.<br></div><div= ><br></div><div>Best,</div><div>CB<br></div><br><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:ublas@li= sts.boost.org" rel=3D"noreferrer" target=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(204,204,204);padding-left:1ex"><div dir= =3D"auto">Hey Cem.=C2=A0<div dir=3D"auto">I went through the draft proposal= and had some questions.<div dir=3D"auto"><br></div><div dir=3D"auto">Which= direction do you think I should pursue? I am more inclined towards refacto= ring the enitre data_frame because if I believe correctly uBlas is moving t= owards 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 st= ick to standard C++20 Ranges only instead 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:[email protected]" rel=3D"noreferrer" targ= et=3D"_blank">[email protected]</a>> wrote:<br></div><blockqu= ote 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">Hey Cem.<div>Tha= nks for replying. Will do the needful and get back to you.=C2=A0</div><div>= I understand that the proposal 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">On Wed, Mar 18, 2020 at 8:15 PM Cem Bassoy via u= blas <<a href=3D"mailto:[email protected]" rel=3D"noreferrer norefer= rer" target=3D"_blank">[email protected]</a>> wrote:<br></div><block= quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px 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 potenti= al mentor is David. If he does not respond, just follow the instructions on= the GSoC page and upload your proposal.</div><div><br></div><div>Please no= te that we appreciate concrete (with code samples), realistic (regarding ti= me) and referring (to previous or pull requests) proposals. Concrete exampl= es inside the proposal will help us to understand intention and it will dem= onstrate your experience and expertise. <br></div></div></blockquote></div>= </blockquote></div><div dir=3D"auto">I am pretty cobfident with the timelin= e that I have provided with. Again, regarding code examples should I add th= em 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-l= eft: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-left:1ex"><div dir=3D"ltr"><div></= div><div><br></div><div>Additionally, I advise to read </div><div><ul><li>p= revious gsoc discussions on this or on the general boost mailing list</li><= li>former gsoc student projects and proposals</li></ul><div>to have a good = feeling of the requirements.<br></div></div><div><br></div><div>Best,</div>= <div>Cem<br></div><div><br></div><div><br></div></div><br><div class=3D"gma= il_quote"><div dir=3D"ltr" class=3D"gmail_attr">Am Mo., 16. M=C3=A4rz 2020 = um 23:15=C2=A0Uhr schrieb Aniket Chowdhury via ublas <<a href=3D"mailto:= [email protected]" rel=3D"noreferrer noreferrer" target=3D"_blank">ubla= [email protected]</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">Hi,=C2=A0<div>My name is=C2=A0<a href=3D"https:= //github.com/aniket-chowdhury?tab=3Drepositories" rel=3D"noreferrer norefer= rer" target=3D"_blank">Aniket Chowdhury</a>=C2=A0and I am second-year under= graduate student.</div><div><br></div><div>I wish to implement the DataFram= e library for Boost. I have made the project proposal and am attaching the = same.</div><div><div><div><div></div></div></div><div></div></div><div>As, = this project is an expansion of the=C2=A0<a href=3D"https://github.com/Boos= tGSoC19/data_frame" rel=3D"noreferrer noreferrer" target=3D"_blank">previou= s project</a>=C2=A0there are a few directions that I would 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 new features on top = of it.</div><div>2. We could try to restructure the code into=C2=A0<b>Modul= es</b>(C++20 feature) and then implement the features.</div><div>3. Or, we = could restructure the code without=C2=A0ET but rather using=C2=A0<b>C++20 O= ne 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 already present(union, co= mbine, join).</div><div>2. Read/write from=C2=A0<b>DataFrame using JSON</b>= (<span style=3D"background-color:transparent;color:rgb(36,39,41);font-famil= y:"Courier New";white-space:pre-wrap">boost::property_tree to Dat= aFrame</span>)</div><div>3. Operator support for=C2=A0<span style=3D"backgr= ound-color:transparent;color:rgb(0,0,0);font-family:"Proxima Nova"= ;,sans-serif;font-weight:700;white-space:pre-wrap">addition, subtraction, m= ultiplication, division, modulo and power, etc </span><span style=3D"backgr= ound-color:transparent;color:rgb(0,0,0);font-family:"Proxima Nova"= ;,sans-serif;white-space:pre-wrap">as well as support for comparison operat= ors.</span></div><div>4. Functions to perform<span style=3D"background-colo= r:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;fo= nt-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);vertical-ali= gn:baseline;white-space:pre-wrap"> </span><span style=3D"background-color:t= ransparent;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, apply_element_wise, a= ggregate, transform and expand</span><span style=3D"background-color:transp= arent;font-variant-numeric:normal;font-variant-east-asian:normal;font-famil= y:"Proxima Nova",sans-serif;color:rgb(0,0,0);vertical-align:basel= ine;white-space:pre-wrap"> on a given DataFrame.</span><br></div>5. Data an= alysis tools for=C2=A0<span id=3D"gmail-m_9168170079493276128m_-83013857996= 75461752m_-7376762986148225264gmail-m_-1255839329218212103m_-71497608123917= 61650gmail-m_-8094012315361310134gmail-m_1372898159282983835gmail-m_2539347= 862788583833gmail-m_-63067745495130108gmail-docs-internal-guid-7ab2eedf-7ff= f-5324-29fc-108f6de832ec"><span style=3D"font-family:"Proxima Nova&quo= t;,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-wrap">standard deviation, variance, mean, etc.</sp= an></span><div>6. Re-indexing methods like=C2=A0<span id=3D"gmail-m_9168170= 079493276128m_-8301385799675461752m_-7376762986148225264gmail-m_-1255839329= 218212103m_-7149760812391761650gmail-m_-8094012315361310134gmail-m_13728981= 59282983835gmail-m_2539347862788583833gmail-m_-63067745495130108gmail-docs-= internal-guid-97de9fde-7fff-ff47-7f83-0a08903e6481"><span style=3D"font-fam= ily:"Proxima Nova",sans-serif;color:rgb(0,0,0);background-color:t= ransparent;font-weight:700;font-variant-numeric:normal;font-variant-east-as= ian:normal;vertical-align:baseline;white-space:pre-wrap">replace, duplicate= , filter, etc.</span></span></div><div>7. Reshaping methods for=C2=A0<span = id=3D"gmail-m_9168170079493276128m_-8301385799675461752m_-73767629861482252= 64gmail-m_-1255839329218212103m_-7149760812391761650gmail-m_-80940123153613= 10134gmail-m_1372898159282983835gmail-m_2539347862788583833gmail-m_-6306774= 5495130108gmail-docs-internal-guid-ed39d162-7fff-e164-cd1e-4f0db510492b"><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">sorting, append, pivot, etc.</span></span></div></div></blockquote></div= ></blockquote></div></blockquote></div><div dir=3D"auto"><span style=3D"fon= t-family:sans-serif">Also, could you tell me if I am on the right track reg= arding the free form functions that Boost is looking for?</span><br></div><= div class=3D"gmail_quote" dir=3D"auto"><blockquote class=3D"gmail_quote" st= yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd= ing-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);pa= dding-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-left:1ex"><div dir=3D"ltr"><div><span style=3D"font-family:"Pr= oxima Nova",sans-serif;color:rgb(0,0,0);background-color:transparent;f= ont-weight:700;font-variant-numeric:normal;font-variant-east-asian:normal;v= ertical-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-ser= if" color=3D"#000000"><span style=3D"white-space:pre-wrap"><b>Full Details<= /b> of the same can be found in the <b>Project Proposal</b>.<b><br></b></sp= an></font><div><div><br></div><div>I have been in contact with David Bellot= for the past week regarding GSoC. I have completed the first draft of the = competency check and sent the same to him. I would love to work=C2=A0 I am = requesting him to be assigned as a mentor for the same.</div></div></div><d= iv><div><b>PFA:=C2=A0</b><a href=3D"https://docs.google.com/document/d/1wye= gbUEbpOopaQSWtFd0a_ch4QeIERKXGVX6GJSSdBo/edit?usp=3Dsharing" style=3D"font-= weight:bold" rel=3D"noreferrer noreferrer" target=3D"_blank">The Project Pr= oposal</a>(linked in case the attachment fails)<br></div></div></div></bloc= kquote></div></blockquote></div></blockquote></div><div dir=3D"auto">Here w= as the old proposal.=C2=A0</div><div class=3D"gmail_quote" dir=3D"auto"><bl= ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef= t: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-l= eft: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-left:1ex"><div dir=3D"ltr"><div><d= iv></div><div><br></div><div>This is an official application for the GSoC&#= 39; 20. I am open to any and all suggestions.=C2=A0</div><font color=3D"#88= 8888"><div><br></div></font></div><font color=3D"#888888"><div>Aniket Chowd= hury</div></font></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> _______________________________________________<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> </blockquote></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer" target=3D"_blan= k">[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]" rel=3D"noreferrer" target= =3D"_blank">[email protected]</a><br> </blockquote></div></div> _______________________________________________<br> ublas mailing list<br> <a href=3D"mailto:[email protected]" rel=3D"noreferrer" target=3D"_blan= k">[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]" rel=3D"noreferrer"= target=3D"_blank">[email protected]</a><br> </blockquote></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">rrossi@c= imne.upc.edu</a><br> </blockquote></div><br clear=3D"all"><br>-- <br><div dir=3D"ltr" class=3D"g= mail_signature"><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;c= olor:rgb(0,73,150);line-height:18px"><b>Riccardo Rossi<br></b></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"> 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"= >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,Helvetica,sans-serif;font= -size:12px;line-height:18px">Associate Professor at Universitat Polit=C3=A8= cnica 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">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">(+34) 93 401 56 96</a> skype: <b>r= ougered4</b><br></p><p style=3D"padding:0px;margin:0px;font-family:Arial,He= lvetica,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,sa= ns-serif;color:rgb(120,120,120);font-size:12px;line-height:11px"> <a href=3D"http://www.cimne.com/" target=3D"_blank"><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-f= amily:"Times New Roman""> <a href=3D"https://www.facebook.com/cimne" target=3D"_blank"><img src=3D"ht= tps://web.cimne.upc.edu/groups/publicacions/signatura/facebook-logo.png" wi= dth=3D"24" height=3D"24" border=3D"0"></a><a href=3D"http://blog.cimne.com/= " target=3D"_blank"><img src=3D"https://web.cimne.upc.edu/groups/publicacio= ns/signatura/wordpress.png" width=3D"24" height=3D"24" border=3D"0"></a><a = href=3D"http://vimeo.com/cimne" target=3D"_blank"><img src=3D"https://web.c= imne.upc.edu/groups/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"><img src=3D"https://web.cimne.upc.edu/groups/publicacio= ns/signatura/you-tube1.png" width=3D"24" height=3D"24" border=3D"0"></a><a = href=3D"http://www.linkedin.com/company/cimne" target=3D"_blank"><img src= =3D"https://web.cimne.upc.edu/groups/publicacions/signatura/linkedin-logo.p= ng" width=3D"24" height=3D"24" border=3D"0"></a><a href=3D"https://twitter.= com/cimne" target=3D"_blank"><img src=3D"https://web.cimne.upc.edu/groups/p= ublicacions/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">[email protected]</a>. La utilitzaci=C3=B3 de la seva ad= re=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"><span style=3D"font-size:10pt;font-family:Arial,sans-serif"></span><= /a></span></div></div></div></div></div></div></div></div></div></div> --00000000000075fd2705a14a0c7a-- --===============2636322322108311846== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline