{"action":"created","issue":{"url":"https://api.github.com/repos/CindyJS/CindyJS/issues/138","labels_url":"https://api.github.com/repos/CindyJS/CindyJS/issues/138/labels{/name}","comments_url":"https://api.github.com/repos/CindyJS/CindyJS/issues/138/comments","events_url":"https://api.github.com/repos/CindyJS/CindyJS/issues/138/events","html_url":"https://github.com/CindyJS/CindyJS/pull/138","id":121047758,"number":138,"title":"Doubly complex Möbius transformations","user":{"login":"gagern","id":190759,"avatar_url":"https://avatars.githubusercontent.com/u/190759?v=3","gravatar_id":"","url":"https://api.github.com/users/gagern","html_url":"https://github.com/gagern","followers_url":"https://api.github.com/users/gagern/followers","following_url":"https://api.github.com/users/gagern/following{/other_user}","gists_url":"https://api.github.com/users/gagern/gists{/gist_id}","starred_url":"https://api.github.com/users/gagern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gagern/subscriptions","organizations_url":"https://api.github.com/users/gagern/orgs","repos_url":"https://api.github.com/users/gagern/repos","events_url":"https://api.github.com/users/gagern/events{/privacy}","received_events_url":"https://api.github.com/users/gagern/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CindyJS/CindyJS/labels/Cinderella%20compat.","name":"Cinderella compat.","color":"0052cc"},{"url":"https://api.github.com/repos/CindyJS/CindyJS/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"kranich","id":7249754,"avatar_url":"https://avatars.githubusercontent.com/u/7249754?v=3","gravatar_id":"","url":"https://api.github.com/users/kranich","html_url":"https://github.com/kranich","followers_url":"https://api.github.com/users/kranich/followers","following_url":"https://api.github.com/users/kranich/following{/other_user}","gists_url":"https://api.github.com/users/kranich/gists{/gist_id}","starred_url":"https://api.github.com/users/kranich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kranich/subscriptions","organizations_url":"https://api.github.com/users/kranich/orgs","repos_url":"https://api.github.com/users/kranich/repos","events_url":"https://api.github.com/users/kranich/events{/privacy}","received_events_url":"https://api.github.com/users/kranich/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-12-08T16:41:55Z","updated_at":"2015-12-08T18:53:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/CindyJS/CindyJS/pulls/138","html_url":"https://github.com/CindyJS/CindyJS/pull/138","diff_url":"https://github.com/CindyJS/CindyJS/pull/138.diff","patch_url":"https://github.com/CindyJS/CindyJS/pull/138.patch"},"body":"This is a follow-up to #130. There are extensive comments in the code indicating what's going on.\r\n\r\n@kranich wrote in https://github.com/CindyJS/CindyJS/pull/130#issuecomment-162884813:\r\n\r\n> Beware that the matrix representation of complex numbers is numerically less stable than complex number arithmetic, sometimes catastrophically so!\r\n\r\nThis is still somewhat confusing to me. I thought (and still think) that the elementary low-level arithmetic operations one would need to perform with this matrix representation are *exactly* the same ones one would also perform when doing complex arithmetic the usual way. Can you give a more explicit example, or point out some reference on this subject? Or can you in the example at hand point out any part of the code where a more elementary approach would lead to a significantly different computation at the floating-point level and therefore might conceivably lead to better numeric stability?\r\n\r\nSince the pull request now involves code by both me and @strobelm, I'd welcome a review by a knowledgeable third party. In the light of the concerns expressed above preferably @kranich I think."},"comment":{"url":"https://api.github.com/repos/CindyJS/CindyJS/issues/comments/162980134","html_url":"https://github.com/CindyJS/CindyJS/pull/138#issuecomment-162980134","issue_url":"https://api.github.com/repos/CindyJS/CindyJS/issues/138","id":162980134,"user":{"login":"kranich","id":7249754,"avatar_url":"https://avatars.githubusercontent.com/u/7249754?v=3","gravatar_id":"","url":"https://api.github.com/users/kranich","html_url":"https://github.com/kranich","followers_url":"https://api.github.com/users/kranich/followers","following_url":"https://api.github.com/users/kranich/following{/other_user}","gists_url":"https://api.github.com/users/kranich/gists{/gist_id}","starred_url":"https://api.github.com/users/kranich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kranich/subscriptions","organizations_url":"https://api.github.com/users/kranich/orgs","repos_url":"https://api.github.com/users/kranich/repos","events_url":"https://api.github.com/users/kranich/events{/privacy}","received_events_url":"https://api.github.com/users/kranich/received_events","type":"User","site_admin":false},"created_at":"2015-12-08T18:53:31Z","updated_at":"2015-12-08T18:53:31Z","body":"If you trust the maths in [GeoOps.js#L1691](https://github.com/gagern/CindyJS/blob/CalcMoebius/src/js/libgeo/GeoOps.js#L1691) then the pull request can be merged."}}