Tutorial for C op

Work in progress.

This is the first version of the tutorial on extending theano with C ops. I'm looking for feedback from people with experience with it to help check for factual errors as well as from people with little experience extending theano to ensure that the concepts are explained clearly enough for new contributors to Theano. Thanks.
The stack trace when the variable was created. THis get printed in some
error message.

On Fri, Sep 26, 2014 at 2:38 PM, carriepl <notifications@github.com> wrote:

> In doc/tutorial/extending_theano_c.txt:
>
> > +
> > +    class VectorTimesScalar(gof.Op):
> > +        __props__ = ()
> > +
> > +        def __init__(self, **kwargs):
> > +            gof.Op.__init__(self, **kwargs)
> > +
> > +        def make_node(self, x, y):
> > +            # Validate the inputs' type
> > +            if x.type.ndim != 1:
> > +                raise TypeError('x must be a 1-d vector')
> > +            if y.type.ndim != 0:
> > +                raise TypeError('y must be a scalar')
> > +
> > +            # Create an output variable of the same type as x
> > +            output_var = x.type.make_variable()
>
> Good to know, I'll change it. What info does this to the variable?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Theano/Theano/pull/2121/files#r18105948>.
>