Re: [QUESTION] XOR operations in SystemML. Thanks.

2017-09-22 Thread Janardhan Pulivarthi
Hi Matthias,

In your previous mail - you wrote,

> Down the road, we can think about a generalization of our existing
cumulative operations such as cumsum, cumprod, cummax, to arbitrary cell
computations and aggregation functions, which would be useful for quite a
number of applications.

> would be to generalize our AND, OR, NOT, (and XOR) operations to
matrices, because
these are currently only supported over scalars.

Is there any jira is created for this? (would you mind please, creating a
jira for me with a little description of task). Is there anything that you
would like to add for the above tasks, to handle in one nice PR at once.

Thanks,
Janardhan


On Thu, Sep 7, 2017 at 12:18 PM, Matthias Boehm 
wrote:

> thanks Janardhan, in that case I would recommend to go with R syntax
> because (1) it's actually one of our selling points that users don't have
> to learn a new language, (2) it simplifies the porting of R scripts to DML
> (and vice versa), and (3) I would think it's rather uncommon to have long
> chains of xor operations.
>
> Btw, a nice follow-up task - in case you're interested - would be to
> generalize our AND, OR, NOT, (and XOR) operations to matrices, because
> these are currently only supported over scalars. It would get you in touch
> with the parser validation, compilation, and runtime of rather simple
> operations.
>
> Regards,
> Matthias
>
> On Mon, Sep 4, 2017 at 8:57 PM, Janardhan Pulivarthi <
> janardhan.pulivar...@gmail.com> wrote:
>
> > Hi,
> >
> > yes, no big reason to deviate. But, simplicity of `*a (+) b*` or `*a ><
> > b*`like
> > ` *a ^ 2*` (compared to `*xor(a, b)`*, which of the type` *pow(a, 2) `*),
> > to be consistent with the other symbols of dml.
> >
> > In this simple case:
> > 1. ` *a (+) b (+) c (+) d(+)...* `
> > 2. ` *xor(xor(a, b), c)..)  ` (*sorry, if I written this syntax wrongly)
> >
> > Your word will be final.
> >
> > Thanks,
> > Janardhan
> >
> >
> > On Mon, Sep 4, 2017 at 6:46 PM, Matthias Boehm 
> > wrote:
> >
> > > Could we please stick to R syntax (i.e., "xor(a, b)") here, unless
> there
> > is
> > > a good reason to deviate? Thanks.
> > >
> > > Regards,
> > > Matthias
> > >
> > > On Mon, Sep 4, 2017 at 7:55 AM, Janardhan Pulivarthi <
> > > janardhan.pulivar...@gmail.com> wrote:
> > >
> > > > Hi all, [XOR symbol]
> > > >
> > > > Now, I gave a sample try for the XOR operator, with caret ` ^ `
> symbol.
> > > > But, this have been reserved for exponentiation. So, another
> > alternative
> > > > would be
> > > >
> > > > 1. ` (+) `
> > > > 2. ` >< `
> > > > 3. ` >-< `
> > > >
> > > > Thanks,
> > > > Janardhan
> > > >
> > > > On Thu, Aug 31, 2017 at 7:38 PM, Matthias Boehm <
> > mboe...@googlemail.com>
> > > > wrote:
> > > >
> > > >> From a scalar operation perspective, you could of course emulate XOR
> > via
> > > >> AND, OR, and negation. However, you might want to write anyway a
> > > java-based
> > > >> UDF to efficiently implement this recursive operator.
> > > >>
> > > >> Down the road, we can think about a generalization of our existing
> > > >> cumulative operations such as cumsum, cumprod, cummax, to arbitrary
> > cell
> > > >> computations and aggregation functions, which would be useful for
> > quite
> > > a
> > > >> number of applications.
> > > >>
> > > >> Regards,
> > > >> Matthias
> > > >>
> > > >> On Thu, Aug 31, 2017 at 5:59 AM, Janardhan Pulivarthi <
> > > >> janardhan.pulivar...@gmail.com> wrote:
> > > >>
> > > >>> Hi,
> > > >>>
> > > >>> The following is an equation (2.4) from the algorithm for the
> > > generation
> > > >>> of sobol sequences. The authors of the paper have utilized the
> > bitwise
> > > >>> operations of C++ to calculate this efficiently.
> > > >>>
> > > >>> *Now, the question is:* Can we do this at script level (in dml) or
> we
> > > >>> should do it in the `java` itself as a builtin, function to
> generate
> > > the
> > > >>> numbers?.
> > > >>>
> > > >>>
> > > >>> ​
> > > >>> Thanks,
> > > >>> Janardhan
> > > >>>
> > > >>
> > > >>
> > > >
> > >
> >
>


