--- !ditz.rubyforge.org,2008-03-06/issue 
title: Eliminate metric acts on non-tensors.
desc: |-
  Calling eliminate_metric on expressions which are not actually
  tensors still raises/lowers the indices, e.g.
  
  {m,n,o}::Indices.
  \partial{#}::PartialDerivative.
  g_{m n}::Metric.
  g^{m n}::InverseMetric.
  
  \partial_{i}{g_{m n}} g^{n o};
  @eliminate_metric!(%);
  
  Fix requires associating a metric wrt. a derivative, e.g.
  
  \partial{#}::PartialDerivative(metric=g).
  \nabla{#}::Derivative(metric=g).
  
  etc.
  
  Edit: can also fix this by adding a Depends, which looks 
  less clumsy and requires no additional notation:
  
  g_{m n}::Depends(\partial).
  
  That way we can even handle special cases in which the
  metric does not depend on coordinates even though in
  general it would.
type: :bugfix
component: cadabra
release: 
reporter: Kasper Peeters <kasper.peeters@aei.mpg.de>
status: :unstarted
disposition: 
creation_time: 2010-02-06 15:33:24.898627 Z
references: []

id: db53ba8697972d02ee83a31fb26a798f4ef0a7d0
log_events: 
- - 2010-02-06 15:33:25.388250 Z
  - Kasper Peeters <kasper.peeters@aei.mpg.de>
  - created
  - ""
- - 2010-04-06 14:10:45.734101 Z
  - Kasper Peeters <kasper.peeters@aei.mpg.de>
  - edited description
  - ""
