Tag Info

Hot answers tagged

15

Looking at the Trace of one which does work: x = Sin[Pi/5] (* Sqrt[5/8 - Sqrt[5]/8] *) Trace[ArcSin[x], TraceInternal -> True] It appears that Mathematica computes the ArcSin numerically and then recognises the result, 0.628319 as possibly equal to Pi/5. To check it computes Sin[Pi/5], and subtracts it from the original argument to see if it gets ...


14

Short story $$ \vartheta(x) = \arg \left[(\operatorname{Bi}x+i \operatorname{Ai}x)e^{-\frac{2}{3} i (-x)^{3/2}}\right]+\frac{2}{3} \operatorname{Re}\left[(-x)^{3/2}\right] $$ Update: I see that you want use only real functions, so you can expand this as $$ \vartheta(x) = \begin{cases} \arctan\frac{\cos \left(\frac{2}{3} (-x)^{3/2}\right) ...


13

This is not an answer (yet). Rather it explores the question in more depth. n = 8; parameters = ConstantArray[{0, 1}, n]; variables = Symbol /@ CharacterRange["a", FromCharacterCode[ToCharacterCode["a"] + n - 1]]; The following takes a long time to evaluate, but the results it produces reveal give us a better view of the problem with Probability. ...


13

Here's the exact answer: i1 = Integrate[x^n Exp[-(x - a)^2], {x, 0, Infinity}, Assumptions -> n > 0] /. n -> 1/2 (* 1/2 E^-a^2 (Gamma[3/4] Hypergeometric1F1[3/4, 1/2, a^2] + 1/2 a Gamma[1/4] Hypergeometric1F1[5/4, 3/2, a^2]) *) i1 /. a -> 0.3 (* 0.907605 *)


13

Working with such a sophisticated function as Reduce, if we can't get the result initially we should add possibly many assumptions. Without the Backsubstitution option it yielded: Reduce[ Abs[x] + Abs[y] + Abs[z] + Abs[t] == 1 && t != 0, {x, y, z, t}, Reals] No more memory available. Mathematica kernel has shut down. Try quitting other ...


13

A first step would be to implement a convenience function that can automatically apply the method of separation of variables to separable types of equations. To show that the steps could in principle be automated, let me repeat basically the same calculation that I did for cylindrical coordinates with only slight modifications to the heat equation: ...


12

I could be perceived as biased since I'm the CTO of Evolved Analytics (www.evolved-analytics.com) and wrote much of the DataModeler code over the past 13 years, however, DM is probably the most efficient, complete and powerful symbolic regression platform out there for any environment. In addition to the basic model development, it supports the entire ...


12

Since you're working with vectors, just let Mathematica know that these are vectors. Some other systems (MATLAB and its relatives in particular) have the limitation that they can only work with matrices, forcing you to distinguish between row vector and column vectors and keep transposing. This is not necessary nor convenient in Mathematica. In[1]:= ...


11

This does not completely answer the question, but you can get some useful information from the undocumented option IntegrationMonitor. For example: NIntegrate[Sin[Sqrt[x]], {x, 0, 1}, IntegrationMonitor -> Print] You can see (in the Experimental`NumericalFunction) that the change of variables $\sqrt{x}\to x$ has been used to convert the integrand to ...


10

In this particular case Mathematica for some reason considers b[i] as a constant. Compare: Integrate[Exp[Sum[-((cw λ - b)^2/(2 σ^2)), {i, 1, n}]], {cw, 0, 1}] (Sqrt[π/2] σ (Erf[(b Sqrt[n])/(Sqrt[2] σ)]-Erf[(Sqrt[n] (b-λ))/(Sqrt[2] σ)]))/(Sqrt[n] λ) A possible workaround consists in the manually expanding the sum Integrate[Exp[(-n cw^2 λ^2 + 2 cw λ ...


10

FindSequenceFunction and FindGeneratingFunction will attempt to identify how the list was produced. FindSequenceFunction[{1, 1, 2, 3, 5, 8, 13, 21, 34, 55}, n] Fibonacci[n] FindSequenceFunction[{0, 1, 1, 2, 3, 5, 8, 13}, n] FindGeneratingFunction[{0, 0, 1, 2, 3, 5, 8, 13}, n]


9

Here is extensions to @Jens answer (I think) also relying on possible separation of variable. I is not meant as an independent answer, but complements it. First extend his answer to 2D ClearAll[pt, px, x, t, p]; operator = Function[p, D[p, t] - Δ D[p, x, x] - Δ D[p, y, y]]; ansatz = pt[t] px[x] py[y]; pde2 = Expand[Apply[Subtract, ...


7

In cases like this, a little help to Mathematica can often go a long way. You can notice that for these functions, the integral is zero unless Abs[n-m]==1. So you only need to generate a 1D table: tab=Table[Integrate[E^-x^2 HermiteH[n-1,x] x HermiteH[n,x],{x,-\[Infinity],\[Infinity]}],{n,1,5}]; and this result can be fed to FindSequenceFunction ...


7

[This answer was made while the OP question kept being changed...I hope it is current.] The easy way is to use the built-in SymmetricPolynomial: vietePoly[deg_Integer, n_Integer, var_: \[FormalX]] := SymmetricPolynomial[deg, Array[var, n]] Clear[x]; vietePoly[2, 4, x] (* x[1] x[2] + x[1] x[3] + x[2] x[3] + x[1] x[4] + x[2] x[4] + x[3] x[4] *) The ...


7

To have w2 expressed in terms of w1, w1 cannot be assigned a value. If it is assigned a value then Mathematica will always substitute that value for w1. Consequently "define" w1 with an equation: Clear[w1]; eq = w1 == (a + b)/c^2; w2 = (a^3 + 3 a^2 b + 3 a b^2 + b^3)/c^6; w2 /. Solve[eq, a][[1]] // Simplify w1^3 However, in this case at least, you ...


7

we can see why this happens with a change of variable: Integrate[bhw Sin[(bhw s)/bh]/((-1 + E^bhw) (bhw^2 + bh^2 gamma^2)), {bhw, -Infinity, Infinity}, Assumptions -> {s >= 0, gamma > 0, bh > 0}] (same result ) Now change the one instance of bh to a new parameter: Integrate[bhw Sin[(bhw s)/bh1]/((-1 + E^bhw) (bhw^2 + bh^2 ...


7

expr = x^2 D[u[x, y], {x, 2}] - D[u[x, y], {y, 2}] + D[u[x, y], y] $Assumptions = {s > 0, t > 0} expr /. u -> (u[# Exp[#2], # Exp[-#2]] &) /. {x -> Sqrt[s t], y -> Log[Sqrt[s/t]]} // Simplify Second set of replacement rules is from: Eliminate[s == x Exp[y] && t == x ...


6

You could integrate over the region, using Boole: Integrate[ Boole[0 < p < 1 && 0 < e1 < 1/2 && 0 < e2 < 1/2 && (p < e1 || (p) (e1)/((p) (e1) + (1 - p) (1 - e2)) < e1/e2)], {p, 0, 1}, {e1, 0, 1/2}, {e2, 0, 1/2}] (* 1/16 (5 - 6 Log[2] + 2 Log[4]) *)


6

The False setting can be useful when one wants an integral that is classically divergent. Or when one wants a result without provisos. A downside is greater chance of an incorrect result. A True setting is thus useful for the opposite, e.g. avoidance of finite results for divergent integrals. It can also be useful for more careful checking in multivariate ...


5

Using Nasser's expression code as an example: expr = Sin[x] + Cos[y] + z^3 + Exp[d] + h + 3 h^2 + 4 h^3 + Integrate[Exp[p], p] + D[Sin[m]^Exp[f], m]*Series[Sin[g], {g, 0, 3}] + 2 (E^a BesselK[0, 2 Sqrt[E^a]]) C[2]/D[Gamma[w], {w, 2}]; You might use: Variables @ Level[expr, {-1}] {a, d, f, g, h, m, p, w, x, y, z} To extract indexed ...


5

We can easily verify the assumption that your matrices are equal is wrong, e.g. let's take two 2 x 2 matrices: A = {{10, 5}, {2, 2}}; B = {{1, 0}, {1, 6}}; now we have A.B.Transpose[A] == A.Transpose[B].Transpose[A] False However a simple fact in linear algebra says that the former matrix is equal to the latter one transposed. TraditionalForm[ ...


5

The issue we encounter here is closely related to the problem exposed more extensively here: Finding parameters making real part of eigenvalues vanish, however in this case we have to tackle with a bit more harmful problem. This is an undesired feature of the system. Namely Root[-a^4 + #1^3 &, 1] has been pointed out as a solution, nevertheless since a ...


5

The following is a kind of remedy for the problem at hand: Reduce[# < 0 && Denominator[#] != 0]&[ (4000 - 1000 k)/(k - 4)] k < 4 || k > 4 Even though the issues in the OP could be easily resolved nonetheless they are not mathematically correct and for this reason one could consider them as bugs, this is a similar problem ( 4 ∈ ...


5

Comparing with mathStatica output ... f = ((20 - x)/(25*x)); domain[f] = {{x, 10, 20}, {y, x/2, x}}; Then: works fine, so there does seem to be something odd with the Wolfram algorithm here. Having said so, the best technique to use when dealing with functions that have dependency in the domain of support (as your example has) is to place ...


5

Let's define: f[c_, d_, k_, toff_, ton_, V_] := "the expression equal to j" Instead of using toff, ton and V I'll use x, y, z. Moreover we define: assumptions = c > 0 && d > 0 && k > 0 && x > 0 && y > 0 && z > 0; In case of simpler functions we would try to do something like this: Reduce[ f[c, ...


5

Following @BobHanlon's suggestion to use Equal instead of Set, you can also use Eliminate: Eliminate[{w1 == (a + b)/c^2, w2 == (a^3 + 3 a^2 b + 3 a b^2 + b^3)/c^6}, {a, b, c}] (* w2 == w1^3 *)


5

Another way to see the result is to do it by contour integration. Start by expanding out the integrand. (Sin[s omega] omega)/((Exp[beta hbar omega] - 1) (omega^2 + gamma^2)) // TrigToExp // Expand (* (I E^(-I omega s) omega)/(2 (-1 + E^(beta hbar omega)) (gamma^2 + omega^2)) - (I E^(I omega s) omega)/(2 (-1 + E^(beta hbar omega)) (gamma^2 + omega^2)) *) ...


5

The name f can be used for two "different" functions, one depending on three variables and the other depending on two: f[x_, y_, θ_] := f[x, y] D[f[x, y, θ], x] $f^{(1,0)}(x,y)$ D[f[x, y, θ], y] $f^{(0,1)}(x,y)$ D[f[x, y, θ], θ] $0$


5

The differential operator in the first form can be written as dd1[n_] := (Sum[a[k] D[#, {t, k}], {k, 0, n}]) & and is applied for example as dd1[1][x[t]] a[0] x[t] + a[1] Derivative[1][x][t] and dd1[2] @x[t] a[0] x[t] + a[1] Derivative[1][x][t] + a[2] (x^\[Prime]\[Prime])[t] In the second (product) form we would perhaps try d2[n_] := a[n] ...


5

Good question; the notion of a tensorial (covariant) derivative is something that is missing in Mathematica AFAIK. I can think of two ways to proceed: Option 1 One way is to overload the TensorRank, TensorDimensions, and TensorSymmetry functions for patterns that have head CD: CD /: TensorRank[CD[tensor_]] := TensorRank[tensor] + 1 CD /: ...



Only top voted, non community-wiki answers of a minimum length are eligible