Mike Dusenberry created SYSTEMML-1434:
-----------------------------------------

             Summary: Broadcasting Error
                 Key: SYSTEMML-1434
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1434
             Project: SystemML
          Issue Type: Bug
            Reporter: Mike Dusenberry
         Attachments: broadcasting_test.dml

Currently, we make use of broadcasting to allow for binary operations between 
matrices and vectors that have a common size in each the row or column 
dimension.  However, there is currently a limitation in which the matrix must 
be the first argument to the binary operator in order for the broadcasting to 
take place.  Otherwise, in the case of the vector being the first argument, an 
error will be thrown,

Works correctly --> op(matrix, vector):
{code}
a = rand(rows=4, cols=16)
b = rand(rows=1, cols=16)
out = a * b
print(toString(out))
{code}

Fails --> op(vector, matrix):
{code}
a = rand(rows=4, cols=16)
b = rand(rows=1, cols=16)
out = b * a
print(toString(out))
{code}

{code}
org.apache.sysml.parser.LanguageException: Invalid Parameters : ERROR: 
tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in dimensions for 
operation (b MULT a)
        at 
org.apache.sysml.parser.Expression.raiseValidateError(Expression.java:549)
        at 
org.apache.sysml.parser.BinaryExpression.checkAndSetDimensions(BinaryExpression.java:188)
        at 
org.apache.sysml.parser.BinaryExpression.validateExpression(BinaryExpression.java:141)
        at 
org.apache.sysml.parser.StatementBlock.validate(StatementBlock.java:592)
        at 
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:141)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:588)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:350)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:211)
Exception in thread "main" org.apache.sysml.api.DMLException: 
org.apache.sysml.parser.LanguageException: Invalid Parameters : ERROR: 
tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in dimensions for 
operation (b MULT a)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:364)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:211)
Caused by: org.apache.sysml.parser.LanguageException: Invalid Parameters : 
ERROR: tests/broadcasting_test.dml -- line 4, column 7 -- Mismatch in 
dimensions for operation (b MULT a)
        at 
org.apache.sysml.parser.Expression.raiseValidateError(Expression.java:549)
        at 
org.apache.sysml.parser.BinaryExpression.checkAndSetDimensions(BinaryExpression.java:188)
        at 
org.apache.sysml.parser.BinaryExpression.validateExpression(BinaryExpression.java:141)
        at 
org.apache.sysml.parser.StatementBlock.validate(StatementBlock.java:592)
        at 
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:141)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:588)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:350)
        ... 1 more
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to