MathGroup Archive 2002

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

Search the Archive

Fw: Is Mathematica capable of doing this?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg37507] Fw: [mg37469] Is Mathematica capable of doing this?
  • From: "Hermann Schmitt" <schmitther at netcologne.de>
  • Date: Sat, 2 Nov 2002 03:30:31 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Hello,
a further hint:
by:  lst = List[x__],  where x__ specifies the paramters e.g. of the
function Plus,
you get a list of the paramters and you can access them, easily.
Hermann Schmitt
----- Original Message -----
From: "Hermann Schmitt" <schmitther at netcologne.de>
To: mathgroup at smc.vnet.net
Subject: [mg37507] Re: [mg37469] Is Mathematica capable of doing this?


> Hello,
> you may use entries with Head "Tensor", e.g. Tensor[xyz], where xyz
> identifies an specific Tensor.
> Then you can define functions Plus, Times, ... in the form:
> Plus[x__Tensor] := .......
> x__ Tensor  means one ore more expressions with Head "Tensor".
> Hermann Schmitt
>
> ----- Original Message -----
> From: "Liguo Song" <Liguo.Song at vanderbilt.edu>
To: mathgroup at smc.vnet.net
> To: <mathgroup at smc.vnet.net>
> Sent: Friday, November 01, 2002 7:43 AM
> Subject: [mg37507] [mg37493] Re: [mg37469] Is Mathematica capable of doing this?
>
>
> > Thanks for the helpful input. I have been playing with the idea for a
> while. And
> > here are my answers for the questions that you brought out.
> >
> > First, about the super/sub-scripts. I can easily use a list of
True/False
> for
> > sub/super-script. I can combine this list with the List that represent
the
> > tensor together to for a new object, Tensor.
> >
> > Second, output formatting can be done easily with
> SubsuperscriptBox[string, sub,
> > sup], where string represents the name of the Tensor, sub/sup are
strings
> to
> > represent the scripts for the tensor. Spaces can be used to align the
sub
> and
> > super-scripts.
> >
> > So, it boils down the my first question, how can I define a object,
> Tensor,
> > which will behave like Complex? So, I can redefine Times, Plus, Minus,
and
> other
> > operators to handle Tensor.
> >
> > Also, how can I relate a symble to a Function as + relates Plus, *
relates
> to Times?
> >
> > Again, thanks for your thoughts on this topic.
> >
> >
> > Liguo
> >
> >
> > David Park wrote:
> > > Liguo,
> > >
> > > I think it is a "dragon's egg" and certainly not the best way to learn
> > > Mathematica. Basically you would have to Unprotect and add new
> definitions
> > > to Times and that would be only the start of it because how are you
> going to
> > > distinguish between superscripts and powers? How are you going to
handle
> > > mixed up and down indices? How are you going to get nice output
> formatting?
> > >
> > > There are many nice tensor packages out there. The moderator of this
> group
> > > has the original powerful tensor package. As a way of learning some
> tensor
> > > calculus I have been working with Renan Cabrera on a package called
> > > Tensorial. It can be obtained at my web site below. It is oriented
> toward
> > > learning the basic mechanics and reproducing textbook problems. You
can
> have
> > > any symbols for tensor labels or indices. The index domain can be any
> range
> > > of numbers or a set of symbols. For example, {0,1,2,3} or {t,x,y,z}
for
> > > relativity problems. You can have colored indices to distinguish
> different
> > > coordinate frames.
> > >
> > > Here is how one would do your two problems in Tensorial.
> > >
> > > Needs["TensorCalculus`Tensorial`"]
> > > SetMetric[{x, g}, IdentityMatrix[3]]
> > >
> > > DefineTensorShortcuts[{T, g}, 2]
> > >
> > > guu[u, v]Tdd[v, k]
> > > % // MetricSimplify
> > > (formatted output)
> > > (formatted output, but Tud[u,k] in shortcut notation.)
> > >
> > > guu[u, v]Tdd[u, v]
> > > % // IndexEinstein
> > > (formatted output)
> > > (formatted output but Tdd[1,1] + Tdd[2,2] + Tdd[3,3] in shortcut
> notation.)
> > >
> > > The DefineTensorShortcuts statement defines T and g as labels of
second
> > > order tensors. The various up and down index configurations can be
> specified
> > > by appending "u"'s or "d"'s to the tensor label. So, for example,
> gud[i,j]
> > > is the shortcut for g with the first index i up, and the second index
j
> > > down. Isn't that easier than maneuvering between superscripts and
> > > subscripts? MetricSimplify automatically carries our the raising or
> lowering
> > > of indices with the metric tensor. IndexEinstein automatically carries
> out
> > > summations on paired up and down indices.
> > >
> > > David Park
> > > djmp at earthlink.net
> > > http://home.earthlink.net/~djmp/
> > >
> > >
> > > From: Liguo Song [mailto:Liguo.Song at vanderbilt.edu]
To: mathgroup at smc.vnet.net
> > To: mathgroup at smc.vnet.net
> > >
> > > Dear MathGroup,
> > >
> > > I am in the process of learning to use Mathematica. Here are a couple
of
> > > questions that I want to ask the group.
> > >
> > > 1) Can I define a new object, Tensor, which will act like Complex? So,
> two
> > > Times[TensorA, TensorB] or TensorA*TensorB will invoke proper Times
> function
> > > to
> > > handle it.
> > >
> > > 2) If the answer to the above question is yes, then can I use
> > > super/sub-scripts
> > > to represent the indices for the Tensor, and carry out the calculation
> based
> > > on
> > > these indices? Such as, g^uv*T_vk will get T^u_k, which essentially
> raises
> > > the
> > > first index of T_vk. Another example would be g^uv*T_uv will get a
> scalor T.
> > >
> > > I know there are couple of Tensor analysis packages, comercial and
free,
> out
> > > there. But, all the free packages I looked through won't be able to do
> this.
> > > And, figuring out how to do stuff is the best to learn how to use
> > > Mathematica.
> > >
> > > Maybe, I am pursuing a dragon egg here. But, I'd still like to hear
> about
> > > how
> > > well Mathematica can do to imitate this behavior.
> > >
> > > Thanks for any input on this.
> > >
> > >
> > > Liguo
> > >
> >
> >
> >
>



  • Prev by Date: Re: RE: The equivalent of FindRoot for an interpolating function
  • Next by Date: Re: Is Mathematica capable of doing this?
  • Previous by thread: RE: Is Mathematica capable of doing this?
  • Next by thread: Re: Is Mathematica capable of doing this?