Re: [QUESTION] XOR operations in SystemML. Thanks.

2017-09-07 Thread Matthias Boehm
thanks Janardhan, in that case I would recommend to go with R syntax
because (1) it's actually one of our selling points that users don't have
to learn a new language, (2) it simplifies the porting of R scripts to DML
(and vice versa), and (3) I would think it's rather uncommon to have long
chains of xor operations.

Btw, a nice follow-up task - in case you're interested - would be to
generalize our AND, OR, NOT, (and XOR) operations to matrices, because
these are currently only supported over scalars. It would get you in touch
with the parser validation, compilation, and runtime of rather simple
operations.

Regards,
Matthias

On Mon, Sep 4, 2017 at 8:57 PM, Janardhan Pulivarthi <
janardhan.pulivar...@gmail.com> wrote:

> Hi,
>
> yes, no big reason to deviate. But, simplicity of `*a (+) b*` or `*a ><
> b*`like
> ` *a ^ 2*` (compared to `*xor(a, b)`*, which of the type` *pow(a, 2) `*),
> to be consistent with the other symbols of dml.
>
> In this simple case:
> 1. ` *a (+) b (+) c (+) d(+)...* `
> 2. ` *xor(xor(a, b), c)..)  ` (*sorry, if I written this syntax wrongly)
>
> Your word will be final.
>
> Thanks,
> Janardhan
>
>
> On Mon, Sep 4, 2017 at 6:46 PM, Matthias Boehm 
> wrote:
>
> > Could we please stick to R syntax (i.e., "xor(a, b)") here, unless there
> is
> > a good reason to deviate? Thanks.
> >
> > Regards,
> > Matthias
> >
> > On Mon, Sep 4, 2017 at 7:55 AM, Janardhan Pulivarthi <
> > janardhan.pulivar...@gmail.com> wrote:
> >
> > > Hi all, [XOR symbol]
> > >
> > > Now, I gave a sample try for the XOR operator, with caret ` ^ ` symbol.
> > > But, this have been reserved for exponentiation. So, another
> alternative
> > > would be
> > >
> > > 1. ` (+) `
> > > 2. ` >< `
> > > 3. ` >-< `
> > >
> > > Thanks,
> > > Janardhan
> > >
> > > On Thu, Aug 31, 2017 at 7:38 PM, Matthias Boehm <
> mboe...@googlemail.com>
> > > wrote:
> > >
> > >> From a scalar operation perspective, you could of course emulate XOR
> via
> > >> AND, OR, and negation. However, you might want to write anyway a
> > java-based
> > >> UDF to efficiently implement this recursive operator.
> > >>
> > >> Down the road, we can think about a generalization of our existing
> > >> cumulative operations such as cumsum, cumprod, cummax, to arbitrary
> cell
> > >> computations and aggregation functions, which would be useful for
> quite
> > a
> > >> number of applications.
> > >>
> > >> Regards,
> > >> Matthias
> > >>
> > >> On Thu, Aug 31, 2017 at 5:59 AM, Janardhan Pulivarthi <
> > >> janardhan.pulivar...@gmail.com> wrote:
> > >>
> > >>> Hi,
> > >>>
> > >>> The following is an equation (2.4) from the algorithm for the
> > generation
> > >>> of sobol sequences. The authors of the paper have utilized the
> bitwise
> > >>> operations of C++ to calculate this efficiently.
> > >>>
> > >>> *Now, the question is:* Can we do this at script level (in dml) or we
> > >>> should do it in the `java` itself as a builtin, function to generate
> > the
> > >>> numbers?.
> > >>>
> > >>>
> > >>> ​
> > >>> Thanks,
> > >>> Janardhan
> > >>>
> > >>
> > >>
> > >
> >
>


Re: [QUESTION] XOR operations in SystemML. Thanks.

2017-09-04 Thread Matthias Boehm
Could we please stick to R syntax (i.e., "xor(a, b)") here, unless there is
a good reason to deviate? Thanks.

