[SciPy-Dev] GSoC'18 participation?

Christoph Gohlke cgohlke at uci.edu
Sat Jan 20 10:34:35 EST 2018



On 1/20/2018 12:12 AM, Benoit Rosa wrote:
> Hi,
> 
> I have used that library quite a few times, and it is rather slow. 

That's because using small numpy arrays (4x4 or 1x4) to represent 
homogeneous transformation matrices, vectors, points, and quaternions is 
inherently inefficient, even when using the C API. As usual if that 
overhead matters, vectorize the algorithm or implement it in 
Cython/C/C++/FORTRAN/etc. There's a speedier C extension module 
<https://www.lfd.uci.edu/~gohlke/code/transformations.c.html> but it 
still has to go through the numpy C API.

The transformations.py module has been mostly superseded by the 
Transforms3d package <https://pypi.python.org/pypi/transforms3d>.

IMO quaternions should be a numpy dtype living in numpy or in a small 
package, not in scipy. See <https://github.com/moble/quaternion>

Christoph


> Adding a transformation (or, for starters, rotation) module to scipy 
> would be, in my opinion, a nice addition.
> 
> Speaking about adding a few algorithms, one interesting add could be a 
> function to uniformly sample the rotation space. It is a core 
> functionality needed in a number of cases, and not that straightforward 
> to perform properly (again, depending on the chosen formalism for 
> representing the rotation).
> 
> Best
> Benoit
> 
> 
> On 19/01/2018 22:28, oss wrote:
>> Hello,
>>
>> Maybe this could come in handy regarding transforms matrices quaternions
>>  etc.
>>
>> https://www.lfd.uci.edu/~gohlke/code/transformations.py.html 
>> <https://www.lfd.uci.edu/%7Egohlke/code/transformations.py.html>
>>
>> Best
>>
>> Tryfon
>>
>>
>>> On Jan 19, 2018, at 4:25 PM, Eric Larson <larson.eric.d at gmail.com 
>>> <mailto:larson.eric.d at gmail.com>> wrote:
>>>
>>> I have personally run into the need for such transformations in two 
>>> separate domains (3D visualization, neuroscience / electrophysiology) 
>>> and I know it's used in multiple other places, too. So I think it 
>>> would be sufficiently general. I'd look forward to having it in SciPy!
>>>
>>> I'd be happy to be a secondary mentor on this if you (or someone 
>>> else) wants to be primary.
>>>
>>> Best,
>>> Eric
>>>
>>>
>>> On Fri, Jan 19, 2018 at 10:11 AM, Nikolay Mayorov 
>>> <nikolay.mayorov at zoho.com <mailto:nikolay.mayorov at zoho.com>> wrote:
>>>
>>>     Hi!
>>>
>>>     I have this idea, which I'm well familiar with. The module would
>>>     be called like scipy.spatial.rotation and be devoted to the
>>>     rotation formalism in 3 dimensions.
>>>
>>>     The main objects are Euler angles (and their variations),
>>>     direction cosine matrices, quaternions and rotation vectors. We
>>>     can go with an abstraction class Rotation (using DCMs or Qs
>>>     internally), but we should be able to create that from any
>>>     representation and see it in any representation. In spirit of
>>>     scipy/numpy we use vectorized/bulk approaches (i.e. many
>>>     rotations in single Rotation class).
>>>
>>>     Rotation should support 2 operations: compose 2 consecutive
>>>     rotations and rotate/project a 3d vector.  Of course all
>>>     procedures must be 100% robust and there are some fine points,
>>>     especially in conversions between representations.Also we can add
>>>     some algorithms, like: quaternion interpolation (SLERP),
>>>     least-squares vector matching by a rotation (Whabba's problem),
>>>     more advanced and less known algotithms for rotation
>>>     interpolation, and I will try to come up with something more.
>>>
>>>     Overall it seems reasonably straightforward , but with enough
>>>     challenges in design and implementation
>>>
>>>     As currently described, it might be not enough volume for the
>>>     GSoC, but we can develop it farther.
>>>
>>>     Also I'm not sure if its applicability is broad enough to include
>>>     it into scipy. I believe similar functionality is available in
>>>     Aerospace toolbox in Matlab. I want to hear some opinions on that.
>>>
>>>     Nikolay
>>>
>>>
>>>     ---- On Wed, 10 Jan 2018 17:02:33 +0500 *jomsdev at gmail.com
>>>     <mailto:jomsdev at gmail.com> * wrote ----
>>>
>>>         Hi all,
>>>
>>>         Last year I started implementing some methods for Randomized
>>>         Numerical Linear Algebra (RNLA) in scipy.
>>>         By now it is only the CountMin Sketch
>>>         (clarkson_woodruff_transformation) for reducing the
>>>         dimensionality of a vector space to an embedded space.
>>>
>>>         I think that it would be interesting to add to scipy other
>>>         methods for subspace embedding (like the
>>>         Johnson-Lindenstrauss) and build some algorithms on top of it
>>>         for things like least squeres or low rank approximation.
>>>
>>>         Would some other people be interesting in this?
>>>
>>>
>>>         PS: I have a project called RandNLA
>>>         <https://github.com/jomsdev/randNLA> where I implemented some
>>>         of the methods of RNLA. The idea is to implement only the
>>>         most important methods of RNLA in scipy and have this other
>>>         library for experimenting with new methods and APIs. That
>>>         will let us not overloading scipy with features if people are
>>>         not interested in them and focus on the ones that really
>>>         brings value to the community.
>>>
>>>         Thanks,
>>>
>>>         Jordi.
>>>
>>>         On 10 January 2018 at 10:42, Ralf Gommers
>>>         <ralf.gommers at gmail.com <mailto:ralf.gommers at gmail.com>> wrote:
>>>
>>>             Hi all,
>>>
>>>             The GSoC schedule is a bit earlier than normal this year.
>>>             The PSF is asking for ideas pages to be up and in decent
>>>             shape by Jan 19th. So we'll need to come up with some
>>>             content quick if we want to participate.
>>>
>>>             Who is interested in mentoring this year?
>>>
>>>             I'm happy to do the admin again, but probably won't have
>>>             time to mentor.
>>>
>>>             Cheers,
>>>             Ralf
>>>
>>>
>>>             _______________________________________________
>>>             SciPy-Dev mailing list
>>>             SciPy-Dev at python.org <mailto:SciPy-Dev at python.org>
>>>             https://mail.python.org/mailman/listinfo/scipy-dev
>>>             <https://mail.python.org/mailman/listinfo/scipy-dev>
>>>
>>>
>>>         _______________________________________________
>>>         SciPy-Dev mailing list
>>>         SciPy-Dev at python.org <mailto:SciPy-Dev at python.org>
>>>         https://mail.python.org/mailman/listinfo/scipy-dev
>>>         <https://mail.python.org/mailman/listinfo/scipy-dev>
>>>
>>>
>>>
>>>
>>>     _______________________________________________
>>>     SciPy-Dev mailing list
>>>     SciPy-Dev at python.org <mailto:SciPy-Dev at python.org>
>>>     https://mail.python.org/mailman/listinfo/scipy-dev
>>>     <https://mail.python.org/mailman/listinfo/scipy-dev>
>>>
>>>
>>> _______________________________________________
>>> SciPy-Dev mailing list
>>> SciPy-Dev at python.org <mailto:SciPy-Dev at python.org>
>>> https://mail.python.org/mailman/listinfo/scipy-dev
>>
>>
>>
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at python.org
>> https://mail.python.org/mailman/listinfo/scipy-dev
> 
> 
> 
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org
> https://mail.python.org/mailman/listinfo/scipy-dev
> 


More information about the SciPy-Dev mailing list