22,143 reputation
254109
bio website sites.google.com/a/unca.edu/…
location Asheville, NC
age
visits member for 3 years, 2 months
seen 4 hours ago

I've been a professor of mathematics at The University of North Carolina - Asheville since 1997. I've been using Mathematica since I started graduate school in mathematics at Ohio State in 1989. At that time, we used version 1.1 (as I recall) to teach calculus in our Calculus and Mathematica classes. I've used it pretty much continuously in my teaching and research since then.

In addition to my posts on SE, you can find some of my papers, teaching notebooks and other Mathematica based oddities strewn throughout my website.

In recent years, I've also worked as a part-time consultant to Wolfram Research focusing on development of mathematical content for WolframAlpha.


Feb
26
comment Ghost trails with Animate?
@Kuba Neat! I never noticed a function that actually declares itself as undocumented in its name before. I'm curious - how did you avoid the problem that I had with the misbehaving invisible characters after copy/paste? It looks like you used 4 space indentation; maybe that's it? My code was inline.
Feb
26
comment Ghost trails with Animate?
Sadly, the Import code I just wrote doesn't seem to survive a copy from the comment box. Hopefully, you get the idea.
Feb
26
comment Ghost trails with Animate?
@Kuba But then, you wouldn't have the joy of writing code to extract the code. :) code=StringJoin[Cases[First[Cases[Import["http://mathematica.stackexchange.com/‌​questions/75936/ghost-trails-with-animate","XMLObject"], XMLElement["td", {_, _, "class" -> "answercell"}, ___],Infinity]],XMLElement["pre", {}, {XMLElement["code", _, {code_}]}] :> code, Infinity]]
Dec
19
comment Module function corrupts string?
+1 @TraceKira This code is much more idiomatic and easily readable by anyone who is familiar with Mathematica. This style of programming is also much more efficient in Mathematica, as I've tried to illustrate in my edit.
Dec
19
comment Minimizing a function with a constant $l > 0$
@B.Lee An accept is ample and you're welcome. Maybe Beli could bounty it, as he has 64K these days. :)
Nov
7
comment Graphs Plotting Discontinuous
Much faster, in fact! I actually considered that but didn't try it as I figured it would be very slow as Eigenvalues is evaluated with each and every step. Evidently, the list Root objects take longer to evaluate than Eigenvalues, which might very well be evaluated numerically in this context. Looks worth a +1!
Nov
7
comment Graphs Plotting Discontinuous
But now, all the plots are the same color. Worse, the standard tricks involving Evaluate, With, or the Evaluated option all bring the discontinuities back, as Chop applied to non-numeric expressions just returns the expressions. I was only able to resolve this by generating the data and using ListPlot.
Oct
28
comment Accessing Reduce from DSolve
Seems so simple - thanks!
Oct
16
comment Getting errors when I try to evaluate code taken from Trott's Mathematica Guidebook for Graphics
Have a look at mathematica.stackexchange.com/questions/20912/…
Oct
5
comment Graphics3D not rendering Ball as a filled object
@m_goldberg Show[{DiscretizeRegion[Ball[],{{0,1},{0,1},{0,1}}],Graphics3D[Sphere[]]}] works fine for me. I really don't understand your object to the answer at all. Regardless, the assertion that it's not relevant seems patently false.
Oct
4
comment Graphics3D not rendering Ball as a filled object
@m_goldberg Well, you asked if it was a bug. I replied "this is a minor bug" with explanation as to why I consider it to be minor and suggested a workaround.
Oct
3
comment StreamPlot for Bifurcation Diagram
@Stephen I'm glad you found the code useful! It sounds like you might need to incorporate a SaveDefinitions option into your code, if you want the dynamic content to work when you open the notebook. It's hard to say for sure, though, without seeing your code.
Sep
27
comment Enumerating all connected graphs with 9 vertices
Should be faster if you use FindIsomorphism[g,g,All] on a Graph object. On my iPhone right now so I can't try it just now.
Sep
27
comment Fitting ellipse to 5 given points on the plane
@Jens My assumption is that the OP simply wants to add more points that are know to be on the same ellipse, rather than find a best fit.
Sep
27
comment Fitting ellipse to 5 given points on the plane
@user153012 If you'd like to plot more points in a list, say morePoints, simply add another Point primitive containing your list to the Epilog.
Sep
27
comment Enumerating all connected graphs with 9 vertices
@EdenHarder I believe the Graph6 representation of a graph depends on the ordering of the vertices and, as such, is not unique so there's no reason to expect "HhcWJEA" to be on that list. Presumably, one of the automorphisms of your graph leads to your g6 code.
Sep
27
comment Plotting Semi-hollow spheres
In light of the post of @belisarius, I wonder if the answers here contributed significantly to your cover image? If so, attribution (which I don't see, but might have missed in the article) would be appropriate.
Sep
27
comment Enumerating all connected graphs with 9 vertices
getConnG[7] in about 6 minutes.
Sep
27
comment Bifurcation diagrams for multiple equation systems
@belisarius I saw that question but was not quite able to figure a good way to approach it. At least, not given the kind of time I've got these days!
Sep
27
comment Enumerating all connected graphs with 9 vertices
I modified your code slightly so that getConnG[6] runs in 5 seconds as opposed to 30 seconds on my machine. The major point is that DeleteDuplicates has quadratic time complexity when using a user defined comparison function. Thus, breaking the list of graphs in smaller parts using the total number of edges helps a lot. Of course, DeleteDuplicates can run like $n\log(n)$, when the data is linearly ordered, but that's not generally possible with a user defined comparison function.