From: mmdanziger on
Hi,

I was wondering if anyone here knows of a way to force 7.0 to behave
like 3.x in the way it works with iterb in Table and Do. I'm
currently trying to run grtensorm (grtensorii for Mathematica) from
http://grtensor.phy.queensu.ca/software.html and am getting iterb
errors left and right. A relatively benign example is loading a
metric but the problems multiply as you try and do even moderately
complicated calculations and the whole package rapidly becomes quite
unusable. It seems to me that rewriting a 7.0 compliant version of
this package would involve a fair amount of work so I'd prefer to find
some way to set some sort of "regression" option. This is sort of a
package specific problem but it would be nice if there was a global
type solution.

md

Examples:

[1] When loading a metric, I get:

qload[kerr]
Default metric = kerr
For the kerr metric.

Coordinates
Do::iterb: Iterator {grtG`a1,2,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
xSuperscript[1] = grtG`xup[metricName,1]
For the kerr metric.

Line element

ds Superscript[2] = ds[metricName]

instead of what the intro.nb file claims I should get:

qload[kerr]
Default metric = kerr
For the kerr metric.

Coordinates
x\[Null]^1 = r, x\[Null]^2 = th, x\[Null]^3 = ph, x\[Null]^4 = t
For the kerr metric.

Line element

ds \[Null]^2 = dth^2 (r^2+a^2 Cos[th]^2)+(dr^2 (r^2+a^2 Cos[th]^2))/
(a^2-2 m r+r^2)+dt^2 (-1+(2 m r)/(r^2+a^2 Cos[th]^2))-(4 a dph dt m r
Sin[th]^2)/(r^2+a^2 Cos[th]^2)+dph^2 Sin[th]^2 (a^2+r^2+(2 a^2 m r Sin
[th]^2)/(r^2+a^2 Cos[th]^2))

Trying to calculate the Ricci tensor after loading the Kerr metric:
grcalc[R[dn,dn]]
For the kerr metric.
Table::iterb: Iterator {i$2045,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
Table::iterb: Iterator {i$2045,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
Do::iterb: Iterator {grtG`a1,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
Calculated g[up,up]( 0. sec.)
Do::iterb: Iterator {grtG`a1,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
Calculated g[dn,dn,pdn]( 0. sec.)
Do::iterb: Iterator {grtG`a1,grtG`Ndim[metricName]} does not have
appropriate bounds. >>
General::stop: Further output of Do::iterb will be suppressed during
this calculation. >>
Calculated Chr[dn,dn,dn]( 0. sec.)
Calculated Chr[dn,dn,up]( 0. sec.)
Calculated R[dn,dn]( 0. sec.)
CPU Time = 0. sec.