I have a numerical function zz:
zz[s_ ? NumericQ] := so3toE3[Inverse[yn[s]].ND[yn[k], k, s]];
The other functions involved have 2 pages of code defining them so I will leave it at that for now unless asked to give more detail
Print[A0];
Print[ND[zz[kk], kk, 1]];
Print["J1 A=0 ", NIntegrate[Norm[ND[zz[kk], kk, tt] ], {tt, 0, 1}, Method -> {"TrapezoidalRule", "Points" -> 100}, MaxRecursion -> 0, PrecisionGoal -> 3]]
Print["J1 A only ", NIntegrate[Norm[A0], {tt, 0, 1}, Method -> {"TrapezoidalRule", "Points" -> 100}, MaxRecursion -> 0, PrecisionGoal -> 3]];
Print["J1 ", NIntegrate[Norm[ND[zz[kk], kk, tt] - A0], {tt, 0, 1}, Method ->{"TrapezoidalRule", "Points" -> 100}, MaxRecursion -> 0, PrecisionGoal -> 3]];
The output of the preceding statements are:
{0.5,-0.1,0.}
{-1.57106,4.25392,-0.435128}
J1 A=0 4.21996
J1 A only 0.509902
These are as expected. The problem happens when I then try and subtract A0 from the other expression:
NIntegrate::inum: Integrand Sqrt[Abs[-0.5+1/63 (Times[<<2>>]+Times[<<2>>])]^2+Abs[0. +1/63 (Times[<<2>>]+Times[<<2>>])]^2+Abs[0.1 +1/63 (Times[<<2>>]+Times[<<2>>])]^2] is not numerical at {tt} = {0.}. >>
NIntegrate::inum: Integrand Sqrt[Abs[-0.5+1/63 (Times[<<2>>]+Times[<<2>>])]^2+Abs[0. +1/63 (Times[<<2>>]+Times[<<2>>])]^2+Abs[0.1 +1/63 (Times[<<2>>]+Times[<<2>>])]^2] is not numerical at {tt} = {0.}. >>
J1 NIntegrate[Norm[ND[zz$1746189[kk],kk,tt]-A0$1746189],{tt,0,1},Method->{TrapezoidalRule,Points->100},MaxRecursion->0,PrecisionGoal->3]
Why is subtracting A0 from ND[zz[kk], kk, tt] causing a problem even though I know they are both vectors of the same dimension? Is there a way of 'declaring' that zz is a vector of Length[] equal to 3?
Thanks.
dummy[s_?NumericQ] := A0and make your integrandNorm[ND[zz[kk], kk, tt] - dummy[tt]]. The explanation is in the linked answer. (It's hard to check since working code is not included here.) – Michael E2 Jun 07 '13 at 03:22