Development ideas

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Development ideas

SergeStinckwich
Dear all,

some students want to develop stuff for PolyMath. There is already
some ideas in the PolyMath issue tracker here:
https://github.com/PolyMathOrg/PolyMath/issues
If you are need something you can add more here.

Thank you.

--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Development ideas

stepharo
Hi serge

here is a list I created around matrix. I do not know if it helps.



Here is a list Johann DICHTL  gave me and I think that he would be good
to have him as client
What I'm missing in polymath is mostly related to the DhbMatrix and
DhbVector classes:

     - support for working in homogeneous coordinates (2d and 3d)
     - - setting the translation without two "at: ... at: ... put: ..."
messages
     - - support to convert between 2d vectors and point objects
     - - setting the rotation sub-matrix via angle (and accessing the
angle of a rotation matrix)
     - - accessor methods for the rotation sub matrix
     - - for 3d rotation matrix:
     - - - get/set euler angles
     - - - support for quaternions
     - matrix constructors:
     - - zero(s): creates a matrix with all values set to zero
     - - identity: creates an identity matrix
     - matrix solver: solving the linear equation system
- support for 32bit floats: it's simply faster, and the precision of a
double is usually not needed for my work.


     I only found the "DhbLargestEigenValueFinder" class (undocumented),
and it does not seem to compute all eigenvalues, as I would need. The
DhbMatrix class does not provide any methods to compute
eigenvalues/-vectors. On a side note, I'm using Pharo 4, things might
look a bit different with Pharo 5.

     There are two more things that I forgot last time about "missing in
PolyMath":
     - SVD (Singular Value Decomposition)
     - Eigenvalues / -vectors


Le 5/11/16 à 17:52, Serge Stinckwich a écrit :
> Dear all,
>
> some students want to develop stuff for PolyMath. There is already
> some ideas in the PolyMath issue tracker here:
> https://github.com/PolyMathOrg/PolyMath/issues
> If you are need something you can add more here.
>
> Thank you.
>

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Development ideas

SergeStinckwich
About eigenvalues, I discussed with one student in the #polymath
channel on Slack.

He was interested to add stuff to be able to compute
eigenvalues/vectors. Apparently there is an existing
DhbLargestEigenValueFinder that does not compute all the values and
the class is not documented.
Anyone know more about this class ?

If I remember correctly, eigenvalues/vectors are also implemented in
the Lapack package ?

On Sat, Nov 5, 2016 at 6:04 PM, stepharo <[hidden email]> wrote:

> Hi serge
>
> here is a list I created around matrix. I do not know if it helps.
>
>
>
> Here is a list Johann DICHTL  gave me and I think that he would be good to
> have him as client
> What I'm missing in polymath is mostly related to the DhbMatrix and
> DhbVector classes:
>
>     - support for working in homogeneous coordinates (2d and 3d)
>     - - setting the translation without two "at: ... at: ... put: ..."
> messages
>     - - support to convert between 2d vectors and point objects
>     - - setting the rotation sub-matrix via angle (and accessing the angle
> of a rotation matrix)
>     - - accessor methods for the rotation sub matrix
>     - - for 3d rotation matrix:
>     - - - get/set euler angles
>     - - - support for quaternions
>     - matrix constructors:
>     - - zero(s): creates a matrix with all values set to zero
>     - - identity: creates an identity matrix
>     - matrix solver: solving the linear equation system
> - support for 32bit floats: it's simply faster, and the precision of a
> double is usually not needed for my work.
>
>
>     I only found the "DhbLargestEigenValueFinder" class (undocumented), and
> it does not seem to compute all eigenvalues, as I would need. The DhbMatrix
> class does not provide any methods to compute eigenvalues/-vectors. On a
> side note, I'm using Pharo 4, things might look a bit different with Pharo
> 5.
>
>     There are two more things that I forgot last time about "missing in
> PolyMath":
>     - SVD (Singular Value Decomposition)
>     - Eigenvalues / -vectors
>
>
> Le 5/11/16 à 17:52, Serge Stinckwich a écrit :
>>
>> Dear all,
>>
>> some students want to develop stuff for PolyMath. There is already
>> some ideas in the PolyMath issue tracker here:
>> https://github.com/PolyMathOrg/PolyMath/issues
>> If you are need something you can add more here.
>>
>> Thank you.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "SciSmalltalk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.



--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Development ideas

Didier Besset
The class DhbJacobiTransformation computes all eigenvalues and vectors for a symmetrical matrix.
To my knowledge, there is no general algorithm for a non-symmetrical matrix other that attempting to find the largest eigenvalue. 
Let M be the matrix, I be the identity matrix and m be the largest eignevalue, one can recurse on the matrix M-mI to find the next largest eignevalue and so on.
The eigenvectors corresponding to each eignevalue can be solved with a linear system obtained from the definition of the eignevalue: M v = m v.
Your student could try to build such an algorithm.
Cheers,
Didier

