Matlab specific binding are largely abandoned in favor of common set of
things that tends to be more R-Like stuff. the reason is that a lot of
things (such as e.g. elementwise tensor operators) in matlab are impossible
to implement in Scala operators, or they would have undesired precedence. R
"base" bindings are much more desirable at this point to keep things
consistent.

However, i found that just blindly following R "base" operations design is
often less than desirable as it often would require internal state to
perform well in iterations (especially sampling in Monte Carlo based
solutions). So reasonable compromise is pursued here as well -- we of
course adopt whatever make sense but we just try to keep things immediately
recognizable for people who dealt with R before.

As it stands, the algebraic bindings are largely complete and well-rounded
(there are small things such as e.g. `1.0 rbind Matrix`  or `1.0 cbind
Vector`, especially for in-core things, which may be filled in if desired,
but ot awfully a lot. In-core matrix bindings are just DSL and therefore
are fairly easy to add. Performance is the biggest issue here. Distributed
algebra bindings IMO do not need any further additions at this point. There
are few things to tweak in optimizer (e.g. it currently doesn't rewrite
something like `drmA.t.mapBlock` correctly) but it is not terribly
important to have it as opposed to having done it right.

Extending on implementing R "base", there are huge gaps on stats side, such
as multivariate distirbutions operation support. E.g. native efficient
Inverse Wishart sampling is one example. I filled a lot of these gaps on a
private branch but unable to contribute. So stats, natively to Colt rather
than being bridged to some other library, are very desired and very
fundamental aspect as well. Without those it is quite difficult or plainly
impossible to contribute any MCMC based implementation, for example.
Another example is to have Gaussian process and gradients, along with
aquisition function support (aka "Bayesian optmization" areas), available.
This is essential for hyperparameter search. Again, i have implemented that
but that's all private as well. But at least it is all well understood.

So there's a lot of principled and pretty fundamental work here to make
this a well rounded environment. I know it may become all very useful if
done right -- because i am already using all of it, privately. However, all
of that math is a common knowledge that is not subject to any copyright
claims. Any work toward the above is quite welcome.



On Mon, Sep 29, 2014 at 11:34 AM, thejas prasad <[email protected]> wrote:

> Hey Ted,
>
> It seemed interesting. I was looking at Jira and also Git and It seemed as
> though some scala bindings where already implemented.. Am I correct?
>
> I wanted to take up a task that is trivial since I am new to scala and
> even mahout.
>
> With that said I would be interested in writing more matlab bindings.
>
> Does that sound okay?
>
> -Thejas
>
>
> > On Sun, Sep 28, 2014 at 3:15 PM, Aamir Khan <[email protected]>
> wrote:
> > Hi,
> >
> > I am also new to Apache and Mahout. This thread caught my attention.
> > Can you tell what are the areas where development is required.
> > Is there any work on *Clustering*?
> > Any guidance on how to start and useful links are highly appreciated.
> >
> > Many thanks,
> >
> >
> > On Mon, Sep 29, 2014 at 1:19 AM, Ted Dunning <[email protected]>
> wrote:
> >
> > > Thejas,
> > >
> > > What were your impressions?
> > >
> > > Which parts of the system match your background and capabilities?
> > >
> > >
> > >
> > > On Sun, Sep 28, 2014 at 11:46 AM, Thejas Prasad <[email protected]>
> > > wrote:
> > >
> > > > Hey suneel,
> > > >
> > > > I finished reading the paper.  What's next?
> > > >
> > > > Sent from my iPhone
> > > >
> > > > > On Sep 26, 2014, at 7:04 PM, Suneel Marthi <[email protected]>
> wrote:
> > > > >
> > > > > See this for a start
> > > > >
> http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf
> > > > >
> > > > >
> > > > >> On Fri, Sep 26, 2014 at 8:02 PM, thejas prasad <
> [email protected]>
> > > > wrote:
> > > > >>
> > > > >> what exactly in the  scala math library?
> > > > >>
> > > > >>
> > > > >>
> > > > >> On Fri, Sep 26, 2014 at 1:00 AM, Ted Dunning <
> [email protected]>
> > > > >> wrote:
> > > > >>
> > > > >>> Got it!
> > > > >>>
> > > > >>> Sorry to be dense.
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>> On Thu, Sep 25, 2014 at 4:23 PM, Thejas Prasad <
> [email protected]>
> > > > >>> wrote:
> > > > >>>
> > > > >>>> Sorry I meant to say what is the best way to get started**?
> > > > >>>>
> > > > >>>> Thanks,
> > > > >>>> Thejas
> > > > >>>> Sent from my iPhone
> > > > >>>>
> > > > >>>>> On Sep 25, 2014, at 4:28 PM, Ted Dunning <
> [email protected]>
> > > > >>> wrote:
> > > > >>>>>
> > > > >>>>>> On Thu, Sep 25, 2014 at 9:35 AM, Thejas Prasad <
> > > [email protected]
> > > > >>>
> > > > >>>> wrote:
> > > > >>>>>>
> > > > >>>>>> what is the best way to get statues
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> Hmmm....
> > > > >>>>>
> > > > >>>>> I am totally confused.  You must have meant something here.
> > > > >>>>>
> > > > >>>>> Regarding your next question, the place to start work is on the
> > > scala
> > > > >>>> math
> > > > >>>>> library.
> > > > >>
> > > >
> > >
>
>

Reply via email to