mm-909 === multiple. But sometimes it does not. For example: but This strange behavior can be show below Out[1]= 8 Out[2]= 6 Out[3]= 8 Out[4]= 6 Out[5]= 2 Out[6]= 2 Out[7]= -6 Out[8]= -8 === Subject: an expression with logs Hello. In[27]:= oo = 5*Log[4/3] - 3*Log[3/2] - Log[2]; I want oo to take the form 4*(3*Log[2] - 2*Log[3]) I can think one workaround like In[43]:= PowerExpand[oo] Collect[%, {Log[2], Log[3]}] Factor[%] Out[43]= -Log[2] - 3*(-Log[2] + Log[3]) + 5*(-Log[3] + Log[4]) Out[44]= 2*Log[2] - 8*Log[3] + 5*Log[4] Out[45]= 12*Log[2] - 8*Log[3] Out[46]= 4*(3*Log[2] - 2*Log[3]) But I am sure there is something smarter and more compact. Any ideas? Dimitris === Subject: simplification Hello. In[56]:= o1 = (1/(16*(-1 + a^2)^(3/2)))*((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(-Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) + a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi); In[58]:= o2 = ((2*a + 3)*Pi)/(2^(7/2)*(a + 1)^(3/2)); These expressions are equal. (They came from the evaluation of the same integral; first by hand, second by Mathematica). (If somebody is interested, the integral is In[61]:= Out[61]= ((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(- Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) + a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi)/(16*(-1 + a^2)^(3/2)) and the simpler expression can be found either by hand or by Mathematica. In fact, in Mathematica someone could try In[65]:= Out[65]= Dt[y]/(2*Sqrt[y]*(1 + 2*a*y + y^2)^2) Out[66]= ((3 + 2*a)*Pi)/(8*Sqrt[2]*(1 + a)^(3/2)) ) Indeed In[84]:= {2, 100}], {20}] Out[84]= {{100, 0}, {54, 0}, {74, 0}, {63, 0}, {96, 0}, {44, 0}, {46, 0}, {26, 0}, {80, 0}, {14, 0}, {23, 0}, {46, 0}, {3, 0}, {64, 0}, {70, 0}, {59, 0}, {71, 0}, {17, 0}, {23, 0}, {56, 0}} 1) Can somebody show me one workaround in order to show that these expressions are indeed equal? 2) Can someone show me a workaround that will simplify expression o1 Dimitris === Subject: hard simplification Hello. In[56]:= o1 = (1/(16*(-1 + a^2)^(3/2)))*((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(-Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) + a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi); In[58]:= o2 = ((2*a + 3)*Pi)/(2^(7/2)*(a + 1)^(3/2)); These expressions are equal. (They came from the evaluation of the same integral; first by hand, second by Mathematica). (If somebody is interested the integral is In[61]:= Out[61]= ((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(- Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) + a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi)/(16*(-1 + a^2)^(3/2)) and the simpler expression can be found by In[65]:= Out[65]= Dt[y]/(2*Sqrt[y]*(1 + 2*a*y + y^2)^2) Out[66]= ((3 + 2*a)*Pi)/(8*Sqrt[2]*(1 + a)^(3/2)) ) Indeed In[84]:= {2, 100}], {20}] Out[84]= {{100, 0}, {54, 0}, {74, 0}, {63, 0}, {96, 0}, {44, 0}, {46, 0}, {26, 0}, {80, 0}, {14, 0}, {23, 0}, {46, 0}, {3, 0}, {64, 0}, {70, 0}, {59, 0}, {71, 0}, {17, 0}, {23, 0}, {56, 0}} 1) Can somebody show me one workaround (in a CAS!) in order to show that these expressions are indeed equal? 2) In the same vein with Vladimir's posts (and stealing his trademark!) can someone show me a workaround Dimitris === Subject: Re: writting an expression Factor denominator over Q[Sqrt[2]], then do Apart of 1/result. Out[42]//InputForm= (-Sqrt[2] + o)/(2*Sqrt[2]*(-1 + Sqrt[2]*o - o^2)) + (Sqrt[2] + o)/(2*Sqrt[2]*(1 + Sqrt[2]*o + o^2)) Daniel Lichtblau Wolfram Research === Subject: Apply filter to measured data Hallo, I have lists of measured data {{t0,f[t0]},{t1,f[t1]},...,{tn,f[tn]}} where the samplepoints are not (!) distributed equidistant. I want to apply an analog lowpass filter (1. order RC lowpass) to this list to get a list of the filtered signal. I have the Signals&Systems package, but the filters need to be applied to a function. So I turned these lists into InterpolationFunction objects, but they don't work together with the Signals&Systems toolbox. I tried to convert these InterpolationFunctions objects into the PiecewiseContinuousData objects, but this didn't work either with the filters. Is there a way to use the Signals&Systems toolbox on such lists? Oliver Friedrich === Subject: Re: short cut see e.g. section 1.10.2 in the Mathematica book as well as other places in the Mathematica documentation. Michael === Subject: remote kernel Hi folks, Is it possible to connect a front end running on my OS X laptop to a remote kernel on a Unix host in a case where the laptop is at home, where my network connection does not provide me with a static IP address? A diagnostic web site at my home institution reports that my home computer's address is something like this: pool-50-111-87-213.hag.east.verizon.net. But it's not always the same. I am able to connect when I bring my laptop to work and put it on a static IP. I accepted all the defaults in Kernel Configuration except that I selected Remote Machine and specified the correct hostname. That means that Arguments to MLOpen is -LinkMode Listen -LinkProtocol TCPIP -LinkOptions MLDontInteract and Lauch Command is `java` -jar `mathssh` ssgubser@feynman.princeton.edu math - mathlink -LinkMode Connect -LinkProtocol TCPIP -LinkName `linkname` -LinkHost `ipaddress` I have the impression that VPN may solve my problem. Has anyone successfully done what I'm trying to do through VPN? I also have the impression that setting up an ssh tunnel might work. I have an appropriate gateway computer... Has anyone made this kind of setup work? Steve === Subject: how to create a subclass I have a simple class myClass with one variable v1 and with access methods only: Class[myClass,Object,{v1},{ {new,Function[{lv1},new[super]; setv1[self,lv1]] }, {setv1,Function[{lv1},v1=lv1]}, {v1,v1&} }] I want to create a subclass mySub of myClass which in addition to v1 have one more variable v2. I tried variants of: Class[mySub,myClass,{v2},{ {new,Function[{lv2},new[super]; setv2[self,lv2]] }, {setv2,Function[{lv2},v2=lv2]}, {v2,v2&} }] myObj=new[mySub,{v1,v2}] but all my attempts failed. Somebody help, please? === Subject: Re: weird bugs in Integrate In[1]:= Integrate[Tan[x], {x,0,Infinity}] Integrate::idiv: Integral of Tan[x] does not converge on {0, Infinity}. Out[1]= Integrate[Tan[x], {x, 0, Infinity}] In[2]:= Integrate[Tan[x], {x,1,Infinity}] Integrate::idiv: Integral of Tan[x] does not converge on {1, Infinity}. Out[2]= Integrate[Tan[x], {x, 1, Infinity}] In[3]:= Integrate[Cot[x], {x,1,Infinity}] Integrate::idiv: Integral of Cot[x] does not converge on {1, Infinity}. Out[3]= Integrate[Cot[x], {x, 1, Infinity}] Bhuvanesh, Wolfram Research === Subject: kernel shut down without error messages Running Mathematica 5.2 on Windows XP with 3 gigabytes of memory and a Pentium D 3.4 gigahertz processor. When NDSolve tries to generate an InterpolatingFunction object that ends up being larger than ~500 megabytes, the kernel eventually shuts down but DOESN'T give the usual No more memory available..... message. However, sometimes this doesn't happen and I'm able to generate InterpolatingFunction objects which exceed 1 gigabyte in size, which I write to external .m files using the command Put. If I later call such a file, using Get, the kernel immediately shuts down, again with no error message. Additionally, the CPU (which is dual core), remains at 50% usage at all times during a computation. I read a post which seemed to solve this issue by adding an environment variable OMP_NUM_THREADS with value 2, but this didn't work for me. Thoughts? === Subject: Re: locating max value on the image What are you defining as the maximum point of an image? And what type of image color (each pixel is a RGB tuple)? gray scale (each pixel is an 8 bit integer)? something else? -- To reply via email subtract one hundred and four === Subject: Re: Outputting to file with fixed decimal digits Hmm... Are you referring to the note that indicates the output of Round alternates between rounding up and rounding down for xxxxx.5? If so, this really isn't indicating you get different answers with the same input which seems to be what you are implying with it doesn't give the same answer every time. =46or a value of the form xxxx.5 you've one of three choices Round to xxxx --- introduces a negative statistical bias Round to xxxx + 1 --- introduces a positive statistical bias do what Mathematica does and avoid a statistical bias While I can understand you may be used to a different choice than being made by Mathematica or there may be some application where a different choice is preferred, each of the choices above is equally valid. And none of them (assuming they are consistently applied) equates to not getting the same answer from the same input data. -- To reply via email subtract one hundred and four === Subject: Re: Re: strange behavior of Integrate {0, The above looks unecessarily complicated to me. Maybe it has some virtues I can't think of but it seems to me Trace provids enough options to do what you wish to do without needing such convoluted coding: l = Trace[(1/Pi)*Integrate[Log[x/( x^2 + 1)]*(1/(x^2 + m =B3 1], HoldPattern[FullSimplify[___]], TraceInternal -= In[2]:= Out[2]= {FullSimplify,FullSimplify,FullSimplify} This shows that FullSimplify is indeed used in evaluating the integral. In fact it is quite easy to get full information on how it is used: {HoldComplete[FullSimplify[Integrate`ImproperDump`temp$24, Integrate`ImproperDump`removeElementAssumptions[ Integrate`ImproperDump`$IntegrateAssumptions]]], HoldComplete[FullSimplify[-(((2*m - 3)*Sqrt[Pi]*Gamma[m - 3/2]* (PolyGamma[0, 1 - m] - PolyGamma[0, 3/2 - m]) + Gamma[m - 1/2]*(4^(m + 1)*m*Gamma[-2*m]*Gamma[m]*Gamma[m + 1/2] + Sqrt[Pi]*(PolyGamma[0, m - 1/2] + Log[4] + EulerGamma)))/ (4*Gamma[m])), True]], HoldComplete[FullSimplify[-(((2*m - 3) *Sqrt[Pi]*Gamma[m - 3/2]*(PolyGamma[0, 1 - m] - PolyGamma[0, 3/2 - m]) + Gamma[m - 1/2]*(4^(m + 1)*m*Gamma[-2*m]*Gamma[m]*Gamma[m + 1/2] + Sqrt[Pi]*(PolyGamma[0, m - 1/2] + Log[4] + EulerGamma)))/ Andrzej Kozlowski= === Subject: Re: Re: strange behavior of Integrate I had asked: The reply: It's a solid book and, hence, a sound reason. But only when stated explicitly. Problems that appear out of nowhere, so to speak, are likely to be taken less seriously. Integrals that appear in various books such as that of Boros and Moll come with a pedigree of sorts. That at least is my opinion (biased in part because they develop some methods involving what I find to be interesting mathematics). Needless to say, integrals, exact or numeric, that appear in the course of one's research are also quite important (especially to the researcher). In determining priority levels for purposes of triage, this question of origin is one thing I tend to take into account. Examples that exist merely to illustrate pathology are regarded as iteresting, but not, in general, as high priority bugs. Victor Moll also sometimes sends such examples. Daniel Lichtblau Wolfram Research === Subject: Re: strange behavior of Integrate ity}, Adding the following codes one can see directly the extended use of Simplify and the limited use of FullSimplify by Integrate Unprotect[FullSimplify]; FullSimplify[a___] := Null /; (Print[InputForm[fullsimplify[a]]]; False) Unprotect[Simplify]; Simplify[a___] := Null /; (Print[InputForm[simplify[a]]]; False) E=2Eg. Integrate[1/Sqrt[Sin[x]], {x, 0, Pi/2}] (*output is ommited*) Dimitris =CF/=C7 dimitris =DD=E3=F1=E1=F8=E5: x,= x, === Subject: Numerical calculation of a double sum (Appell's function F4) I am working currently with double hypergeometric sums. Unfortunately the one I need (Appell's F4) is not implemented in M. So I decided to write my own F4. I discovered quickly that this a far more complicated task than expected, which is due to many special cases of the arguments (e.g. the series can be truncated, transform into another series or have singularities in Gamma functions; there are also cases where these singularities cancel). I managed to overcome all those difficulties, but still I wonder, if there is an easier solution to the following: F4 is a double sum. My approach is a simple While loop (ok, it's more complicated, because cancelling singularities can lead to intermediate terms that are zero and so you have t think carefully about getting a quantity that tells you when the desired accuracy is reached). Is there a function in M that can do double sums numerically and also checks for convergence? I appreciate any help, because this - I would guess - would make the calculation faster and the code more readable. Markus Huber PS: Don't be misled by the seeming simplicity of Appell's Function F4 when you look it up. In all probability you will only find the standard series representation. There are also other representations with other regions of convergence that exist of 5 single hypergeometric series. Esp. those I need. === Subject: ordering a large matrix and referring to the named rows later I have a large matrix {5165, 26}, the first row and first 8 columns identify the values in the matrix. I need to be able to sort the data without losing the ability to reference the labels. Any ideas? === Subject: Re: Exporting images without white borders This is very disappointing, but it seems that there is no simple way of exporting a matrix as a pixel-perfect image from Mathematica (or at least I couldn't find any in the documentation). When using Export with a graphics format, the data is always converted to a vector image first, so small distortions may be introduced during rasterization. (And I wouldn't be surprised if it turned out that the end result is a little bit different for different platforms. I wouldn't trust a solution that works by tweaking PlotRange and ImageSize values.) A workaround is to write Mathematica code to export the data to some very simple image format, e.g. a portable graymap. You can find the description of the format here: http://en.wikipedia.org/wiki/Portable_pixmap http://netpbm.sourceforge.net/doc/pgm.html img = Import[some grayscale image] dat = img[[1,1]] Export[ img.pgm, {{P2}, (* this specifies the image format *) Reverse@Dimensions@dat, (* the image dimensions *) {Max@dat} (* the value corresponding to white *) } ~Join~ Reverse@dat, Table]; You may have to figure out the white value yourself: it may be represented in Raster[] in different ways depending on the format of the image you imported. There are many free programs that can read pgm files and convert them to other formats: http://www.irfanview.com/ http://www.imagemagick.org/ I hope this helps. Szabolcs === Subject: Re: What's wrong? and {0,1,0} is a point with radial coordinates 0, i.e. the origin of the coordinate system ?? Jens === Subject: Re: What's wrong? On the wikipedia page for Cross Product, it says Magnitude[ A cross B ] = Magnitude[A] * Magnitude[B] * Sin[theta] In spherical coordinates, the vector {0,1,0} has the magnitude of ZERO. Thus Magnitude[ A cross {0,1,0} ] = Magnitude[A] * ZERO * Sin[theta] = ZERO So when the resultant vector has a magnitude of ZERO, it's spherical coordinates is {0,0,0} Steven Siew === Subject: Re: What's wrong? ...give the result when the vectors are given in the coordinate system coordsys Mathematica's interpreting the vectors as being defined in a spherical coordinate system, with each coordinate triplet being read as {r,theta,phi}, not {x,y,z}. As a result, the second vector in your cross product has r = 0, i.e. zero length. Hence the (somewhat) confusing, although correct result. If you want to actually use spherical vectors in this case, you'd illustrate, Out[]:= {1,Pi/2,0} Out[]:= {1,Pi/2,Pi/2} In[]:= sphericalCross = CrossProduct[cartx,carty,Spherical] Out[]:= {1,0,0} In[]:= CoordinatesToCartesian[{1,0,0},Spherical] Out[]:= {0,0,1} Owing to the geometrical nature of the operation, I think that it's safe to say that if you're interested in taking the cross product of two vectors in an orthonormal basis {e1,e2,e3}, then the result should be insensitive to the labels you assign to the bases, so long as you're consistent in your interpretation (handedness &c.). Jesse Woodroffe === Subject: Re: What's wrong? Lion Your second vector has a magnitude of zero, so it's OK. Try: CoordinatesToCartesian[{0,1,0},Spherical] As the help on (Dot, Cross, and Scalar Triple) Products says: These functions convert the given vectors into Cartesian coordinates and then compute the products using the standard definitions. Robert === Subject: Re: locating max value on the image Out of context, your question is very imprecise. What is the format of the image you are using? Bitmap images are not encoded the same way as vector graphics. Even bitmaps have different formats/structures (think BMP vs. JPEG). What do you mean by /the/ maximum point? Let's take a simple case where the image is a 2D plot created by Mathematica. On the given interval, the function sin has four maximums. Depending on numerical imprecision, the can get one, two, tree, four, or more maximum points and even in the case of just one, we do not know witch one is going to be returned (that is not necessarily the first one). In[1]:= g = Plot[Sin[x], {x, 0, 8*Pi}]; myMax[g_, eps_] := Module[{pts, max}, pts = Cases[g[[1]], {(x_)?NumericQ, (y_)?NumericQ}, Infinity]; max = Max[pts[[All,2]]]; Select[pts, max - eps < #1[[2]] < max + eps & ]] In[4]:= Length /@ Table[myMax[g, 10^(-n)], {n, 0, 10}] Out[4]= {112, 79, 41, 14, 4, 2, 1, 1, 1, 1, 1} In[5]:= myMax[g, 10^(-4)] Out[5]= {{1.56881, 0.999998}, {7.84112, 0.999917}, {14.1231, 0.999901}, {20.4209, 1.}} Jean-Marc === Subject: Re: locating max value on the image what image RGB ? GrayLevel ??? and what maximum point ? The pixel coordinates of the highest gray values, since the image data are usual 8 bit integer you will find several points with the same highest gray level 255 And img=Import[someImage.png]; bm=img[[1,1]] Position[bm, Max[Flatten[bm]]] will do that. Jens === Subject: Re: locating max value on the image Hi essendra, you can not expect us to read your mind. Therefore, if you want a sensible answer, give more inf0. Daniel === Subject: Re: CrossProduct in Spherical Coordinates Here you tell Mathematica that _the given vectors are expressed_ in spherical coordinates. You are not asking Mathematica to convert from one system of coordinates (which one?) to spherical coordinates. No. The point (0, 0, 1) in Cartesian coordinates is (1, 0, 0) in spherical coordinates. The following examples should illustrate how to use the package. In[1]:= << Calculus`VectorAnalysis` In[2]:= CoordinateSystem[] Out[2]= Cartesian[] In[3]:= Out[3]= Pi {1, --, 0} 2 In[4]:= Out[4]= Pi Pi {1, --, --} 2 2 In[5]:= pt3 = CrossProduct[pt1, pt2, Spherical] Out[5]= {1, 0, 0} In[6]:= CoordinatesToCartesian[pt3, Spherical] Out[6]= {0, 0, 1} In[7]:= SetCoordinates[Spherical[r, theta, phi]] Out[7]= Spherical[r, theta, phi] In[8]:= CoordinateRanges[] Out[8]= {0 <= r < Infinity, 0 <= theta <= Pi, -Pi < phi <= Pi} In[9]:= Out[9]= Pi {1, --, 0} 2 In[10]:= Out[10]= Pi Pi {1, --, --} 2 2 In[11]:= pt3 = CrossProduct[pt1, pt2] Out[11]= {1, 0, 0} In[12]:= CoordinatesToCartesian[pt3] Out[12]= {0, 0, 1} Jean-Marc === Subject: Re: CrossProduct in Spherical Coordinates Take the cross product of the north polar vector with any pointing towards the equator In: FullSimplify[CrossProduct[{r, 0, phi}, {R, Pi/2, phi1}, Spherical]]] Out: {r*R, Pi/2, ArcTan[-Sin[phi1], Cos[phi1]]} As you see, the lists in the arguments are the coordinates {r,theta, phi} of the endpoints of the vectors, not their algebraic components in what base so ever (could be cartesian or tangent space base). -- Roland Franzius === Subject: Re: CrossProduct in Spherical Coordinates The poivectornt that has coordinates {0,1,0} in Spherical coordinates is simply the vector {0,0,0} in Cartesion coordinates (because the first coordinate stands for the radius and is 0). Hence the cross product of anything with this vector must be 0. Persumably what you wanted to do was to compute in spherical coordiantes the cross product of the vectors which in cartesion coordiantes (and not in spherical ones) are represented as {1,0,0} and {0,1,0}? If so, you can do this as follows: 1,0}],Spherical] {1,0,0} Of course this is the answer in spherical coordinates, so to get it in Cartesian cordinates you need to perfomr another coordinate switch: CoordinatesToCartesian[v] {0,0,1} as expected. Of course it would make more sense to compute it directly in Cartesian coordiantes! Andrzej Kozlowski === Subject: Re: CrossProduct in Spherical Coordinates consider you second vector: {0,1,0}. This is a vector with zero length. hope this helps, Daniel === Subject: Re: CrossProduct in Spherical Coordinates The answer that you are thinking about it wrong: spherical polar coordinates are { r, theta, phi} without an r value in the coordinate the output will always be zero. You need at least an angle and a radius to get any output at all. Examples: In[32]:= CrossProduct[{1,0,1},{1,1,0},Spherical] Out[32]= {Sin[1], =CF=80/2, =CF=80/2} In[33]:= CrossProduct[{1,0,1},{0,1,1},Spherical] Out[33]= {0,0,0} === Subject: Re: CrossProduct in Spherical Coordinates Unless I misunderstand the docs for Calculus`VectorAnalysis`, the vectors you give as arguments to CrossProduct should already be given in the coordinate system you specify as the optional, 3rd argument. So I think what you want is: CrossProduct[{1,Pi/2,0},{1,Pi/2,Pi/2},Spherical] {1,0,0} After all: {1,Pi/2,0} {1,Pi/2,Pi/2} -- Murray Eisenberg murray@math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305 === Subject: Re: Re: Outputting to file with fixed decimal digits What I find bizarre is your interpretation of this line form the documentation: to avoid statistical bias Round alternates between going up and down halfway between integers. Round[Range[10]+.5] {2,2,4,4,6,6,8,8,10,10}T Of course every time run this, you will get the same answer. SO could you please send us an example where Round, in your own words: doesn't give the same answer every time? I think the problem is just the opposite: some engineers are just not Mathematica grade mathematicians and programmers. Andrzej Kozlowski === Subject: Re: Re: Outputting to file with fixed decimal digits --------------- To avoid statistical bias Round alternates between going up and down halfway between integers. In[1]:= Round[Range[10]+.5] Out[1]= {2,2,4,4,6,6,8,8,10,10} The function NumericRound rounds all parts of the numeric coefficients of a polynomial. In[2]:= NumericRound[x_]:=MapAll[If[NumericQ[#],Round[#],#]&,x] In[3]:= !(NumericRound[@[Pi] + (([ExponentialE] + a)) x + ((4.3 - 8.6 [ImaginaryI] )) x^3]) Out[3]= !(1 + ((3 + a)) x + ((4 - 9 [ImaginaryI])) x^3) In[4]:= Clear[NumericRound] --------------- I do not see examples that show changes to their results upon repetition. Daniel Lichtblau Wolfram Research === Subject: Re: Outputting to file with fixed decimal digits you could try e.g.: this gives a file like: 5.92872E11 7.78517E11 4.01861E11 2.13665E9 hope this helps, Daniel === Subject: Re: FourierTransform and removable singularities Hi. The only thing that comes in my mind is to replace the Dirac delta generalized function with a delta secuence. So for example, let In[64]:= delta[n_][x_] := n/(Sqrt[Pi]/E^((-n^2)*x^2)) Then In[66]:= FourierTransform[delta[n][t], t, w] Out[66]= n/(E^(w^2/(4*n^2))*(Sqrt[n^2]*Sqrt[2*Pi])) Out[67]= 1/Sqrt[2*Pi] which is correct. Also as you stated In[82]:= ({(1/Sqrt[2*Pi])*Integrate[Exp[I*w*t]*#1, {t, -Infinity, Infinity}], FourierTransform[#1, t, w]} & )[DiracDelta[t]] Out[82]= {1/Sqrt[2*Pi], 1/Sqrt[2*Pi]} Now, the example with the removable singularity In[83]:= FourierTransform[delta[n][t]*(Sin[t]/t), t, w] Out[83]= (n*((-(1/2))*Sqrt[Pi/2]*Erf[(-1 + w)/(2*Sqrt[n^2])] + (1/2)*Sqrt[Pi/ 2]*Erf[(1 + w)/(2*Sqrt[n^2])]))/Sqrt[Pi] Out[84]= 1/Sqrt[2*Pi] which is the desired (correct) result. On the contrary In[85]:= ({(1/Sqrt[2*Pi])*Integrate[Exp[I*w*t]*#1, {t, -Infinity, Infinity}], FourierTransform[#1, t, w]} & )[(DiracDelta[t]*Sin[t])/t] Out[85]= {0, 0} which is incorect as you have already said. I hope I helped you! Dimitris =CF/=C7 Roman =DD=E3=F1=E1=F8=E5: === Subject: Re: FourierTransform and removable singularities Limit[FourierTransform[DiracDelta[t - a]*(Sin[ Jens === Subject: Re: FourierTransform and removable singularities (2nd workaround!) As a second workaround, try In[100]:= FourierTransform[DiracDelta[t]*f[t], t, w] Out[100]= f[0]/Sqrt[2*Pi] Then, In[101]:= Out[101]= 1/Sqrt[2*Pi] since In[102]:= Normal[Sin[t]/t + O[t]] Out[102]= 1 Dimitris =CF/=C7 Roman =DD=E3=F1=E1=F8=E5: