Do we need Mat, Vec, TMmat, Diag, Sym and other matrix types?

Sam Potter sfp at umiacs.umd.edu
Wed Mar 14 23:30:55 UTC 2018


On Wednesday, 14 March 2018 at 22:17:49 UTC, jmh530 wrote:
> On Wednesday, 14 March 2018 at 20:21:15 UTC, Sam Potter wrote:
>>
>> Sure. The key word in my statement was "ideally". :-)
>>
>> For what it's worth, there is already an "informal spec" in 
>> the form of the high-level interface for numerical linear 
>> algebra and sci. comp. that has been developed (over three 
>> decades?) in MATLAB. This spec has been replicated (more or 
>> less) in Julia, Python, Octave, Armadillo/Eigen, and others. 
>> I'm not aware of all the subtleties involved in incorporating 
>> it into any standard library, let alone D's, but maybe this is 
>> an interesting place where D could get an edge over other 
>> competing languages. Considering that people in Python land 
>> have picked up D as a "faster Python", there might be more 
>> traction here than is readily apparent
>> [snip]
>
> libmir [1] originally started as std.experiemental.ndslice 
> (that component is now mir-algorithm). They had removed it from 
> the std.experimental because it wasn't stable enough yet and 
> needed to make breaking changes. I think it's doing just fine 
> as a standalone library, rather than part of the standard 
> library. As this thread makes clear, there's certainly more 
> work to be done on it, but I'm sure Ilya would appreciate any 
> feedback or assistance.
>
> I'm sympathetic to your point about D getting an edge by having 
> a better linear algebra experience. I came to D for faster 
> Python/R/Matlab (and not C++), though if I need to do something 
> quickly, I still defer to Python/R. However, if you look at the 
> TIOBE index, R and Matlab are at 18/20. Python is quite a bit 
> higher, but it's growth in popularity was not largely due to 
> the Numpy/Scipy ecosystem. So while I think that D could get 
> more traction if libmir turns itself into a premiere linear 
> algebra library, we should be realistic that linear algebra is 
> a relatively small segment of how people use programming 
> languages. Maybe these firms might be willing to pay up for 
> more support though...(if a user could replace pandas with 
> libmir, I would imagine some financial firms might be 
> interested).
>
> [1] https://github.com/libmir

Thanks for the information, and great points made.

I think it's worth mentioning Julia's rapid development. I'm not 
sure exactly how much traction Julia is getting in different 
sectors, but I've heard that it has a certain appeal by dint of 
it being open source (no need to buy expensive MATLAB seats). 
Julia looks like it could kill MATLAB. I think D has no chance of 
competing here (beyond being a backend for libraries) without a 
better scientific experience. OTOH, the fact that D doesn't have 
a REPL may kill it from the get go (hard to do exploratory data 
analysis). As you said, you still defer to Python/R/etc---I have 
a hard time seeing myself using a language like D for everything 
I work on.

This is getting pretty derailed from the main subject, sorry! I 
would like to let Ilya and others continue the original 
discussion now.


More information about the Digitalmars-d mailing list