Regards,
Matthias

On Mon, Sep 4, 2017 at 7:55 AM, Janardhan Pulivarthi <
janardhan.pulivar...@gmail.com> wrote:

> Hi all, [XOR symbol]
>
> Now, I gave a sample try for the XOR operator, with caret ` ^ ` symbol.
> But, this have been reserved for exponentiation. So, another alternative
> would be
>
> 1. ` (+) `
> 2. ` >< `
> 3. ` >-< `
>
> Thanks,
> Janardhan
>
> On Thu, Aug 31, 2017 at 7:38 PM, Matthias Boehm 
> wrote:
>
>> From a scalar operation perspective, you could of course emulate XOR via
>> AND, OR, and negation. However, you might want to write anyway a java-based
>> UDF to efficiently implement this recursive operator.
>>
>> Down the road, we can think about a generalization of our existing
>> cumulative operations such as cumsum, cumprod, cummax, to arbitrary cell
>> computations and aggregation functions, which would be useful for quite a
>> number of applications.
>>
>> Regards,
>> Matthias
>>
>> On Thu, Aug 31, 2017 at 5:59 AM, Janardhan Pulivarthi <
>> janardhan.pulivar...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> The following is an equation (2.4) from the algorithm for the generation
>>> of sobol sequences. The authors of the paper have utilized the bitwise
>>> operations of C++ to calculate this efficiently.
>>>
>>> *Now, the question is:* Can we do this at script level (in dml) or we
>>> should do it in the `java` itself as a builtin, function to generate the
>>> numbers?.
>>>
>>>
>>> ​
>>> Thanks,
>>> Janardhan
>>>
>>
>>
>


Re: [QUESTION] XOR operations in SystemML. Thanks.

2017-09-04 Thread Janardhan Pulivarthi
Hi all, [XOR symbol]

Now, I gave a sample try for the XOR operator, with caret ` ^ ` symbol.
But, this have been reserved for exponentiation. So, another alternative
would be

1. ` (+) `
2. ` >< `
3. ` >-< `

Thanks,
Janardhan

On Thu, Aug 31, 2017 at 7:38 PM, Matthias Boehm 
wrote:

> From a scalar operation perspective, you could of course emulate XOR via
> AND, OR, and negation. However, you might want to write anyway a java-based
> UDF to efficiently implement this recursive operator.
>
> Down the road, we can think about a generalization of our existing
> cumulative operations such as cumsum, cumprod, cummax, to arbitrary cell
> computations and aggregation functions, which would be useful for quite a
> number of applications.
>
> Regards,
> Matthias
>
> On Thu, Aug 31, 2017 at 5:59 AM, Janardhan Pulivarthi <
> janardhan.pulivar...@gmail.com> wrote:
>
>> Hi,
>>
>> The following is an equation (2.4) from the algorithm for the generation
>> of sobol sequences. The authors of the paper have utilized the bitwise
>> operations of C++ to calculate this efficiently.
>>
>> *Now, the question is:* Can we do this at script level (in dml) or we
>> should do it in the `java` itself as a builtin, function to generate the
>> numbers?.
>>
>>
>> ​
>> Thanks,
>> Janardhan
>>
>
>


Re: [QUESTION] XOR operations in SystemML. Thanks.

2017-08-31 Thread Matthias Boehm
>From a scalar operation perspective, you could of course emulate XOR via
AND, OR, and negation. However, you might want to write anyway a java-based
UDF to efficiently implement this recursive operator.

Down the road, we can think about a generalization of our existing
cumulative operations such as cumsum, cumprod, cummax, to arbitrary cell
computations and aggregation functions, which would be useful for quite a
number of applications.

Regards,
Matthias

On Thu, Aug 31, 2017 at 5:59 AM, Janardhan Pulivarthi <
janardhan.pulivar...@gmail.com> wrote:

> Hi,
>
> The following is an equation (2.4) from the algorithm for the generation
> of sobol sequences. The authors of the paper have utilized the bitwise
> operations of C++ to calculate this efficiently.
>
> *Now, the question is:* Can we do this at script level (in dml) or we
> should do it in the `java` itself as a builtin, function to generate the
> numbers?.
>
>
> ​
> Thanks,
> Janardhan
>