{"action":"created","issue":{"url":"https://api.github.com/repos/cbm755/octsympy/issues/594","repository_url":"https://api.github.com/repos/cbm755/octsympy","labels_url":"https://api.github.com/repos/cbm755/octsympy/issues/594/labels{/name}","comments_url":"https://api.github.com/repos/cbm755/octsympy/issues/594/comments","events_url":"https://api.github.com/repos/cbm755/octsympy/issues/594/events","html_url":"https://github.com/cbm755/octsympy/pull/594","id":180538127,"number":594,"title":"Fix sym things and other things","user":{"login":"latot","id":10523095,"avatar_url":"https://avatars.githubusercontent.com/u/10523095?v=3","gravatar_id":"","url":"https://api.github.com/users/latot","html_url":"https://github.com/latot","followers_url":"https://api.github.com/users/latot/followers","following_url":"https://api.github.com/users/latot/following{/other_user}","gists_url":"https://api.github.com/users/latot/gists{/gist_id}","starred_url":"https://api.github.com/users/latot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/latot/subscriptions","organizations_url":"https://api.github.com/users/latot/orgs","repos_url":"https://api.github.com/users/latot/repos","events_url":"https://api.github.com/users/latot/events{/privacy}","received_events_url":"https://api.github.com/users/latot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-10-02T21:57:04Z","updated_at":"2016-11-07T12:57:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cbm755/octsympy/pulls/594","html_url":"https://github.com/cbm755/octsympy/pull/594","diff_url":"https://github.com/cbm755/octsympy/pull/594.diff","patch_url":"https://github.com/cbm755/octsympy/pull/594.patch"},"body":"Hi, well this time i have a rewrite of the sym function, its because in some time i found problems, parts of redundant code, etc. I try in this cover all i can to improve it fixing things, sadly when i try rewrite it i found a lot of hidden problems, with this i can fix it but i forgot more than 50% of the problems, when i remember someone i'll update this message, theoretically this have less lines than the original but with the fixes now are relative similar (like 57 lines less), one of the others objetives is do some code more flexible and centralize some concepts (obs i try optimize this).\n\nOther point, when i try fix things sadly i must start fixing other things to do this works, i'll try explain why of every part, i put comments to do this more readable, and the code is simplified.\n\nCan be little hard in some way because i don't format this code yet.\n\nI need this pr https://github.com/cbm755/octsympy/pull/577 for the flatten function, i'll need update it, but only for avoid branch conflicts.\n\nThis cover this prs:\n  Fixes https://github.com/cbm755/octsympy/pull/558\n  Fixes https://github.com/cbm755/octsympy/pull/559\nAnd this issues:\n  Fixes https://github.com/cbm755/octsympy/issues/628\n  Fixes https://github.com/cbm755/octsympy/issues/627\n  Fixes https://github.com/cbm755/octsympy/issues/626\n  Fixes https://github.com/cbm755/octsympy/issues/625\n  Fixes https://github.com/cbm755/octsympy/issues/624\n  Fixes https://github.com/cbm755/octsympy/issues/623\n  Fixes https://github.com/cbm755/octsympy/issues/622\n  Fixes https://github.com/cbm755/octsympy/issues/621\n  Fixes https://github.com/cbm755/octsympy/issues/620\n  Fixes https://github.com/cbm755/octsympy/issues/619\n  Fixes https://github.com/cbm755/octsympy/issues/618\n  Fixes https://github.com/cbm755/octsympy/issues/617\n  Fixes https://github.com/cbm755/octsympy/issues/290\n  Fixes https://github.com/cbm755/octsympy/issues/421\n  Fixes https://github.com/cbm755/octsympy/issues/612\n\nOthers issues i found and i can remember:\n  `sym({'x', 'y', 'z'}, 'positive')` don't set the assumptions correctly\n  `sym('x', 'clear')` removed from matlab some time ago, moved to assume for SMT compat.\n  `assume('x', 'real')` now create correctly the var in the workspace, and don't was handling correctly the char input\n  Simplify handle octave symbols with python.\n  All assumptions are checked now, with struct, cells and chars.\n  `sym('a', sym([1 2]))` don't create the right matrix.\n  `sym('a', [9999999 999999999])` that should not be showed and changed to return a symbolic matrx, actually max is 20x20\n  Fixed format in negative assumptions\n  Enabled negative assumptions in format `assume('x', 'polar', 'complex', false)`\n  Fix `sym(\"1.1\") = 1.100000000000000`\n  Send a warning when we try make a sym the a system var name - `sym('beta(a, b)')`\n  Warning if you try make a operation from sym function\n\nWell, this is all i can remember.\n\nThe base concept of this changes is ready!\n\nHi, now i think the focus of this pr will be end like here, i don't want change other things and extend more this.\n\nNow only remains wait the pr 577.(i need check and fix the assumptions format with that)\n\nCya.\n"},"comment":{"url":"https://api.github.com/repos/cbm755/octsympy/issues/comments/258828768","html_url":"https://github.com/cbm755/octsympy/pull/594#issuecomment-258828768","issue_url":"https://api.github.com/repos/cbm755/octsympy/issues/594","id":258828768,"user":{"login":"latot","id":10523095,"avatar_url":"https://avatars.githubusercontent.com/u/10523095?v=3","gravatar_id":"","url":"https://api.github.com/users/latot","html_url":"https://github.com/latot","followers_url":"https://api.github.com/users/latot/followers","following_url":"https://api.github.com/users/latot/following{/other_user}","gists_url":"https://api.github.com/users/latot/gists{/gist_id}","starred_url":"https://api.github.com/users/latot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/latot/subscriptions","organizations_url":"https://api.github.com/users/latot/orgs","repos_url":"https://api.github.com/users/latot/repos","events_url":"https://api.github.com/users/latot/events{/privacy}","received_events_url":"https://api.github.com/users/latot/received_events","type":"User","site_admin":false},"created_at":"2016-11-07T12:57:17Z","updated_at":"2016-11-07T12:57:17Z","body":"mm, what do you think sym should return?, because return a float i think is a very bad idea.....\r\nExplaining a little that point:\r\nNormally the expectation for the octsympy is can work with the best precision possible, if we want works with floats or doubles in first place we don't need this package, except if you need some function from here but in that case i think its better improve the float function of sympy instead mix the precision of sym with it.\r\nOne day i open a bug in octave, requesting some way to have a better precision, and the answer was the recommendation for use this package, i don't wanna say we always should do the common expectation, but at least with this we can have a perspective of other of what want or why others uses this package.\r\nNow, if we check the sym function, the doubles section, we can see you did 2 functions to can have the better precision possible of it, so i think i can suppose your expectation from this function is be precise too.\r\nFor what reason we send an expression to the sym function?, i think basically 2 reasons, can use a specific function or get the exact expression we want, obvs with the limitations of the function, but for that you have the ```rationalapprox``` warning in doubles, so following the same logic, if we send ```sym('1.1')``` i think sym should return ```11/10```.\r\nIs this useful?, in my personal experience yes, when i normally import data from other programs, but i have a super array with a lot of decimals, and obvs i need the exact expression, actually what we need to do in this cases?, if we have ```1.5937462092```, we manually with every expression need transform to ```sym(15937462092)/10e10```, obvs we can make a new program/script to do this, but that have sense for a user?\r\n\r\nIf i'm wrong in any point please say it, and if you think sym should return other type of data, what should be?\r\n\r\nfollowing SMT, it accepts char inputs to represent exact expressions, with vars and numbers:\r\nhttps://es.mathworks.com/help/symbolic/sym.html\r\n\r\nAbout the commits here, sincerely, its too hard split this in a rewrite of this type, if you rewrite a function to solve bugs, you will leave intentionally bugs everywhere? i think not, at least in the code i read in others prs, when we rewrite we try solve all possible with it, but that implies the rewrite don't have an order to solve it, because we don't are fixing the original function, we are rewriting it, as i can see i split some themes in the commits, but their structure don't is absolute, because if we found other type of problem how we are rewriting it so we can change anything to this can be better, and the next commits can rewrite the past commits.\r\n\r\nIn this case i think i can split some changes out of the sym function, specially in assumptions theme, but to can do that i'll need a new pr, and one commit for the entire sym function, and then split commits for assumptions, even the sym function have part of it, so about it self i can't split that part, only in assume, assumptions, and assumeAlso, even in it are some parts can be hard to split, because some rewrite sections solve it but the structure don't change with some features...\r\n\r\nTo review this i recommend don't do this from the git diff, or web, i think is better read directly the files and use logic with it, the main changes are in sym, assume and assumeAlso, others are minor changes for some concepts or some decisions we are arguing.\r\n\r\nThx. Cya."}}
{"actor":{"display_login":"latot"}}