simplifyAssertEq(a'^i':simplifyMetrics(), a'^i')
|
${{ a} ^i} = {{ a} ^i}$
GOOD |
time: 1.276000ms stack: size: 7
|
simplifyAssertEq((a'^min' * delta'_i^j'):simplifyMetrics(), a'^mjn')
|
${{{{ a} ^m} ^j} ^n} = {{{{ a} ^m} ^j} ^n}$
GOOD |
time: 3.141000ms stack: size: 7
|
| ||
g shouldn't apply to delta, but delta should apply to g
| ||
simplifyAssertEq((g'^ij' * delta'_j^k'):simplifyMetrics(), g'^ik')
|
${{{ g} ^i} ^k} = {{{ g} ^i} ^k}$
GOOD |
time: 1.715000ms stack: size: 7
|
simplifyAssertEq((delta'_j^k' * g'^ij'):simplifyMetrics(), g'^ik')
|
${{{ g} ^i} ^k} = {{{ g} ^i} ^k}$
GOOD |
time: 2.133000ms stack: size: 7
|
| ||
delta works on mixed tensors
| ||
simplifyAssertEq((a'^i' * delta'_i^j'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.152000ms stack: size: 7
|
simplifyAssertEq((a'^i' * delta'^j_i'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.501000ms stack: size: 7
|
simplifyAssertEq((delta'_i^j' * a'^i'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.019000ms stack: size: 7
|
simplifyAssertEq((delta'^j_i' * a'^i'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.609000ms stack: size: 7
|
| ||
does delta work when not mixed? it shouldn't (unless the metric is equal to identity)
| ||
simplifyAssertEq((a'^i' * delta'_ij'):simplifyMetrics(), a'^i' * delta'_ij')
|
${{{{ a} ^i}} {{{{ δ} _i} _j}}} = {{{{ a} ^i}} {{{{ δ} _i} _j}}}$
GOOD |
time: 1.955000ms stack: size: 8
|
| ||
g raises and lowers
| ||
simplifyAssertEq((a'^i' * g'_ij'):simplifyMetrics(), a'_j')
|
${{ a} _j} = {{ a} _j}$
GOOD |
time: 0.767000ms stack: size: 7
|
simplifyAssertEq((g'_ij' * a'^i'):simplifyMetrics(), a'_j')
|
${{ a} _j} = {{ a} _j}$
GOOD |
time: 0.726000ms stack: size: 7
|
simplifyAssertEq((a'_i' * g'^ij'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.167000ms stack: size: 7
|
simplifyAssertEq((g'^ij' * a'_i'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.080000ms stack: size: 7
|
| ||
does g work when mixed? technically $g^i_j == \delta^i_j$
| ||
simplifyAssertEq((a'^i' * g'_i^j'):simplifyMetrics(), a'^j')
|
${{ a} ^j} = {{ a} ^j}$
GOOD |
time: 1.799000ms stack: size: 7
|
| ||
how about simplifying solely metrics without any non-metric tensors?
| ||
simplifyAssertEq((g'^ik' * delta'_k^l'):simplifyMetrics(), g'^il')
|
${{{ g} ^i} ^l} = {{{ g} ^i} ^l}$
GOOD |
time: 1.211000ms stack: size: 7
|
simplifyAssertEq((g'^ik' * delta'_k^l' * delta'_l^m'):simplifyMetrics(), g'^im')
|
${{{ g} ^i} ^m} = {{{ g} ^i} ^m}$
GOOD |
time: 1.264000ms stack: size: 7
|
| ||
how about simplifying from metrics to deltas?
| ||
simplifyAssertEq((g'^ik' * g'_kj'):simplifyMetrics(), delta'^i_j')
|
${{{ δ} ^i} _j} = {{{ δ} ^i} _j}$
GOOD |
time: 0.848000ms stack: size: 7
|
simplifyAssertEq((g'^ik' * delta'_k^l' * g'_lm'):simplifyMetrics(), delta'^i_m')
|
${{{ δ} ^i} _m} = {{{ δ} ^i} _m}$
GOOD |
time: 0.923000ms stack: size: 7
|
simplifyAssertEq((g'^ik' * delta'_k^l' * delta'_l^m' * g'_mn'):simplifyMetrics(), delta'^i_n')
|
${{{ δ} ^i} _n} = {{{ δ} ^i} _n}$
GOOD |
time: 1.519000ms stack: size: 7
|
| ||
how about derivatives? delta should work but g should not.
| ||
TODO technically g should work on the last ... technically ... but raised partials are awkward to deal with.
| ||
and on that note, I might as well lower with the metric
| ||
simplifyAssertEq((a'_,i' * g'^ij'):simplifyMetrics(), a'_,i' * g'^ij')
|
${{{{ a} _{,i}}} {{{{ g} ^i} ^j}}} = {{{{ a} _{,i}}} {{{{ g} ^i} ^j}}}$
GOOD |
time: 1.576000ms stack: size: 8
|
simplifyAssertEq((a'^,i' * g'_ij'):simplifyMetrics(), a'^,i' * g'_ij')
|
${{{{ a} ^{,i}}} {{{{ g} _i} _j}}} = {{{{ a} ^{,i}}} {{{{ g} _i} _j}}}$
GOOD |
time: 1.458000ms stack: size: 8
|
simplifyAssertEq((a'_,im' * g'^ij'):simplifyMetrics(), a'_,im' * g'^ij')
|
${{{{{ a} _{,i}} _{,m}}} {{{{ g} ^i} ^j}}} = {{{{{ a} _{,i}} _{,m}}} {{{{ g} ^i} ^j}}}$
GOOD |
time: 1.118000ms stack: size: 8
|
simplifyAssertEq((a'^,im' * g'_ij'):simplifyMetrics(), a'^,im' * g'_ij')
|
${{{{{ a} ^{,i}} ^{,m}}} {{{{ g} _i} _j}}} = {{{{{ a} ^{,i}} ^{,m}}} {{{{ g} _i} _j}}}$
GOOD |
time: 1.550000ms stack: size: 8
|
simplifyAssertEq((a'_i,m' * g'^ij'):simplifyMetrics(), a'_i,m' * g'^ij')
|
${{{{{ a} _i} _{,m}}} {{{{ g} ^i} ^j}}} = {{{{{ a} _i} _{,m}}} {{{{ g} ^i} ^j}}}$
GOOD |
time: 1.072000ms stack: size: 8
|
simplifyAssertEq((a'^i,m' * g'_ij'):simplifyMetrics(), a'^i,m' * g'_ij')
|
${{{{{ a} ^i} ^{,m}}} {{{{ g} _i} _j}}} = {{{{{ a} ^i} ^{,m}}} {{{{ g} _i} _j}}}$
GOOD |
time: 1.296000ms stack: size: 8
|
| ||
but delta should simplify with commas
| ||
simplifyAssertEq((a'_,i' * delta'^i_j'):simplifyMetrics(), a'_,j')
|
${{ a} _{,j}} = {{ a} _{,j}}$
GOOD |
time: 1.040000ms stack: size: 7
|
simplifyAssertEq((a'^,i' * delta'_i^j'):simplifyMetrics(), a'^,j')
|
${{ a} ^{,j}} = {{ a} ^{,j}}$
GOOD |
time: 1.056000ms stack: size: 7
|
simplifyAssertEq((a'_,im' * delta'^i_j'):simplifyMetrics(), a'_,jm')
|
${{{ a} _{,j}} _{,m}} = {{{ a} _{,j}} _{,m}}$
GOOD |
time: 1.160000ms stack: size: 7
|
simplifyAssertEq((a'^,im' * delta'_i^j'):simplifyMetrics(), a'^,jm')
|
${{{ a} ^{,j}} ^{,m}} = {{{ a} ^{,j}} ^{,m}}$
GOOD |
time: 0.920000ms stack: size: 7
|
simplifyAssertEq((a'_i,m' * delta'^i_j'):simplifyMetrics(), a'_j_,m')
|
${{{ a} _j} _{,m}} = {{{ a} _j} _{,m}}$
GOOD |
time: 1.163000ms stack: size: 7
|
simplifyAssertEq((a'^i,m' * delta'_i^j'):simplifyMetrics(), a'^j^,m')
|
${{{ a} ^j} ^{,m}} = {{{ a} ^j} ^{,m}}$
GOOD |
time: 0.832000ms stack: size: 7
|
| ||
TODO someday:
| ||
allow g_ij to raise/lower the last partial derivative
| ||
allow g_ij to raise/lower any covariant derivatives not enclosed in partial derivatives.
|