{"id":6994,"date":"2014-04-18T22:37:42","date_gmt":"2014-04-18T20:37:42","guid":{"rendered":"http:\/\/djalil.chafai.net\/blog\/?p=6994"},"modified":"2014-09-01T03:48:12","modified_gmt":"2014-09-01T01:48:12","slug":"the-julia-language","status":"publish","type":"post","link":"https:\/\/djalil.chafai.net\/blog\/2014\/04\/18\/the-julia-language\/","title":{"rendered":"The Julia Language"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/julia.png\" rel=\"attachment wp-att-7004\"><img loading=\"lazy\" class=\"aligncenter wp-image-7004 size-medium\" src=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/julia-300x202.png\" alt=\"The Julia Language\" width=\"300\" height=\"202\" srcset=\"https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/julia-300x202.png 300w, https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/julia-1024x692.png 1024w, https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/julia.png 1260w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">I played a bit this spring with <a href=\"http:\/\/en.wikipedia.org\/wiki\/Julia_%28programming_language%29\"><strong>Julia<\/strong><\/a> (the software, not the girl next door ;-). For Debian : <em>apt-get install julia julia-doc<\/em>. This was the source of great enthusiasm! Julia is a promising software for scientific computing. Yet another interpreter around <a href=\"http:\/\/en.wikipedia.org\/wiki\/LAPACK\">Lapack<\/a>? Yes and no. Some people believe that Julia is a revolution in scientific computing. For most of my daily needs, Julia is already almost preferable to Matlab\/Octave\/Scilab\/R\/C++\/Python\/... due to multiple bleeding edge technical features, including a high performance <a href=\"http:\/\/en.wikipedia.org\/wiki\/Just-in-time_compilation\">just-in-time<\/a> compiler. Julia is flexible like Matlab, is fast like C, is free software like Octave\/Scilab\/R (<a href=\"http:\/\/en.wikipedia.org\/wiki\/MIT_License\">MIT license<\/a>), is text friendly like Python, and much more. Julia is also good for its competitors: it will help them to evolve. The reading of \u00ab<a href=\"http:\/\/julialang.org\/blog\/2012\/02\/why-we-created-julia\/\"><em>Why we created Julia<\/em><\/a>\u00bb by the creators of Julia is informative. An impressive summary of Julia features is given on <a href=\"http:\/\/julialang.org\/\">julialang.org<\/a>, which provides many resources, including videos featuring the great <a href=\"http:\/\/en.wikipedia.org\/wiki\/Alan_Edelman\">Alan Edelman<\/a> (MIT group leader, co-creator of Julia).<\/p>\n<p style=\"text-alig: justify;\">Learning Julia is a pretty easy task. Here is one of my first Julia program:<\/p>\n<pre>Pkg.add(\"Winston\") # Pkg.add(\"Winston\") is needed once for all.\r\nusing Winston # for simple graphics \u00e0 la Matlab\r\nn = 1000;\r\n(D,U) = eig((randn(n,n)+im*randn(n,n))\/sqrt(2*n));\r\nI = [-1:.01:1]; J = sqrt(1-I.^2);\r\nhold(true)\r\nplot(real(D),imag(D),\"b.\",I,J,\"r--\",I,-J,\"r--\")\r\ntitle(@sprintf(\"Complex Ginibre Ensemble %dx%d\",n,n))\r\nfile(\"circ.png\")\r\n<\/pre>\n<p style=\"text-align: justify;\">(this is one of my standard tests: Ginibre ensemble!) which produces the following image: <a href=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/circ.png\" rel=\"attachment wp-att-6995\"><img loading=\"lazy\" class=\"aligncenter wp-image-6995 size-medium\" src=\"http:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/circ-300x300.png\" alt=\"Ginibre with Julia\" width=\"300\" height=\"300\" srcset=\"https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/circ-300x300.png 300w, https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/circ-150x150.png 150w, https:\/\/djalil.chafai.net\/blog\/wp-content\/uploads\/2014\/04\/circ.png 512w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Julia is still young - born in 2012, version 0.2 - and needs time to gain maturity, notably for plotting support among other things. One can regret the lack of a graphical user interface, but one can use <a href=\"\/scripts\/search.php?q=Emacs+ESS\">Emacs+ESS<\/a>, or the wonderful <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ipython\">IPython notebooks<\/a> in web browser via the Julia package <a href=\"https:\/\/github.com\/JuliaLang\/IJulia.jl\">IJulia<\/a>. For Debian: <em>apt-get install ess ipython-notebook<\/em>. Give it a try!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I played a bit this spring with Julia (the software, not the girl next door ;-). For Debian : apt-get install julia julia-doc. This was&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/djalil.chafai.net\/blog\/2014\/04\/18\/the-julia-language\/\">Continue reading<span class=\"screen-reader-text\">The Julia Language<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":93},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/6994"}],"collection":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/comments?post=6994"}],"version-history":[{"count":73,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/6994\/revisions"}],"predecessor-version":[{"id":7366,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/posts\/6994\/revisions\/7366"}],"wp:attachment":[{"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/media?parent=6994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/categories?post=6994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/djalil.chafai.net\/blog\/wp-json\/wp\/v2\/tags?post=6994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}