# Tag Info

4

Reap has the attribute HoldAll. This is necessary so that its argument is not evaluated until Reap has set up the conditions necessary to capture the values designated by Sow. The implementation of @* (Composition) is such that it interferes with the attributes of the right-most composed function. In the exhibited example, the Sow expression is evaluated ...

4

What you experience is not Mathematica not dealing with 0.02 correctly, but your yy[...] being called with arguments, for which it is not defined. The following modification will show you the reason: yy[x_, t_]:= Which[x == 0, yy[0, t] = 0, x == 1, yy[1, t] = 0, t == 0, yy[x, 0] = Exp[-1000 (x - .3)^2], True, Print["x==", x, " t==", t];"yy[" ...

4

Use the pure function in the form of Function[x, ...] or Function[{x, y}, ...] for more arguments. For example, Function[arg, Select[arg, PrimeQ[#[[1]]] &]] /@ testList

3

I think you can move condition outside brackets: ClearAll[f]; f[x_Integer : 1] /; x >= 0 := {x}

3

this would be a definition which does what you want for a list of rules: f[r : {__Rule}] := someFunction @@@ r and this would be one which handles the Association case: f[a_Association] := someFunction @@@ Normal[a] As mentioned by Gerli in a comment in version 10.1 one can also use KeyValueMap for the second case, for which that new function was ...

3

Before I begin, a quick note. In the problem as stated, the optimal value of c is $-\infty$, since that makes the value of $f-(-\infty)g=f-\infty=-\infty$ (since $g<0$ for all $x\in(0,1)$). I'll instead work the problem of minimizing $|f-cg|$. First we can evaluate the Maximize statement, just to see what we get: Maximize[{Abs[f[x] - c g[x]], 0 < x ...

2

I take it you are interested in the minimum in the absolute value of the difference Abs[f[x]-c g[x]]. Otherwise, the answer is trivial: c=-Infinity. Let us define the functions: f[x_] := (-1 + x) Log[1 - x] - x Log[x]; g[x_] := Log[1 + 2 (-1 + x) x]; w[x_, c_] := f[x] - c*g[x]; and plot them: Manipulate[Plot[w[x, c], {x, 0, 1}], {c, -3, -0.1}] ...

2

r = {"a" -> "1", "b" -> "2", "c" -> 3, d -> 231, "e" -> 1.25}; someFunction[key_, value_] := {key, value}; (* say *) f = someFunction @@@ # & f@r {{"a", "1"}, {"b", "2"}, {"c", 3}, {d, 231}, {"e", 1.25}}

2

I didn't try to follow your code, but I think this is what you're asking for w={10, 20, 74, 77, 19, 79, 61, 67, 49, 85}; replaceWithMean[x_] := Module[ {pair,intMean}, pair = RandomInteger[{1, Length@x}, {2}];(*2 Random positions in list*) intMean = Round[Mean[x[[pair]]],1]; (*Mean of selected numbers rounded to nearest 1*) ReplacePart[x ...

2

You have make your own definitions to handle non-commutativity. The basic trick is to use op[x1, x2, x3, ...] to represent an operator product, and to define various rules for manipulating the op[x1, x2, x3, ...]. To solve your problem I find that the minimum set of rules is as follows (using an obvious notation): Clear[op]; op[u___, x_ + y_, v___] := ...

2

This approach seems to work. Clear@f list = {a, b, c} argList := Evaluate@ Sequence @@ (Pattern[#, Blank[]] & /@ list) f[argList] := a + b + c DownValues@f (* {HoldPattern[f[a_, b_, c_]] :> a + b + c} *) f[1, 2, 3] (* 6 *) I think it fits your request. If not, maybe try manipulating DownValues[f] directly, but it won't be elegant! Edit: ...

2

My take on the question: w = {10, 20, 74, 77, 19, 79, 61, 67, 49, 85}; picks = RandomChoice[Range@Length@w, {1000, 2}]; iterations = Reap[Do[If[(Sow[{w, pick, Max[Tally[w][[All, 2]]]}]; Equal @@ w), Break[], If[Abs[Subtract @@ w[[pick]]] < 50, w[[pick]] = Round[Mean[w[[pick]]]], w[[pick]] = Round[(99 + Tr@w[[pick]])/2 - ...

2

For clarity I would suggest defining a function to create the new value from 2 integers. newvalue[{x_, y_} /; Abs[x - y] < 50] := Round[Mean[{x, y}]] newvalue[{x_, y_}] := Round[(x + y + 99)/2 - 99] w = {10, 20, 74, 77, 19, 79, 61, 67, 49, 85}; n = Length[w]; While[! Equal @@ w, Pause[0.1]; With[{p = RandomInteger[{1, n}, 2]}, w[[p]] = ...

2

Interesting problem. It shows the effect of diffusion which gradually smoothes an initially existing structure. Here is a possible code. I think it is mainly self explanatory; hence only a few hints are given. wlg = 15; (* length of the array *) r := RandomInteger[{1, wlg}] (* a random position in the array *) nn = 10^2; (* number of repetitions of the ...

1

Calculations about equality There are different kinds of "equality" used in computer programming. In Mathematica, ==, or Equal is used to assert equality. 1==1 is a True statement, and 1==2 is False. f == a/b is a statement about the relationship between f, a and b. You shouldn't use := to assert equality between f and a/b or c/d. Rather, make the ...

1

Not sure if I've understand you. Something like this?: With[{a = a[c], b = b[d]}, D[f[a, b], c]] With[{a = a[c], b = b[d]}, Solve[f == f[a, b], c]] 1/d {{c -> d f}}

1

Assuming $G=\rho=1$, move the gradient operator into the integral:  \begin{align} - \mathbf{g} = \nabla V(X,Y,Z) &= \nabla \int_{-D}^{D} \int_{-B}^{B} \int_{-L}^{L} \frac{{dx}'{dy}'{dz}'}{\sqrt{(X-{x}')^2+(Y-{y}')^2+(Z-{z}')^2)}} \\ &= \int_{-D}^{D} \int_{-B}^{B} \int_{-L}^{L} \nabla ...

1

Simplest solution Use Set instead of SetDelayed: vl = {a_, m_, s_, τ_, c_, x$HH_, x$HF_, x$FF_, x$FH_, λ$H_, λ$F_, L$H_, L$F_, w_, δ_}; vle = {a, m, s, τ, c, x$HH, x$HF, x$FF, x$FH, λ$H, λ$F, L$H, L$F, w, δ}; vle1 = {1, 1, 1, 1, 1, 1, 1, x$FF, x$FH, λ$H, λ$F, L$H, L$F, w, 1}; xx[vl] = vle; xx[vle1] xx[2 vle1] (* {1, 1, 1, 1, 1, 1, 1, x$FF, x$FH, λ$H, λ$F, ...

1

Perhaps something like this? w = {10, 20, 74, 77, 19, 79, 61, 67, 49, 85}; While[Not[Equal @@ w], Print[w]; {xi, yi} = RandomSample[Range[Length[w]], 2];(*Pick 2 different locations*) w[[{xi, yi}]] = Round[Mean[w[[{xi, yi}]]]];(*Replace both with the mean*) ]; Print[w]

1

The first bit of housekeeping I'll do is prevent the notebook from miniaturising super-/sub-scripts so I can see what is going on. SetOptions[EvaluationNotebook[], ScriptSizeMultipliers -> 1] Next I'll enable a new symbol $a_i$ by using the Notations package. Needs["Notation"] Symbolize[ParsedBoxWrapper[SubscriptBox["a", "_Integer"]]] The Symbolize ...

1

Just to illustrate (using testList definition given) : c1 = Cases[#, {_?PrimeQ, _}, Infinity] & /@ testList; c2 = Select[#, PrimeQ[First@#] &] & /@ testList; c3 = Pick[#, Map[Function[x, PrimeQ[First@x]], #]] & /@ testList; and for the ridiculous: c4 = Flatten[Last[Reap[Sow[{##}, #1], _?PrimeQ, #2[[1]] &]]] /. {} -> ...

1

Here is another way using Cases Cases[#, {x_, y___} /; PrimeQ[x] :> {x, y}] & /@ testList Versification with Map method given by Taiki testList = Table[Table[{i, RandomReal[]}, {i, 10}], {j, 1, 3}]; Function[arg, Select[arg, PrimeQ[#[[1]]] &]] /@ testList Cases[#, {x_, y___} /; PrimeQ[x] :> {x, y}] & /@ testList

1

Example 3 is very different from example 1 and 2. Example 2 is a function with 4 arguments whereas example 3 has two arguments, first argument is a list with three elements{a_,b_,c_} and 2nd argument is r. Function names are in Mathematica not only defined by their names but by their name,structure of arguments and the names of the arguments. ...

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