Thread overview |
---|
July 01, 2018 Mir Algorithm v1.1.3 | ||||
---|---|---|---|---|
| ||||
Mir Algorithm [1, 2] ============= Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice. New features: - most of routines in mir.ndslice.topology (e.g. map, zip, stride) accept common arrays - `Series` got the same formating as builtin associative arrays - `Series` got ~ overloaded operator for set union. - mir.series: `unionSeries` was added (for N=2 optimised using `troykaSeries`) - mir.series: `troykaGalop` and `troykaSeries` were added. They are awesome too iterate over set union when both side set differences and/or set intersection should be handled seprately [6, 7] - ... and a lot of others I forgot since v0.8.0 announce Few bugs was fixed. And a small tip about syntax sugar [3]: /+dub.sdl: dependency "mir-algorithm" version="~>1.1.3" +/ import mir.ndslice; void main() { auto v = [1.0, 2]; auto w = [1.0, 2]; // `map` knows about `zip` auto lazySum1 = zip(v, w).map!((a, b) => a + b); // it is elementwise sum too. auto lazySum2 = v.sliced + w.sliced; assert(lazySum1 == lazySum2); } Major part of this work has been sponsored by Symmetry Investments [4] and Kaleidic Associates [5]. Acknowledgements: Sebastian Wilzbach, Nathan Sashihara, John Hall, Shigeki Karita. [1] https://github.com/libmir/mir-algorithm [2] http://docs.algorithm.dlang.io/latest/index.html [3] https://run.dlang.io/gist/e45d9892299131cee9c90541bbc00183 [4] http://symmetryinvestments.com [5] https://github.com/kaleidicassociates [6] http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaGalop [7] http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaSeries Best Regards, Ilya Yaroshenko |
July 02, 2018 Re: Mir Algorithm v1.1.3 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Sunday, 1 July 2018 at 15:18:55 UTC, 9il wrote:
> Mir Algorithm [1, 2]
> =============
>
> Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice.
>
> New features:
> - most of routines in mir.ndslice.topology (e.g. map, zip, stride) accept common arrays
> - `Series` got the same formating as builtin associative arrays
> - `Series` got ~ overloaded operator for set union.
> - mir.series: `unionSeries` was added (for N=2 optimised using `troykaSeries`)
> - mir.series: `troykaGalop` and `troykaSeries` were added. They are awesome too iterate over set union when both side set differences and/or set intersection should be handled seprately [6, 7]
> - ... and a lot of others I forgot since v0.8.0 announce
> [snip]
Great. I'll need to look into some of these changes, particularly on Series.
What are you plans for next steps with Mir?
|
July 02, 2018 Re: Mir Algorithm v1.1.3 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Sunday, 1 July 2018 at 15:18:55 UTC, 9il wrote:
> Mir Algorithm [1, 2]
> =============
>
> Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice.
>
> New features:
> - most of routines in mir.ndslice.topology (e.g. map, zip, stride) accept common arrays
> - `Series` got the same formating as builtin associative arrays
> - `Series` got ~ overloaded operator for set union.
> - mir.series: `unionSeries` was added (for N=2 optimised using `troykaSeries`)
> - mir.series: `troykaGalop` and `troykaSeries` were added. They are awesome too iterate over set union when both side set differences and/or set intersection should be handled seprately [6, 7]
> - ... and a lot of others I forgot since v0.8.0 announce
>
> Few bugs was fixed.
>
> And a small tip about syntax sugar [3]:
>
> /+dub.sdl:
> dependency "mir-algorithm" version="~>1.1.3"
> +/
>
> import mir.ndslice;
> void main()
> {
> auto v = [1.0, 2];
> auto w = [1.0, 2];
>
> // `map` knows about `zip`
> auto lazySum1 = zip(v, w).map!((a, b) => a + b);
>
> // it is elementwise sum too.
> auto lazySum2 = v.sliced + w.sliced;
>
> assert(lazySum1 == lazySum2);
> }
>
> Major part of this work has been sponsored by Symmetry Investments [4] and Kaleidic Associates [5].
>
> Acknowledgements:
> Sebastian Wilzbach,
> Nathan Sashihara,
> John Hall,
> Shigeki Karita.
>
> [1] https://github.com/libmir/mir-algorithm
> [2] http://docs.algorithm.dlang.io/latest/index.html
> [3] https://run.dlang.io/gist/e45d9892299131cee9c90541bbc00183
> [4] http://symmetryinvestments.com
> [5] https://github.com/kaleidicassociates
> [6] http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaGalop
> [7] http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaSeries
>
> Best Regards,
> Ilya Yaroshenko
Thank you for the great work!
|
July 03, 2018 Re: Mir Algorithm v1.1.3 | ||||
---|---|---|---|---|
| ||||
Posted in reply to jmh530 | On Monday, 2 July 2018 at 13:51:17 UTC, jmh530 wrote:
> On Sunday, 1 July 2018 at 15:18:55 UTC, 9il wrote:
>> Mir Algorithm [1, 2]
>> =============
>>
>> Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice.
>>
>> New features:
>> - most of routines in mir.ndslice.topology (e.g. map, zip, stride) accept common arrays
>> - `Series` got the same formating as builtin associative arrays
>> - `Series` got ~ overloaded operator for set union.
>> - mir.series: `unionSeries` was added (for N=2 optimised using `troykaSeries`)
>> - mir.series: `troykaGalop` and `troykaSeries` were added. They are awesome too iterate over set union when both side set differences and/or set intersection should be handled seprately [6, 7]
>> - ... and a lot of others I forgot since v0.8.0 announce
>> [snip]
>
> Great. I'll need to look into some of these changes, particularly on Series.
>
> What are you plans for next steps with Mir?
New Mir features are open source reflection of work on large proprietary codebase. We have awesome Levenberg–Marquardt algorithm implementation (ndim non-linear least squares solver) in mir.optim, but it is closed source. Maybe if people from the community ask Laeeth to allow to open source it he would like to do so. No idea why it is closed source for now.
-- Ilya
|
July 03, 2018 Re: Mir Algorithm v1.1.3 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 3 July 2018 at 12:47:58 UTC, 9il wrote:
> [snip]
>
> New Mir features are open source reflection of work on large proprietary codebase. We have awesome Levenberg–Marquardt algorithm implementation (ndim non-linear least squares solver) in mir.optim, but it is closed source. Maybe if people from the community ask Laeeth to allow to open source it he would like to do so. No idea why it is closed source for now.
>
> -- Ilya
There are a lot of cases where non-linear least squares can be useful: options pricing, yield curve fitting, etc. I've been doing so much of my statistics with MC-Stan that I forget about how useful stuff like that can be. Bayesian techniques are always so much slower.
|
Copyright © 1999-2021 by the D Language Foundation