[jira] [Commented] (SYSTEMML-1626) x = solve(A,b) should report an error when it is an underdetermined system (in CP mode)

2018-03-15 Thread Janardhan (JIRA)

[ 
https://issues.apache.org/jira/browse/SYSTEMML-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401151#comment-16401151
 ] 

Janardhan commented on SYSTEMML-1626:
-

Hi [~nakul02] , the method seems to be made for inspection of the matrices. 
Hence, the toString() priting the matrix in space separated format seem ok to 
me, instead of an error.

> x = solve(A,b) should report an error when it is an underdetermined system 
> (in CP mode)
> ---
>
> Key: SYSTEMML-1626
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1626
> Project: SystemML
>  Issue Type: Bug
>  Components: Runtime
>Affects Versions: SystemML 0.14
>Reporter: Nakul Jindal
>Assignee: Janardhan
>Priority: Major
>
> {code}
> m = 16
> n = 8
> A = rand(rows=m, cols=n)
> b = rand(rows=m, cols=1)
> x = solve(A, b)
> print(toString(x))
> {code}
> Should print an error, instead it prints a 8x1 vector.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SYSTEMML-1626) x = solve(A,b) should report an error when it is an underdetermined system (in CP mode)

2018-03-15 Thread Janardhan (JIRA)

[ 
https://issues.apache.org/jira/browse/SYSTEMML-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401157#comment-16401157
 ] 

Janardhan commented on SYSTEMML-1626:
-

But, if you still would want to make the operation return an error - I am happy 
with that.

Let's take [~mboehm7]opinion also.

> x = solve(A,b) should report an error when it is an underdetermined system 
> (in CP mode)
> ---
>
> Key: SYSTEMML-1626
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1626
> Project: SystemML
>  Issue Type: Bug
>  Components: Runtime
>Affects Versions: SystemML 0.14
>Reporter: Nakul Jindal
>Assignee: Janardhan
>Priority: Major
>
> {code}
> m = 16
> n = 8
> A = rand(rows=m, cols=n)
> b = rand(rows=m, cols=1)
> x = solve(A, b)
> print(toString(x))
> {code}
> Should print an error, instead it prints a 8x1 vector.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SYSTEMML-1626) x = solve(A,b) should report an error when it is an underdetermined system (in CP mode)

2018-03-16 Thread Matthias Boehm (JIRA)

[ 
https://issues.apache.org/jira/browse/SYSTEMML-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16403290#comment-16403290
 ] 

Matthias Boehm commented on SYSTEMML-1626:
--

Well, generally speaking an underdetermined system has an infinite number of 
solutions. I agree with [~nakul02] that we should throw an error if the passed 
matrix is not squared because that is our solve semantics, which we inherited 
from R (btw, R throws the error "Error in solve.default(A, b) : 'a' (8 x 16) 
must be square"). Historically, we used commons math LU factorization which is 
also just supported over squared matrices and hence correctly threw an error. 
However, later we switched to commons math QR factorization for performance 
reasons. QR is a solver that also supports non-squared inputs and hence we 
should now do the error handling ourselves.

> x = solve(A,b) should report an error when it is an underdetermined system 
> (in CP mode)
> ---
>
> Key: SYSTEMML-1626
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1626
> Project: SystemML
>  Issue Type: Bug
>  Components: Runtime
>Affects Versions: SystemML 0.14
>Reporter: Nakul Jindal
>Assignee: Janardhan
>Priority: Major
>
> {code}
> m = 16
> n = 8
> A = rand(rows=m, cols=n)
> b = rand(rows=m, cols=1)
> x = solve(A, b)
> print(toString(x))
> {code}
> Should print an error, instead it prints a 8x1 vector.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)