{"action":"created","issue":{"url":"https://api.github.com/repos/mrirecon/bart/issues/28","repository_url":"https://api.github.com/repos/mrirecon/bart","labels_url":"https://api.github.com/repos/mrirecon/bart/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/mrirecon/bart/issues/28/comments","events_url":"https://api.github.com/repos/mrirecon/bart/issues/28/events","html_url":"https://github.com/mrirecon/bart/pull/28","id":131922939,"number":28,"title":"Steepest descent","user":{"login":"frankong","id":9143405,"avatar_url":"https://avatars.githubusercontent.com/u/9143405?v=3","gravatar_id":"","url":"https://api.github.com/users/frankong","html_url":"https://github.com/frankong","followers_url":"https://api.github.com/users/frankong/followers","following_url":"https://api.github.com/users/frankong/following{/other_user}","gists_url":"https://api.github.com/users/frankong/gists{/gist_id}","starred_url":"https://api.github.com/users/frankong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankong/subscriptions","organizations_url":"https://api.github.com/users/frankong/orgs","repos_url":"https://api.github.com/users/frankong/repos","events_url":"https://api.github.com/users/frankong/events{/privacy}","received_events_url":"https://api.github.com/users/frankong/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-07T01:59:35Z","updated_at":"2016-02-07T06:57:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mrirecon/bart/pulls/28","html_url":"https://github.com/mrirecon/bart/pull/28","diff_url":"https://github.com/mrirecon/bart/pull/28.diff","patch_url":"https://github.com/mrirecon/bart/pull/28.patch"},"body":"Added steepest descent step size to IST and FISTA so that we don't need to use Lipschitz constant.\r\nThis is especially useful for non-Cartesian. \r\n\r\nIn some cases, it works even better than using the actual Lipschitz constant. \r\n\r\nIn a nutshell, let p be the descent direction at each iteration, then the step size is estimated as:\r\nstep = ||p||^2 / ||Ap||^2 and is guaranteed to converge.\r\n\r\nI switched the order of thresholding and gradient update. Hence, this will affect the default behavior slightly."},"comment":{"url":"https://api.github.com/repos/mrirecon/bart/issues/comments/180965015","html_url":"https://github.com/mrirecon/bart/pull/28#issuecomment-180965015","issue_url":"https://api.github.com/repos/mrirecon/bart/issues/28","id":180965015,"user":{"login":"uecker","id":2036635,"avatar_url":"https://avatars.githubusercontent.com/u/2036635?v=3","gravatar_id":"","url":"https://api.github.com/users/uecker","html_url":"https://github.com/uecker","followers_url":"https://api.github.com/users/uecker/followers","following_url":"https://api.github.com/users/uecker/following{/other_user}","gists_url":"https://api.github.com/users/uecker/gists{/gist_id}","starred_url":"https://api.github.com/users/uecker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uecker/subscriptions","organizations_url":"https://api.github.com/users/uecker/orgs","repos_url":"https://api.github.com/users/uecker/repos","events_url":"https://api.github.com/users/uecker/events{/privacy}","received_events_url":"https://api.github.com/users/uecker/received_events","type":"User","site_admin":false},"created_at":"2016-02-07T06:57:50Z","updated_at":"2016-02-07T06:57:50Z","body":"Hi Frank, I will take a look at this.  I don't know what \"steepest gradient step size\" means. Is this the Cauchy step size? In this case, it would be better to call it like this. How about trying Barzilai and Borwein? Is there some reference for step sizes in IST/FISTA? Finally, to you free 'o'?"}}