Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2014

[Date Index] [Thread Index] [Author Index]

Search the Archive

How does TensorReduce use assumptions?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg132252] How does TensorReduce use assumptions?
  • From: Yi Wang <tririverwangyi at gmail.com>
  • Date: Thu, 23 Jan 2014 03:35:25 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net

I would like to use TensorReduce by assuming that certain patterns of functions are tensors. From documentation of TensorReduce:

"If TensorDimensions[ten] does not return a list of dimensions, then the expression ten is returned unchanged."

I would have inferred from above that if I modify TensorDimensions[ten], TensorReduce should work. Thus I did

Unprotect[TensorDimensions];
TensorDimensions[f_[g__]] := d & /@ {g};
Protect[TensorDimensions];

Assuming[ t \[Element] Arrays[{d, d}, Antisymmetric[All]] ,
 TensorReduce @ TensorContract[ t\[TensorProduct]f[DN, DN], {1, 4}]]

However, this doesn't work. i.e. TensorReduce does nothing, and the result is

TensorContract[ t\[TensorProduct]f[DN, DN], {{1, 4}}]

To compare, having defined

Assuming[ t \[Element] Arrays[{d, d}, Antisymmetric[All]] && 
          f[DN, DN] \[Element] Arrays[{d, d}],
 TensorReduce @ TensorContract[ t\[TensorProduct]f[DN, DN], {1, 4}]]

- TensorContract[ t\[TensorProduct]f[DN, DN], {{2, 4}}]

the result is indeed simplified as desired:

I also tried to modify TensorSymmetry, but without luck either.

I'd like to understand what are the assumptions that TensorReduce really uses. Is there a way that I can work with TensorReduce as above, with pattern like declaration of tensors?

PS: Currently I generate a list of assumptions of f_[g__] using Cases, and put those assumptions together in Assuming. This makes the code slow and ugly.



  • Prev by Date: Re: How to show 1+2+3+ ... = -1/12 using Mathematica's symbols?
  • Next by Date: Re: How to show 1+2+3+ ... = -1/12 using
  • Previous by thread: Re: Part Function
  • Next by thread: Re: How does TensorReduce use assumptions?