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