Open eric-wieser opened 4 years ago
ganja.js has the R >>> x operator meaning R * x * ~R, which turns out to be very convenient.
R >>> x
R * x * ~R
It would be nice to have some concise spelling for this in clifford, and would help with #95.
clifford
Today we have only clifford.tools.g3c.apply_rotor, which is G3C-specific.
clifford.tools.g3c.apply_rotor
Some options here:
MultiVector
R.sandwich(x)
R.sandwich(R2.sandwich(x)) == (R1 * R2).sandwich(x)
R.sw(x)
R.transform(x)
x.transform_with(R)
x.transform(R2).transform(R1) == x.transform(R1*R2)
x.apply_rotor(R)
R @ x
rotation_matrix @ x
R % x
%
I
o
R // x
//
R |apply_to| x
Other ideas welcome.
Hmm, I like the @ notation in 3. (I think the % symbol might serve nicely for a scalar product as well)
+1 for the '@'
ganja.js has the
R >>> x
operator meaningR * x * ~R
, which turns out to be very convenient.It would be nice to have some concise spelling for this in
clifford
, and would help with #95.Today we have only
clifford.tools.g3c.apply_rotor
, which is G3C-specific.Some options here:
MultiVector
, perhaps:R.sandwich(x)
(chained:R.sandwich(R2.sandwich(x)) == (R1 * R2).sandwich(x)
)R.sw(x)
R.transform(x)
MultiVector
, perhapsx.transform_with(R)
(chained:x.transform(R2).transform(R1) == x.transform(R1*R2)
)x.apply_rotor(R)
R @ x
- implies something similar torotation_matrix @ x
, which is somewhat handyR % x
-%
invokes the idea of aI
sandwiched between twoo
s. But nothing to do with division.R // x
- But nothing to do with division.//
and%
are tied together with divmod, repurposing just one would be quite weird.R |apply_to| x
Other ideas welcome.