Closed coroa closed 1 month ago
@coroa Can you give us a bit more context on what are you trying to achieve that triggers this.
Hi @ncclementi ,
puh, not really. This comes up relatively deep down in building an engine for writing linear optimization problems from mathematical equations with an xarray inspired syntax. To do automatic per-dimension broadcasting i am relying on a lot of sequential joins, and that is a minimal breaking example that i could distill after a lot of debugging.
I unfortunately don't understand the idea of the DerefMap
s, so i am a bit unsure what is happening. I fear the self join of the t1
table is at the heart of the problem (and it will be difficult to avoid it in my higher level code), but i guess i could work around it, if i must.
(Added some more backgorund above)
What happened?
is raising the following
SignatureValidationError
:Background
This arises in a prototype system that builds optimization models from algebraic equations.
t1
represents a vector variable with the two dimensionsi
andj
, lower and upper bounds as well as a variable identifier (the matrix column of the constraint matrix in the end). Let's call this variablex
for the time being.The join for
t2
is then equivalent to the quadratic expression that is built by the algreba:x * x
. The expression is represented by a table with avar1
and avar2
column which hold the label identifiers and thecoeff
icient of the quadratic term.The third join would then be the multiplication of a pandas series with only the index
i
(so it should broadcasting across thej
's of the expression int2
), which ultimately wants to scale thecoeff
values, but ibis seems to get confused when constructing this join (even though it should be relatively straightforward).I am not sure how relevant that is to the bug report though.
What version of ibis are you using?
9.1.0
What backend(s) are you using, if any?
DuckDB
Relevant log output
No response
Code of Conduct