June 11, 2017
On Sunday, 11 June 2017 at 11:10:38 UTC, data pulverizer wrote:
> On Sunday, 11 June 2017 at 01:57:52 UTC, 9il wrote:
>> [...]
>
> You are right - I realised this as I was writing the script but I address this point later ...
>
>> [...]
>
> Thank you for mentioning the Lubeck package, I did not know about it and it looks very interesting.
>
> The article is exploratory, I also assume that the person reading it is busy. I tend to gravitate towards Phobos because its there - its the standard library and comes with D, its easy to write code with it and easy for a reader to access. If I write an article with code I want it to be likely that:
>
> 1. Anyone can download and run the code immediately and it will work.
> 2. If someone sees the article in 6 months or 3 years and downloads the code it will work.
> 3. The reader will be able to look up all the functions I have used in the D website - makes it very easy for learners.

We supports Mir related posts.
https://github.com/libmir/blog/pull/35

> At this stage the numerical computing ecosystem in D is not mature and could change drastically. I added a link to the Mir library at the top because I wanted people to be aware of the Mir project.

I ported few large complex Matlab scripts using Lubeck and Mir-Algorithm (closed source).
It works perfectly and results are the same as Matlab original!
All functions from Lubeck was used in this work.
Mir Algorithm has over then 2K downloads, and its downloads rates grows fast.

> The article is more about GLM in D than performance but I can point to the Lubeck package in the article and mention your observation on the allocations - making it clearer upfront.
>
> As I said in the previous reply, I did learn a lot from writing the article and I think the performance observation is highly relevant for building a GLM package in D.


Regards,
Ilya
June 11, 2017
On Sunday, 11 June 2017 at 12:36:19 UTC, 9il wrote:
>
> I ported few large complex Matlab scripts using Lubeck and Mir-Algorithm (closed source).
> It works perfectly and results are the same as Matlab original!
> All functions from Lubeck was used in this work.
> Mir Algorithm has over then 2K downloads, and its downloads rates grows fast.
>

I wasn't familiar with Lubeck, so thanks for bringing attention to it.

Can I ask why this isn't part of mir?
June 11, 2017
On Sunday, 11 June 2017 at 13:36:09 UTC, jmh530 wrote:
> On Sunday, 11 June 2017 at 12:36:19 UTC, 9il wrote:
>>
>> I ported few large complex Matlab scripts using Lubeck and Mir-Algorithm (closed source).
>> It works perfectly and results are the same as Matlab original!
>> All functions from Lubeck was used in this work.
>> Mir Algorithm has over then 2K downloads, and its downloads rates grows fast.
>>
>
> I wasn't familiar with Lubeck, so thanks for bringing attention to it.
>
> Can I ask why this isn't part of mir?

It uses mir-blas and mir-lapack packages. They are low level and satisfy betterC requirements. Mir is a libraries collection to write more high level easy to use libraries. Mir should provide basic data types, patterns, and low level API.

Lubeck is high level library for scripting like programming. I like that it is located at Kaleidic GitHub. It is very important for D to have successful open source commercial projects. mir-blas, mir-lapack, and Lubeck are sponsored by Symmetry Investments and Kaleidic Associates. Another example is ASDF by Tamedia Digital. BTW, I need to write announce )
June 11, 2017
On Sunday, 11 June 2017 at 12:04:36 UTC, data pulverizer wrote:
> On Sunday, 11 June 2017 at 01:59:37 UTC, 9il wrote:
>>> Why not to use ndslice and Lubeck [1] libraries instead?
>>>
>>> [1] https://github.com/kaleidicassociates/lubeck
>>>
>>> Ilya
>>
>> It is already has hight level ndslice interface for inv (inverse) and mtimes (matmul).
>
> p.p.s Okay, I can see how writing an article using D's latest numerical library will help increase knowledge of packages in the ecosystem. Fair enough. I shall look into re-writing to include lubeck

See also mir.ndslice.algorithm and mir.ndslice.topology. They are more efficient then Phobos analogs. For example, mir.ndslice.algorithm (each, reduce and others) can iterate multiple ndslice at once, while Phobos requires to not efficient std.range.zip.
June 12, 2017
On Sunday, 11 June 2017 at 15:57:14 UTC, Ilya wrote:
>
> It uses mir-blas and mir-lapack packages. They are low level and satisfy betterC requirements. Mir is a libraries collection to write more high level easy to use libraries. Mir should provide basic data types, patterns, and low level API.
>
> Lubeck is high level library for scripting like programming. I like that it is located at Kaleidic GitHub. It is very important for D to have successful open source commercial projects. mir-blas, mir-lapack, and Lubeck are sponsored by Symmetry Investments and Kaleidic Associates. Another example is ASDF by Tamedia Digital. BTW, I need to write announce )

Thanks. This will definitely be a very useful library. Your write-up might explain the meaning of the name.

Also, as you haven't done the announce yet, I'm still a little unsure about how high level Lubeck will get. For instance, if I write some Matrix math heavy code, then it's going to have mtimes all throughout it. I think there was some discussion in the past about a struct with opBinary overloaded (at which point it may be useful to point out that a DIP to add some more things that opBinary could overload might be useful).
June 12, 2017
On Monday, 12 June 2017 at 14:46:30 UTC, jmh530 wrote:
> On Sunday, 11 June 2017 at 15:57:14 UTC, Ilya wrote:
>> [...]
>
> Thanks. This will definitely be a very useful library. Your write-up might explain the meaning of the name.

Laeeth proposed the name
https://en.wikipedia.org/wiki/L%C3%BCbeck

> Also, as you haven't done the announce yet, I'm still a little unsure about how high level Lubeck will get. For instance, if I write some Matrix math heavy code, then it's going to have mtimes all throughout it. I think there was some discussion in the past about a struct with opBinary overloaded (at which point it may be useful to point out that a DIP to add some more things that opBinary could overload might be useful).

Yes, the DIP for opBinary would be very useful.

1 2
Next ›   Last »