Tag Info

Hot answers tagged

19

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: ...


16

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 ...


16

One way is to use an extra argument that acts as a switch. Clear[f]; f[0] = 1; f[1] = 1; f[n_, True] := f[n - 1] + f[n - 2] Example: f7 = f[7, True] (* Out[329]= f[5] + f[6] *) To proceed another step, can do a replacement. f7 /. f[aa_] :> f[aa, True] (* Out[330]= f[3] + 2 f[4] + f[5] *) Can use Nest to repeat this n times. Nest[# /. f[aa_] ...


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

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, ...


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]:= ...


12

Having experienced similar problematic issues with Mathematica I instantly thought that expanding the fraction in the integrand i.e. applying Appart could resolve the problem, and indeed it does: Integrate[ Apart[(1 - x)(1 + 2x)^6/Sqrt[1 - x^2]], {x, -1, 1}]/Pi 15 These arguments apply to this case as well Bug in mathematica analytic integration? i.e. ...


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

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]


7

If we are willing to confine ourselves to functions like the example f which: is defined using DownValues only, and has no special attributes such as HoldAll, etc. ... then the following lifting function might be useful: ClearAll[stepper] SetAttributes[stepper, HoldAll] stepper[f_Symbol] := Module[{rules, g} , rules = Rule @@@ ...


7

Here is a trick that allows you to get exactly what you're looking for: FourierTransform[ InverseFourierTransform[ x/y DiracDelta[x - y], x, k], k, x] DiracDelta[x - y] What I did here is to apply the Fourier transform and its inverse, which is of course the identity and therefore is equivalent to the original expression. But in doing so, ...


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 ...


7

Let's define the function f suitably: f[x_, a_, b_] := Log[x, 1 + (x^a - 1)*(x^b - 1)/(x - 1)] We would have defined f with appropriate conditions (I recommend to examine this post: Placement of Condition /; expressions), e.g. f[x_, a_, b_] /; 0 < a < 1 && 0 < b < 1 && x > 0 := ... however since we are to deal with ...


7

Here is another way that uses the Graphics object directly: gr = ParametricPlot3D[{Cos[u], Sin[u] + Cos[v], Sin[v]}, {u, 0, 2 Pi}, {v, -Pi, Pi}] We discretize the graphics using DiscretizeGraphics mr = DiscretizeGraphics[Normal[gr /. (Lighting -> _) :> Lighting -> Automatic]] We compute the convex hull hull = ...


7

You don't need to use TagSetDelayed for the definition of the derivative because Derivative doesn't have attribute Protected. I'll extend add the derivative definition to arbitrary order n: ClearAll[ln]; Derivative[n_, 0][ln][x_, a_] := Derivative[n][Log][x] ln[x_, a_?NumericQ] := Piecewise[{{Log[x], Re[a] > 0}, {-Log[1/x], True}}] ln[x, -1/2] ...


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

It is not quite clear, what do you you want to get out of the answer. Would you like to compare Maple and Mma and understand, which one is better ? Or would you like to understand the alternative forms of taking this integral? Or the reason, why the results of Marple and Mma are different? Or transform the Mma result in terms of xand y? Or, ...


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 ...


6

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 /: ...


6

In Version 10, once the points have been obtained as per user21's approach, we can tetrahedralize them directly using DelaunayMesh pf = {Cos[u], Sin[u] + Cos[v], Sin[v]}; pp = ParametricPlot3D[pf, {u, 0, 2 Pi}, {v, -Pi, Pi}] data = Reap[ParametricPlot3D[Sow[pf], {u, 0, 2 Pi}, {v, -Pi, Pi}]][[2, 1]]; pts = Cases[data, {_?NumericQ, _?NumericQ, ...


6

I think this does what you want: Less @@ SortBy[Defer[Subscript[ω, #]] & /@ {1, 2, 11, 22}, N @@ # &]


6

If I understand the goal of the question correctly, this is a possible application for the new Inactivate and Activate. Looking in particular at the documentation for Inactive, under "Applications," you'll find many situations that look similar to the one in this question. For example, you can enter a valid expression in the form Inactivate[(x y)^2] ...


5

If there is no pre-exponential factor then integral has a simple answer $$ \int \exp({\bf x}^TA{\bf x}+{\bf b}^T{\bf x}+c)d{\bf x} = \frac{\pi^{n/2}}{\sqrt{\det(-A)}}\exp\left(c - \frac{1}{4}{\bf b}^T A^{-1}{\bf b}\right) $$ it can be implemented in Mathematica very compactly gaussianIntegralExp[expr_, vars_] := π^(Length[vars]/2) Exp[#1 - ...


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

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, ...



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