These are chat archives for symengine/symengine

22nd
May 2014
Ondřej Čertík
@certik
May 22 2014 03:11
hi
Sushant Hiray
@sushant-hiray
May 22 2014 03:12
hey
Ondřej Čertík
@certik
May 22 2014 03:12
Hi Sushant.
Ondřej Čertík
@certik
May 22 2014 03:20
hm, looks like I must be having some problems with a microphone
sorry about that.
Sushant Hiray
@sushant-hiray
May 22 2014 03:21
Its all right, this works fine too
Ondřej Čertík
@certik
May 22 2014 03:21
anyway, I reviewed your PR Sushant.
what is your plan next?
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:22
Hi Guys
Sushant Hiray
@sushant-hiray
May 22 2014 03:22
Hi thilina!
Ondřej Čertík
@certik
May 22 2014 03:22
Hi Thilina!
Sushant Hiray
@sushant-hiray
May 22 2014 03:22
Thanks Ondrej
So next I was thinking of adding the inverse trignometric classes
Ondřej Čertík
@certik
May 22 2014 03:23
I see. Is the simplification for the trig classes working now?
Sushant Hiray
@sushant-hiray
May 22 2014 03:23
on the similar lines of the normal trignometric classes
Ondřej Čertík
@certik
May 22 2014 03:23
things like sin(2*pi+x) and so on
Sushant Hiray
@sushant-hiray
May 22 2014 03:23
yeah
these work now
but things like `sin(A+B)=sinAcosB + cosBsinA` don't work yet
so essentially simplification form for this `trig(theta + k*pi/12)` form works
Ondřej Čertík
@certik
May 22 2014 03:25
yes, those have to be implemented in a separate way
Sushant Hiray
@sushant-hiray
May 22 2014 03:25
`k` can be an integer
Ondřej Čertík
@certik
May 22 2014 03:25
very cool. I need to write Python wrappers for it
Sushant Hiray
@sushant-hiray
May 22 2014 03:26
that'll be great
Ondřej Čertík
@certik
May 22 2014 03:26
@thilinarmtb thanks for the PR.
so I guess your plan is to implement the the Gaussian elimination now?
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:27
Yes.
Thank you for the review Ondrej. Did you find any areas to be improved?
Ondřej Čertík
@certik
May 22 2014 03:27
I still have to go over it more carefully
Looked good on first pass
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:28
Okay. Thanks
Ondřej Čertík
@certik
May 22 2014 03:28
Btw, @sushant-hiray, would you mind reviewing this PR (sympy/csympy#169) as well?
The more eyes, the better.
Sushant Hiray
@sushant-hiray
May 22 2014 03:28
yes I was just looking into it
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:29
I'll work on Gaussian elimination and matrix multiplication over the next few days.
Thank Sushant, please review it.
Ondřej Čertík
@certik
May 22 2014 03:29
You both made very good progress already.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:30
Thanks for the support Ondrej !!
Sushant Hiray
@sushant-hiray
May 22 2014 03:30
Thanks! :smile:
Ondřej Čertík
@certik
May 22 2014 03:30
Don't forget to write a blogpost --- you can essentially just reference the PRs and issues that you opened or commented/reviewed upon.
Sushant Hiray
@sushant-hiray
May 22 2014 03:30
yes, sure!
Ondřej Čertík
@certik
May 22 2014 03:30
and few words what you want to work on next week.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:30
Sure.
Ondřej Čertík
@certik
May 22 2014 03:31
@thilinarmtb once you have the gaussian elimination done, we'll benchmark it.
for various expressions etc.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:31
Okay Ondrej.
I was thinking to benchmark it against Linbox and GiNaC
Ondřej Čertík
@certik
May 22 2014 03:32
@sushant-hiray one thing I noticed --- is it true that cos(x) and sin(x) have the same hash?
@thilinarmtb yes and I can also benchmark against Mathematica
Sushant Hiray
@sushant-hiray
May 22 2014 03:32
@certik yes currently
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:32
That's great !!!
Sushant Hiray
@sushant-hiray
May 22 2014 03:32
I had seen that comment
Ondřej Čertík
@certik
May 22 2014 03:32
@sushant-hiray so I think we need to add some seed into the hash based on the class
hash.
Sushant Hiray
@sushant-hiray
May 22 2014 03:33
yes, true
perhaps add an effect of the name of the class itself
that should suffice to make it unique
Ondřej Čertík
@certik
May 22 2014 03:34
yes, but it also needs to be fast
I am not sure if there is a way to get some unique number based on the name of the class at compile time
Sushant Hiray
@sushant-hiray
May 22 2014 03:35
even I was wondering that
so perhaps one thing we can do is to remove hash from the base trig class and define it in all the classes
they way it was defined earlier
that way we are sure which class it is for
Ondřej Čertík
@certik
May 22 2014 03:38
it looks quite hackish, so I don't know if we want to do that, but that would be one way to do it
I'll be traveling tomorrow and I'll be in Alaska till Tuesday. I should have internet connection. But if you want to review each other's PRs, that would be a big help.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:43
Sure Ondrej, we were talking about that.
Sushant Hiray
@sushant-hiray
May 22 2014 03:43
sure, we will try to do that!
I'll read about the `hash` in detail. I'll open up a new issue for it and we discuss more about it there!
Ondřej Čertík
@certik
May 22 2014 03:51
sure
@thilinarmtb I just finished reviewing
do you guys have any other questions or comments?
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:52
@certik : Thank you Ondrej
Ondřej Čertík
@certik
May 22 2014 03:52
Thanks Thilina.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:53
I'll reply to your comments on the PR
Sushant Hiray
@sushant-hiray
May 22 2014 03:53
I guess there are no further issues on our part!
Ondřej Čertík
@certik
May 22 2014 03:55
Thanks!
that happens at runtime, but only once
Thanks for your time. If you have any questions, feel free to email me anytime.
Thilina Rathnayake
@thilinarmtb
May 22 2014 03:56
Sure Ondrej. Nice chatting with you guys !!
Sushant Hiray
@sushant-hiray
May 22 2014 03:56
@certik thanks, I'll look into it!
Ondřej Čertík
@certik
May 22 2014 04:00
@sushant-hiray I think the keyword is "constexpr", see e.g. :http://www.cprogramming.com/c++11/c++11-compile-time-processing-with-constexpr.html
Sushant Hiray
@sushant-hiray
May 22 2014 04:03
@certik thanks! I'll look into `constexpr` seems interesting!
Ondřej Čertík
@certik
May 22 2014 04:04
Sushant Hiray
@sushant-hiray
May 22 2014 04:07
Ondřej Čertík
@certik
May 22 2014 04:13
But we also want to make sure that we can compile easily, so we'll only use it if it works on most recent compilers (at least gcc, Intel and clang).
gcc supports ofcourse
at the time of this question http://stackoverflow.com/questions/2111667/compile-time-string-hashing they werent supported. they are now though