GSOC project ideas

130 views
Skip to first unread message

Basilis Kalos

unread,
Mar 16, 2020, 3:36:21 PM3/16/20
to sympy

 Hi all


  The first project that i’m most interested to work on is the “Optimize floating point expressions”. I am familiar with Herbie and I have started reading its source code with the purpose of adapting ideas and even code (after re-writing it in python). How does that sound?


  I also would be really excited to work on the “Probability” project. Are any of those project ideas available? Should i look for projects that no-one else is working on? 


Thank you!

Gagandeep Singh (B17CS021)

unread,
Mar 17, 2020, 2:31:07 AM3/17/20
to sy...@googlegroups.com
Hi,

As far as I know, the "Probability" project is available for GSoC, 2020. Please let me know of any questions regarding GSoC projects related to `stats` module.

Best wishes. 

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/0e580f98-f87e-4183-b078-b1fdaa2a2376%40googlegroups.com.


--
With regards,
Gagandeep Singh

Basilis Kalos

unread,
Mar 20, 2020, 8:33:05 AM3/20/20
to sympy
Hi!
I am working on my application and i was thinking of ways to extend the support of multivariate distributions. For example:
        1. Add more matrices support.
           a. Use matrices modules to perform some basic operations for the multivariate rv's, for example we could use the eigen module to perform 
              Principal Component Analysis and Factor Analysis.
           b. Add functions to calculate covariance and correlation matrices.
           c. Support symbolic expressions of density function that implement the covariance matrix.
        2. Add sampling for multivariate distribution by using and extending upon the numpy libraries.
Does this sound good?

I also noticed that in the joint_rv_types for some classes there are corresponding functions that return a JointRandomSymbol object with a call to the multivariate_rv function buts that's not the case for other classes. Is there a reason for it or it is something that has not yet been implemented?
 
Thank you in advance!


Τη Τρίτη, 17 Μαρτίου 2020 - 8:31:07 π.μ. UTC+2, ο χρήστης Gagandeep Singh (B17CS021) έγραψε:
Hi,

As far as I know, the "Probability" project is available for GSoC, 2020. Please let me know of any questions regarding GSoC projects related to `stats` module.

Best wishes. 

On Tue, Mar 17, 2020 at 1:06 AM Basilis Kalos <kalosba...@gmail.com> wrote:

 Hi all


  The first project that i’m most interested to work on is the “Optimize floating point expressions”. I am familiar with Herbie and I have started reading its source code with the purpose of adapting ideas and even code (after re-writing it in python). How does that sound?


  I also would be really excited to work on the “Probability” project. Are any of those project ideas available? Should i look for projects that no-one else is working on? 


Thank you!

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sy...@googlegroups.com.

Gagandeep Singh (B17CS021)

unread,
Mar 21, 2020, 3:22:48 AM3/21/20
to sy...@googlegroups.com
Hi,

> Use matrices modules to perform some basic operations for the multivariate rv's, for example we could use the eigen module to perform 
              Principal Component Analysis and Factor Analysis.
This needs more thought and we should check for feasibility before moving forward with PCA and FA.

>  Add functions to calculate covariance and correlation matrices.
`covriance` function in `rv_interface.py` computes covariance between two random variables. Computing covariance matrix can reuse `covariance` function. Similar is the case for computing `correlation` matrices.

> Support symbolic expressions of density function that implement the covariance matrix.
Can you provide some examples for this idea.

> Add sampling for multivariate distribution by using and extending upon the numpy libraries.
I think we can do it. We can also look for other libraries as well. See the framework for sampling univariate distributions currently present in `master`.

> I also noticed that in the joint_rv_types for some classes there are corresponding functions that return a JointRandomSymbol object with a call to the multivariate_rv function buts that's not the case for other classes. Is there a reason for it or it is something that has not yet been implemented?
It would be easy to comment if you can give some examples.

Overall, we need to have more work planned for the summers as 40 hours per week of requirement should be satisfied for passing the evaluations. Please go through the following links,


Make sure that you satisfy the patch requirement for getting your proposal evaluated.


To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/af2c649b-d13e-45fe-a1b5-a657131da877%40googlegroups.com.

Basilis Kalos

unread,
Mar 21, 2020, 4:08:03 PM3/21/20
to sympy


Hi!

Thank you for your coments.


> Support symbolic expressions of density function that implement the covariance matrix.
Can you provide some examples for this idea.
 If we have a normal multinomial random variable X = (X1, X2),  with covariance matrix Σ and mean μ, a symbolic expression of the density function that implements the covariance matrix   will be: 2pi * (det(Σ))^(-1/2) * exp((-1/2)*(X-μ)'*Σ*(X-μ)) (For the generic case that X can have arbitrary length the form i was thinking is here).
   My reasoning for this is that i have found this kind of expressions more useful and easy to understand, no matter how large the covariance matrix is.


> I also noticed that in the joint_rv_types for some classes there are corresponding functions that return a JointRandomSymbol object with a call to the multivariate_rv function buts that's not the case for other classes. Is there a reason for it or it is something that has not yet been implemented?
It would be easy to comment if you can give some examples.
One example I found is in the joint_rv_types file, where the NormalGammaDistribution has a corresponding function (not as part of the class) called NormalGamma but for the  MultivariateLaplaceDistribution there’s no such function.

One more thing that i wanted to ask you was about the "Support integration and equation solving for common probability tasks" section in the ideas page. Should we find the cases, where the cdf can’t be found by sympy, even thought it exists, and hard code in the solution or try to re-write the code in a way that sympy can find the answer?

I will soon post a compelet draft of my proposal.

Thank you very much for the help and the feedback!


Reply all
Reply to author
Forward
0 new messages