{"action":"created","issue":{"url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/205","repository_url":"https://api.github.com/repos/grzegorzmazur/yacas","labels_url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/205/comments","events_url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/205/events","html_url":"https://github.com/grzegorzmazur/yacas/pull/205","id":159349733,"number":205,"title":"implemented  the PA=LDU algorithm","user":{"login":"yijunyu","id":884504,"avatar_url":"https://avatars.githubusercontent.com/u/884504?v=3","gravatar_id":"","url":"https://api.github.com/users/yijunyu","html_url":"https://github.com/yijunyu","followers_url":"https://api.github.com/users/yijunyu/followers","following_url":"https://api.github.com/users/yijunyu/following{/other_user}","gists_url":"https://api.github.com/users/yijunyu/gists{/gist_id}","starred_url":"https://api.github.com/users/yijunyu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yijunyu/subscriptions","organizations_url":"https://api.github.com/users/yijunyu/orgs","repos_url":"https://api.github.com/users/yijunyu/repos","events_url":"https://api.github.com/users/yijunyu/events{/privacy}","received_events_url":"https://api.github.com/users/yijunyu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-09T08:06:47Z","updated_at":"2016-06-09T17:03:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/grzegorzmazur/yacas/pulls/205","html_url":"https://github.com/grzegorzmazur/yacas/pull/205","diff_url":"https://github.com/grzegorzmazur/yacas/pull/205.diff","patch_url":"https://github.com/grzegorzmazur/yacas/pull/205.patch"},"body":"Implemented the PA=LDU algorithm with pivoting using the Yacas language. \r\nIt works for constant valued matrices, but may have trouble when the matrix A contains symbols. \r\nIs there a way to include a symbolic expression in the If statement? \r\n\r\nFor example,\r\n\r\nIn> If(a^2-b^2,1,-1)\r\nnet.sf.yacas.YacasException: In function \"If\" : \r\nbad argument number 1(counting from 1) : \r\n\r\nThe offending argument a^2-b^2 evaluated to a^2-b^2\r\n"},"comment":{"url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/comments/224960293","html_url":"https://github.com/grzegorzmazur/yacas/pull/205#issuecomment-224960293","issue_url":"https://api.github.com/repos/grzegorzmazur/yacas/issues/205","id":224960293,"user":{"login":"grzegorzmazur","id":8030816,"avatar_url":"https://avatars.githubusercontent.com/u/8030816?v=3","gravatar_id":"","url":"https://api.github.com/users/grzegorzmazur","html_url":"https://github.com/grzegorzmazur","followers_url":"https://api.github.com/users/grzegorzmazur/followers","following_url":"https://api.github.com/users/grzegorzmazur/following{/other_user}","gists_url":"https://api.github.com/users/grzegorzmazur/gists{/gist_id}","starred_url":"https://api.github.com/users/grzegorzmazur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grzegorzmazur/subscriptions","organizations_url":"https://api.github.com/users/grzegorzmazur/orgs","repos_url":"https://api.github.com/users/grzegorzmazur/repos","events_url":"https://api.github.com/users/grzegorzmazur/events{/privacy}","received_events_url":"https://api.github.com/users/grzegorzmazur/received_events","type":"User","site_admin":false},"created_at":"2016-06-09T17:03:10Z","updated_at":"2016-06-09T17:03:10Z","body":"Hi,\r\n\r\nThanks a lot for the patch!\r\n\r\nRegarding your question with symbolic expressions - there's no ultimate solution to that. After all, when we have an arbitrary expression, there's no way to decide if it's zero or not. It can be mitigated in two ways I know of. The first approach is used by maxima, and it boils down to asking the user, in the runtime, if given expression, encountered during calculations, is zero or not. While being possibly the best one, I don't really like it - I happen to run quite long calculations in batch mode, and this means that no user interaction is possible. The other way depends on ability to make assumptions on certain symbols. If you could state that a < b, the program would be able to conclude that a^2-b^2 < 0 => a^2-b^2 != 0. AFAIR mathematica allows for that. Something along this ways is implemented in sage (http://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/assumptions.html). While this approach has some weaknesses, I'd be happy to have it implemented in yacas. Unfortunately, it's quite a challenge, and I haven't even started working on it. \r\n\r\nSo for now there's no good way to decide in general if a certain expression is 0 or not. And, even with assumptions implemented, such situations may happen, so working around it seems to be the only option.\r\n\r\nBTW - your patch contains both the previous work and the new one. Could you please try rebasing your repo to the current develop state? This way you may avoid conflicts.\r\n\r\nThanks,\r\nGrzesiek\r\n"}}
{"actor":{"display_login":"grzegorzmazur"}}