oops, yes thanks.
On Thursday, 10 September 2015 08:42:01 UTC-3, Jeffrey Sarnoff wrote:
>
> if you want to get into it,
>
> immutable Complex ... end
>
> does what type Complex ... end does with the added benefit of behaving
> more as Float64 does with respect to memory and access at the price of not
> being able to change its component values
>
> and none of that is needed, though it does make a good example, because
> Complex is already available:
>
> julia> c = Complex(1.5,0.5)
> 1.5 + 0.5im
>
> julia> typeof(c)
> Complex{Float64}
>
>
> On Thursday, September 10, 2015 at 7:29:50 AM UTC-4, Jeffrey Sarnoff wrote:
>>
>> type Complex{ T<:AbstractFloat } <: Number
>> x::T
>> y::T
>> end
>>
>>
>> On Thursday, September 10, 2015 at 7:18:13 AM UTC-4, andrew cooke wrote:
>>>
>>> thanks (how does someone working on embedded c++ get to work with
>>> adaboost?!)
>>>
>>> what i am actually going with is a bunch of links to examples (i can
>>> email this to everyone before the talk, which will be over google meetup):
>>>
>>> (if anyone has corrections to what follows in the next few hours i am
>>> happy to hear them, although i think it's pretty uncontroversial)
>>>
>>>
>>> * Data analysis and plots something like R
>>> http://dcjones.github.io/Gadfly.jl/
>>>
>>> * IJulia reminds me of Mathematica (based on IPython)
>>>
>>> https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks#julia
>>>
>>> http://nbviewer.ipython.org/url/beowulf.csail.mit.edu/18.337/fractals.ipynb
>>>
>>> http://nbviewer.ipython.org/github/JuliaOpt/juliaopt-notebooks/blob/master/notebooks/Matrix%20Completion%20with%20Binary%20Data.ipynb
>>>
>>> * Like Matlab, it makes using arrays easy
>>> http://quant-econ.net/jl/julia_arrays.html
>>>
>>> * The neat thing (to me) is that unlike Matlab, the arrays code is often
>>> (not always - it calls out to BLAS etc) written in Julia itself.
>>> http://julialang.org/benchmarks/
>>>
>>> * More generally, it has managed ("automatic") memory allocation.
>>> It doesn't have objects/classes, but it has something similar:
>>> it combines types (like C structs) with multiple dispatch.
>>>
>>> For example, to define complex types:
>>>
>>> type Complex64<:Number
>>> Float64 x
>>> Float64 y
>>> end
>>>
>>> and then define
>>>
>>> +(a::Complex64, b::Complex64) = Complex64(a.x + b.x, a.y + b.y)
>>> ... etc
>>>
>>> Note that + is already defined for a pile of other types (start julia
>>> and
>>> type "methods(+)" to see them all).
>>>
>>> Which is almost the same as defining a Complex64 class with a "+"
>>> method.
>>> Main differences are (1) all types used to choose method and (2) only
>>> final
>>> types have fields (so memory layout is known).
>>>
>>> And it's fast because the compiler compiles functions at runtime
>>> depending
>>> on types when called. So the code ends up being compiled for a very
>>> specific type, even if in your code you just had "a+b" and it wasn't
>>> clear
>>> whether a and b were Complex64 or Float64 or Int32 or ...
>>>
>>> Downside to that is that when you first run a program it is actually
>>> slow,
>>> as it compiles things. But second and further calls to any routine are
>>> fast.
>>>
>>> I've written CRC32 (checksum) code of comparable speed to libz (pretty
>>> much
>>> the C benchmark). It wasn't "simple", but it was no harder than C.
>>> You
>>> have profiling tools, you unroll loops, etc etc.
>>>
>>> (In practice you would probably do:
>>>
>>> type Complex(F<:Float}<:Number
>>> F x
>>> F y
>>> end
>>>
>>> because it hs parameterised types)
>>>
>>>
>>> On Thursday, 10 September 2015 05:21:42 UTC-3, Carlos Becker wrote:
>>>>
>>>> Hi Andrew, my slides are here,
>>>> https://sites.google.com/site/carlosbecker/a-few-notes , they are for
>>>> v0.3:
>>>>
>>>> If you need the openoffice original let me know, I can send it to you.
>>>> Cheers.
>>>>
>>>> El miércoles, 9 de septiembre de 2015, 14:07:36 (UTC+2), andrew cooke
>>>> escribió:
>>>>>
>>>>> ok, thanks everyone i'll have a look at all those. andrew
>>>>>
>>>>> On Tuesday, 8 September 2015 17:58:33 UTC-3, andrew cooke wrote:
>>>>>>
>>>>>>
>>>>>> I need to give a presentation at work and was wondering is slides
>>>>>> already exist that:
>>>>>>
>>>>>> * show how fast it is in benchmarks
>>>>>>
>>>>>> * show that it's similar to matlab (matrix stuff)
>>>>>>
>>>>>> * show that you can write fast inner loops
>>>>>>
>>>>>> For bonus points:
>>>>>>
>>>>>> * show how you can add other numerical types at no "cost"
>>>>>>
>>>>>> * show how mutiple dispatch can be useful
>>>>>>
>>>>>> * show how someone used to OO in, say, python, won't feel too lost
>>>>>>
>>>>>> Preferably just one slide per point. Very short.
>>>>>>
>>>>>> Thanks,
>>>>>> Andrew
>>>>>>
>>>>>>