<div dir="ltr"><div>Hi Stefan,<br><br></div><div>Just to clarify: the ? we propose in the NEP is really for matmul - it indicates a true missing dimension (i.e., the array cannot have outer broadcast dimensions as well). For inner loop broadcasting, I'm proposing a "|1" post-fix, which means a dimension could also be missing, but can also be there and be 1, in which case it can do outer broadcast as well.  So, for your function in your notation, it might look like:<br><br>"... * N|1 * int64, ... * N|1 * int64 -> ... * N * int64"<br><br></div><div>(Note that the output of course always has N - if both inputs have 1 then N=1; it is not meant to be absent).<br><br></div><div>I think that actually looks quite clear, although perhaps one might want parentheses around it (since "|" = "or" normally does not have precedence over "*" = multiply), i.e.,<br><br>"... * (N|1) * int64, ... * (N|1) * int64 -> ... * N * int64"<br><br></div><div>All the best,<br><br></div><div>Marten<br><br></div></div>