-
Notifications
You must be signed in to change notification settings - Fork 15
Closed
Labels
bugSomething is brokenSomething is broken
Description
This works fine: gb.op.plus_times(m @ m.T)
and a nice view of the expression shows up in the notebook.
But without inclusion in the semiring, m @ m.T
gets into a state where it knows it is a MatrixExpression, but the formatter gives it an invalid keyword argument.
>>> m @ m.T
TypeError Traceback (most recent call last)
File ~/miniconda3/envs/graphblas-local/lib/python3.9/site-packages/IPython/core/formatters.py:343, in BaseFormatter.__call__(self, obj)
341 method = get_real_method(obj, self.print_method)
342 if method is not None:
--> 343 return method()
344 return None
345 else:
File ~/Projects/graphblas/python-graphblas/graphblas/core/expr.py:525, in InfixExprBase._repr_html_(self)
523 return formatting.format_vector_infix_expression_html(self)
524 if self.output_type.__name__ == "MatrixExpression":
--> 525 return formatting.format_matrix_infix_expression_html(self)
526 return formatting.format_scalar_infix_expression_html(self)
File ~/Projects/graphblas/python-graphblas/graphblas/core/formatting.py:828, in format_matrix_infix_expression_html(expr)
822 expr_html = expr._format_expr_html()
823 header = create_header_html(
824 expr_html,
825 ["nrows", "ncols", "right_dtype", "left_dtype"],
826 [expr._nrows, expr._ncols, expr.left.dtype, expr.right.dtype],
827 )
--> 828 return _format_infix_expression(expr, header, expr_html)
File ~/Projects/graphblas/python-graphblas/graphblas/core/formatting.py:714, in _format_infix_expression(expr, header, expr_name)
708 computed = ""
709 if config.get("autocompute") and (
710 expr.method_name not in {"ewise_add", "ewise_mult"}
711 or expr.left.dtype == BOOL
712 and expr.right.dtype == BOOL
713 ):
--> 714 computed = get_expr_result(expr, html=True)
715 if "__EXPR__" in computed:
716 return computed.replace("<tt>__EXPR__</tt>", topline)
File ~/Projects/graphblas/python-graphblas/graphblas/core/formatting.py:516, in get_expr_result(expr, html)
514 val.name = "Result"
515 if html:
--> 516 arg_string = f"{val._repr_html_(expr=expr)}"
517 else:
518 arg_string = val.__repr__(expr=expr)
TypeError: _repr_html_() got an unexpected keyword argument 'expr'
Metadata
Metadata
Assignees
Labels
bugSomething is brokenSomething is broken