{"action":"closed","issue":{"url":"https://api.github.com/repos/chebfun/chebfun/issues/1580","labels_url":"https://api.github.com/repos/chebfun/chebfun/issues/1580/labels{/name}","comments_url":"https://api.github.com/repos/chebfun/chebfun/issues/1580/comments","events_url":"https://api.github.com/repos/chebfun/chebfun/issues/1580/events","html_url":"https://github.com/chebfun/chebfun/issues/1580","id":101957318,"number":1580,"title":"proposed 12 new codes for cheb/leg/vals/coeffs conversion","user":{"login":"trefethen","id":3601488,"avatar_url":"https://avatars.githubusercontent.com/u/3601488?v=3","gravatar_id":"","url":"https://api.github.com/users/trefethen","html_url":"https://github.com/trefethen","followers_url":"https://api.github.com/users/trefethen/followers","following_url":"https://api.github.com/users/trefethen/following{/other_user}","gists_url":"https://api.github.com/users/trefethen/gists{/gist_id}","starred_url":"https://api.github.com/users/trefethen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trefethen/subscriptions","organizations_url":"https://api.github.com/users/trefethen/orgs","repos_url":"https://api.github.com/users/trefethen/repos","events_url":"https://api.github.com/users/trefethen/events{/privacy}","received_events_url":"https://api.github.com/users/trefethen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chebfun/chebfun/labels/feature-request","name":"feature-request","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-19T17:47:34Z","updated_at":"2015-09-07T12:01:55Z","closed_at":"2015-09-07T12:01:55Z","body":"@nickhale and @ajt60gaibb have developed a remarkable collection of algorithms that speedily convert between four types of vectors of numbers:\r\n```\r\n    Chebcoeffs       Legcoeffs\r\n\r\n    Chebvals         Legvals\r\n```\r\nThere are 4x3=12 potential conversions here, of which only the Chebcoeffs<->Chebvals pair have well-established standard algorithms (namely the DCT).  Some of the 12 that might seem of questionable end-user value, like Legcoeffs -> Chebvals, turn out to be important steps in the algorithms for other conversions.\r\n\r\nI propose that @nickhale and @ajt60gaibb implement twelve user-level Chebfun codes (or wrappers) with the following names:\r\n```\r\nchebcoeffs2chebvals   chebvals2chebcoeffs       \"val/coeff conversions\"\r\nlegcoeffs2legvals     legvals2legcoeffs\r\n\r\nlegcoeffs2chebcoeffs  chebcoeffs2legcoeffs      \"leg/cheb conversions\"\r\nlegvals2chebvals      chebvals2legvals\r\n\r\nlegcoeffs2chebvals    chebvals2legcoeffs        \"cross conversions\"\r\nchebcoeffs2legvals    legvals2chebcoeffs\r\n```\r\nMany of these already exist in Chebfun at some level or another, but there isn't much uniformity in how they are packaged.  I think a uniform naming scheme is a good idea for the following reasons:\r\n\r\n(1) Users will instantly know what names they can call.\r\n\r\n(2) Everybody will suddenly find it easy to do all kinds of experiments.\r\n\r\n(3) The uniform names will help organize our thinking, research, and publications related to these matters.\r\n\r\n(4) These codes will immediately become benchmarks for the community.\r\n\r\nI'm writing this on the assumption that Chebyshev points of the 2nd kind are the main issue, not points of the 1st kind.  If variants for 1st kind are desired this would bring the total number of potential conversions from 4x3=12 to 5x4=20, and I'm not sure I would go so far as to recommend that!  (If we do introduce some type1-related conversions, my recommendation would be to retain \"chebvals\" as meaning type 2 by default and introducing \"cheb1vals\" as the variant.)\r\n"}}