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
>>>>>>
>>>>>>

Reply via email to