{"pull_request":{"state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4","url":"https://api.github.com/users/kcarnold","login":"kcarnold","id":21072},"deletions":17,"merged_by":null,"updated_at":"2011-11-03T19:35:08Z","diff_url":"https://github.com/scikit-learn/scikit-learn/pull/424.diff","closed_at":null,"base":{"ref":"master","repo":{"name":"scikit-learn","pushed_at":"2011-11-03T18:55:06Z","fork":false,"master_branch":null,"homepage":"http://scikit-learn.org","open_issues":103,"clone_url":"https://github.com/scikit-learn/scikit-learn.git","updated_at":"2011-11-03T19:15:08Z","forks":143,"private":false,"svn_url":"https://svn.github.com/scikit-learn/scikit-learn","language":"C","url":"https://api.github.com/repos/scikit-learn/scikit-learn","owner":{"avatar_url":"https://secure.gravatar.com/avatar/8a6ecb57b119c5a5b3d882d08a909278?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"8a6ecb57b119c5a5b3d882d08a909278","url":"https://api.github.com/users/scikit-learn","login":"scikit-learn","id":365630},"html_url":"https://github.com/scikit-learn/scikit-learn","description":"scikit-learn: machine learning in Python","size":6297,"id":843222,"git_url":"git://github.com/scikit-learn/scikit-learn.git","watchers":300,"created_at":"2010-08-17T09:43:38Z","ssh_url":"git@github.com:scikit-learn/scikit-learn.git"},"user":{"avatar_url":"https://secure.gravatar.com/avatar/8a6ecb57b119c5a5b3d882d08a909278?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"8a6ecb57b119c5a5b3d882d08a909278","url":"https://api.github.com/users/scikit-learn","login":"scikit-learn","id":365630},"label":"scikit-learn:master","sha":"627bf4144d81693a8acb4bd8b51855d6f23b1e11"},"commits":4,"comments":0,"url":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/424","additions":34,"merged":false,"head":{"ref":"reorthogonalize","repo":{"name":"scikit-learn","pushed_at":"2011-11-03T19:28:38Z","fork":true,"master_branch":null,"homepage":"http://scikit-learn.org","open_issues":0,"clone_url":"https://github.com/kcarnold/scikit-learn.git","updated_at":"2011-11-03T19:28:38Z","forks":0,"private":false,"svn_url":"https://svn.github.com/kcarnold/scikit-learn","language":"C","url":"https://api.github.com/repos/kcarnold/scikit-learn","owner":{"avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4","url":"https://api.github.com/users/kcarnold","login":"kcarnold","id":21072},"html_url":"https://github.com/kcarnold/scikit-learn","description":"scikit-learn: machine learning in Python","size":204,"id":2704423,"git_url":"git://github.com/kcarnold/scikit-learn.git","watchers":1,"created_at":"2011-11-03T19:15:08Z","ssh_url":"git@github.com:kcarnold/scikit-learn.git"},"user":{"avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4","url":"https://api.github.com/users/kcarnold","login":"kcarnold","id":21072},"label":"kcarnold:reorthogonalize","sha":"7b1f09e48f298bf2c21a787014f1d41013cb4492"},"body":"We were discussing reorthogonalization on the mailing list. Since I'd tried it out, here's a trivial patch (on top of my other pull request, https://github.com/scikit-learn/scikit-learn/pull/423, so there's some noise in the commits). I'm submitting this to contribute to the discussion; I don't think this patch should be accepted as-is.\r\n\r\nMy observations:\r\n\r\nHow much the power iteration helps apparently depends on how quickly\r\nthe singular spectrum decays. The matrices I was playing with had\r\nslowly decaying spectra; I found q=10 got acceptable results (judging\r\nby whether the singular values matched the non-randomized results). I\r\ndidn't find that the orthonormalization step helped much for my case,\r\nand the QR did slow things down significantly, so I didn't pursue this\r\npatch further. Perhaps orthonormalizing every few iterations would be\r\na good balance.","merged_at":null,"review_comments":0,"_links":{"comments":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/issues/424/comments"},"html":{"href":"https://github.com/scikit-learn/scikit-learn/pull/424"},"review_comments":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/424/comments"},"self":{"href":"https://api.github.com/repos/scikit-learn/scikit-learn/pulls/424"}},"html_url":"https://github.com/scikit-learn/scikit-learn/pull/424","issue_url":"https://github.com/scikit-learn/scikit-learn/issues/424","number":424,"title":"Reorthogonalize","mergeable":null,"id":461446,"changed_files":2,"patch_url":"https://github.com/scikit-learn/scikit-learn/pull/424.patch","created_at":"2011-11-03T19:35:08Z"},"action":"opened","number":424}