not a TensorRef == no indexes used
| ||
assertIndexesUsed(c)
|
${fixed} = {fixed}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.540000ms stack: size: 7
|
| ||
single TensorRef, fixed
| ||
assertIndexesUsed(c'_i', {fixed='_i'})
|
${{ fixed} _i} = {{ fixed} _i}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.594000ms stack: size: 7
|
assertIndexesUsed(c'_ij', {fixed='_ij'})
|
${{{ fixed} _i} _j} = {{{ fixed} _i} _j}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.854000ms stack: size: 7
|
assertIndexesUsed(c'^i_jk', {fixed='^i_jk'})
|
${{{{ fixed} ^i} _j} _k} = {{{{ fixed} ^i} _j} _k}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.915000ms stack: size: 7
|
| ||
single TensorRef, summed
| ||
assertIndexesUsed(c'^i_i', {summed='^i'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.447000ms stack: size: 7
|
| ||
single TensorRef, mixed
| ||
assertIndexesUsed(c'^i_ij', {fixed='_j', summed='^i'})
|
${{ fixed} _j} = {{ fixed} _j}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.654000ms stack: size: 7
|
| ||
mul, fixed * summed
| ||
assertIndexesUsed(a'_i' * b'^j_j', {fixed='_i', summed='^j'})
|
${{ fixed} _i} = {{ fixed} _i}$
${{ summed} ^j} = {{ summed} ^j}$ ${extra} = {extra}$ GOOD |
time: 0.551000ms stack: size: 7
|
| ||
mul, fixed * fixed => summed
| ||
assertIndexesUsed(g'^im' * c'_mjk', {fixed='^i_jk', summed='^m'})
|
${{{{ fixed} ^i} _j} _k} = {{{{ fixed} ^i} _j} _k}$
${{ summed} ^m} = {{ summed} ^m}$ ${extra} = {extra}$ GOOD |
time: 0.719000ms stack: size: 7
|
| ||
add, nothing
| ||
assertIndexesUsed(a + b)
|
${fixed} = {fixed}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.127000ms stack: size: 0 |
| ||
add, fixed
| ||
assertIndexesUsed(a'_i' + b'_i', {fixed='_i'})
|
${{ fixed} _i} = {{ fixed} _i}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.601000ms stack: size: 7
|
assertIndexesUsed(a'_ij' + b'_ij', {fixed='_ij'})
|
${{{ fixed} _i} _j} = {{{ fixed} _i} _j}$
${summed} = {summed}$ ${extra} = {extra}$ GOOD |
time: 0.536000ms stack: size: 7
|
| ||
add, summed
| ||
assertIndexesUsed(a'^i_i' + b'^i_i', {summed='^i'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.423000ms stack: size: 7
|
assertIndexesUsed(a'^i_i' + b'^j_j', {summed='^ij'})
|
${fixed} = {fixed}$
${{{ summed} ^i} ^j} = {{{ summed} ^i} ^j}$ ${extra} = {extra}$ GOOD |
time: 0.338000ms stack: size: 7
|
| ||
add, extra
| ||
assertIndexesUsed( a'_i' + b, {extra='_i'})
|
${fixed} = {fixed}$
${summed} = {summed}$ ${{ extra} _i} = {{ extra} _i}$ GOOD |
time: 0.279000ms stack: size: 7
|
assertIndexesUsed( a + b'_j', {extra='_j'})
|
${fixed} = {fixed}$
${summed} = {summed}$ ${{ extra} _j} = {{ extra} _j}$ GOOD |
time: 0.314000ms stack: size: 7
|
assertIndexesUsed( a'_i' + b'_j', {extra='_ij'})
|
${fixed} = {fixed}$
${summed} = {summed}$ ${{{ extra} _i} _j} = {{{ extra} _i} _j}$ GOOD |
time: 0.228000ms stack: size: 7
|
| ||
add, fixed + summed
| ||
assertIndexesUsed( a'^i_ij' + b'^i_ij', {fixed='_j', summed='^i'})
|
${{ fixed} _j} = {{ fixed} _j}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.294000ms stack: size: 7
|
assertIndexesUsed( a'^i_ij' + b'^k_kj', {fixed='_j', summed='^ik'})
|
${{ fixed} _j} = {{ fixed} _j}$
${{{ summed} ^i} ^k} = {{{ summed} ^i} ^k}$ ${extra} = {extra}$ GOOD |
time: 0.534000ms stack: size: 7
|
| ||
add, fixed + extra
| ||
assertIndexesUsed( a'_ij' + b'_kj', {fixed='_j', extra='_ik'})
|
${{ fixed} _j} = {{ fixed} _j}$
${summed} = {summed}$ ${{{ extra} _i} _k} = {{{ extra} _i} _k}$ GOOD |
time: 0.571000ms stack: size: 7
|
| ||
add, summed + extra
| ||
assertIndexesUsed( a'^i_ij' + b'^i_ik', {summed='^i', extra='_jk'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${{{ extra} _j} _k} = {{{ extra} _j} _k}$ GOOD |
time: 0.610000ms stack: size: 7
|
| ||
add, fixed + summed + extra
| ||
assertIndexesUsed( a'_ij^jk' + b'_ij^jl', {fixed='_i', summed='_j', extra='^kl'})
|
${{ fixed} _i} = {{ fixed} _i}$
${{ summed} _j} = {{ summed} _j}$ ${{{ extra} ^k} ^l} = {{{ extra} ^k} ^l}$ GOOD |
time: 0.689000ms stack: size: 7
|
| ||
| ||
TODO fixed and summed of add
| ||
TODO fixed and summed of add and mul
| ||
| ||
| ||
notice that the summed index is counted by the number of the symbol's occurrence, regardless of the lower/upper
| ||
this means the lower/upper of the summed will be arbitrary
| ||
assertIndexesUsed( a'^i' * b'_i' * c'_j', {fixed='_j', summed='^i'})
|
${{ fixed} _j} = {{ fixed} _j}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.610000ms stack: size: 7
|
| ||
assertIndexesUsed(a'^i' * b'_i' * c'_j' + d'^i' * e'_i' * f'_j', {fixed='_j', summed='^i'})
|
${{ fixed} _j} = {{ fixed} _j}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.637000ms stack: size: 7
|
| ||
assertIndexesUsed(a'^i' * b'_i', {summed='^i'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.202000ms stack: size: 7
|
| ||
assertIndexesUsed(a'^i' * b'_i' + c, {summed='^i'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.265000ms stack: size: 7
|
| ||
assertIndexesUsed(a'^i' * b'_i' + c'^i' * d'_i', {summed='^i'})
|
${fixed} = {fixed}$
${{ summed} ^i} = {{ summed} ^i}$ ${extra} = {extra}$ GOOD |
time: 0.227000ms stack: size: 7
|