Should we be more explicitly forbidding complex data in most estimators,
and perhaps allow it in a few where it is tested (particularly
decomposition)?

On 11 August 2017 at 01:08, André Melo <andre.nascimento.m...@gmail.com>
wrote:

> Actually, it makes more sense to change
>
>     B = safe_sparse_dot(Q.T, M)
>
> To
>     B = safe_sparse_dot(Q.T.conj(), M)
>
> On 10 August 2017 at 16:56, André Melo <andre.nascimento.m...@gmail.com>
> wrote:
> > Hi Olivier,
> >
> > Thank you very much for your reply. I was convinced it couldn't be a
> > fundamental mathematical issue because the singular values were coming
> > out exactly right, so it had to be a problem with the way complex
> > values were being handled.
> >
> > I decided to look at the source code and it turns out the problem is
> > when the following transformation is applied:
> >
> > U = np.dot(Q, Uhat)
> >
> > Replacing this by
> >
> > U = np.dot(Q.conj(), Uhat)
> >
> > solves the issue! Should I report this on github?
> >
> > On 10 August 2017 at 16:13, Olivier Grisel <olivier.gri...@ensta.org>
> wrote:
> >> I have no idea whether the randomized SVD method is supposed to work for
> >> complex data or not (from a mathematical point of view). I think that
> all
> >> scikit-learn estimators assume real data (or integer data for class
> labels)
> >> and our input validation utilities will cast numeric values to float64
> by
> >> default. This might be the cause of your problem. Have a look at the
> source
> >> code to confirm. The reference to the paper can also be found in the
> >> docstring of those functions.
> >>
> >> --
> >> Olivier
> >>
> >> _______________________________________________
> >> scikit-learn mailing list
> >> scikit-learn@python.org
> >> https://mail.python.org/mailman/listinfo/scikit-learn
> >>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn@python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to