On Fri, Dec 2, 2016 at 2:21 PM Serge Stinckwich <[hidden email]> wrote:
About eigenvalues, I discussed with one student in the #polymath
channel on Slack.

He was interested to add stuff to be able to compute
eigenvalues/vectors. Apparently there is an existing
DhbLargestEigenValueFinder that does not compute all the values and
the class is not documented.
Anyone know more about this class ?

If I remember correctly, eigenvalues/vectors are also implemented in
the Lapack package ?

On Sat, Nov 5, 2016 at 6:04 PM, stepharo <[hidden email]> wrote:
> Hi serge
>
> here is a list I created around matrix. I do not know if it helps.
>
>
>
> Here is a list Johann DICHTL  gave me and I think that he would be good to
> have him as client
> What I'm missing in polymath is mostly related to the DhbMatrix and
> DhbVector classes:
>
>     - support for working in homogeneous coordinates (2d and 3d)
>     - - setting the translation without two "at: ... at: ... put: ..."
> messages
>     - - support to convert between 2d vectors and point objects
>     - - setting the rotation sub-matrix via angle (and accessing the angle
> of a rotation matrix)
>     - - accessor methods for the rotation sub matrix
>     - - for 3d rotation matrix:
>     - - - get/set euler angles
>     - - - support for quaternions
>     - matrix constructors:
>     - - zero(s): creates a matrix with all values set to zero
>     - - identity: creates an identity matrix
>     - matrix solver: solving the linear equation system
> - support for 32bit floats: it's simply faster, and the precision of a
> double is usually not needed for my work.
>
>
>     I only found the "DhbLargestEigenValueFinder" class (undocumented), and
> it does not seem to compute all eigenvalues, as I would need. The DhbMatrix
> class does not provide any methods to compute eigenvalues/-vectors. On a
> side note, I'm using Pharo 4, things might look a bit different with Pharo
> 5.
>
>     There are two more things that I forgot last time about "missing in
> PolyMath":
>     - SVD (Singular Value Decomposition)
>     - Eigenvalues / -vectors
>
>
> Le 5/11/16 à 17:52, Serge Stinckwich a écrit :
>>
>> Dear all,
>>
>> some students want to develop stuff for PolyMath. There is already
>> some ideas in the PolyMath issue tracker here:
>> https://github.com/PolyMathOrg/PolyMath/issues
>> If you are need something you can add more here.
>>
>> Thank you.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "SciSmalltalk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.



--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Development ideas

stepharo
In reply to this post by SergeStinckwich
serge

could you check the mail I sent to you a while ago about matrixes and  
other enhancements?

Stef

> Dear all,
>
> some students want to develop stuff for PolyMath. There is already
> some ideas in the PolyMath issue tracker here:
> https://github.com/PolyMathOrg/PolyMath/issues
> If you are need something you can add more here.
>
> Thank you.
>


--
Using Opera's mail client: http://www.opera.com/mail/

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Development ideas

SergeStinckwich
Yes I already have a look to your email but this is sometimes
difficult to know if the functionalities asked,
are already implemented or not.

About eigenvalues/eigenvectors, if I understand correctly Didier, most
of the functionalities are already here.
What is maybe missing this is documentation of the
DhbJacobiTransformation/DhbLargestEigenValueFinder classes
and actual examples how to use it.

I open an issue about this here :
https://github.com/PolyMathOrg/PolyMath/issues/15

Didier can you provide more examples that we could commit on the repository ?
You can put them in the issue.

In fact there is one example that is available in class comment of
DhbJacobiTransformation:

| m jacobi eigenvalues eigenvectors |

m := DhbSymmetricMatrix rows: #((84 -79 58 55)
                                 (-79 84 -55 -58)
                                 (58 -55 84 79)
                                 (55 -58 79 84)).
jacobi := DhbJacobiTransformation matrix: m.
eigenvalues := jacobi evaluate.
eigenvectors := jacobi transform columnsCollect: [ :each | each].


Regards,

On Sat, Dec 3, 2016 at 12:24 PM, stepharo <[hidden email]> wrote:

> serge
>
> could you check the mail I sent to you a while ago about matrixes and other
> enhancements?
>
> Stef
>
>> Dear all,
>>
>> some students want to develop stuff for PolyMath. There is already
>> some ideas in the PolyMath issue tracker here:
>> https://github.com/PolyMathOrg/PolyMath/issues
>> If you are need something you can add more here.
>>
>> Thank you.
>>
>
>
> --
> Using Opera's mail client: http://www.opera.com/mail/



--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

--
You received this message because you are subscribed to the Google Groups "SciSmalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.