[jira] [Commented] (SYSTEMML-1626) x = solve(A,b) should report an error when it is an underdetermined system (in CP mode)
[ 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)
[ 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)
[ 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)