13,786 reputation
2563
bio website facstaff.unca.edu/mcmcclur
location Asheville, NC
age
visits member for 1 year, 4 months
seen 36 mins ago
stats profile views 1,160

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.


21h
comment Having used Mathematica as a “gateway” language, where to from here?
I'm not the downvoter, by the way, and I don't generally approve of downvotes without explanation. I'd probably upvote with reasonable explanation, for that matter.
21h
comment Having used Mathematica as a “gateway” language, where to from here?
Could you expand on this, particularly, in light of some of the comments on the original post? I don't doubt that you have value to add; I'm specifically curious how your thesis code might have benefitted from Python?
22h
comment Having used Mathematica as a “gateway” language, where to from here?
@Stefan Well, there's no question that Perl's original design was quite domain specific and it's expanded name reflects that. (That's why I referred to its "originally intended domain".) Of course, it's grown since then and it's fair to ask how well it's done at expanding into other domains. I honestly don't know, as I've not used it a lot since the mid-90s. In this regard, I think your example is not too good.
22h
comment Having used Mathematica as a “gateway” language, where to from here?
To be clear, I rather like Perl for some of the same reasons that I like Mathematica. Both of them allow you to specify a program using a very small number of symbols and figuring out the way to do so can be quite fun. I used Perl quite a bit back in the mid 90s when I was first trying to seriously interact with students over the web. At that time, CGI via Perl or C was the only way to go. However, both Perl and Mathematica are rather domain specific and I don't know that I'd use either too much outside of their originally intended domain.
1d
comment Having used Mathematica as a “gateway” language, where to from here?
I guess your primality tests are based on the regular expression primality checker. Cute, but I'm not sure that's the right code to convince the uninitiated that perl is readable. :)
May
17
comment Solving an ODE in power series
@J.M. Yes, that's definitely correct. Holonomic functions, in fact, satisfy linear ODEs by definition, which is exactly why I asked for an example, rather than post an answer.
May
17
comment Solving an ODE in power series
@J.M. Not true! It's buried in the Holonomic context
May
17
comment Solving an ODE in power series
Yes, there's a way. Do you have an example problem?
May
13
answered Importing images from the web using ImportString & URLFetch
May
11
comment 3D orbits and inaccuracy over time
Very cool looking! I wonder how you might edit it to get your planets to interact with one another?
May
11
reviewed Approve suggested edit on 3D orbits and inaccuracy over time
May
11
answered Convert Graph to Graphics
May
6
comment Implementing the Farey sequence efficiently
@Dror Well, you did ask for a functional approach and this certainly provides it. Also, you never indicated that speed was your primary concern and I see no immediate reason that it should be. The primary advantage of this approach that I see is the clarity provided by its immediate connection to the mediant. By removing the DeleteCases step, for example, we essentially recover the Stern-Brocot tree.
May
6
comment solving a cubic equation
I agree that it should probably be a comment but I couldn't help upvoting, as I think it's an interesting point. For specific irreducible cubics, you can often (always??) express the roots in this form using ComplexExpand. For example: ComplexExpand[Re[z /. Solve[z^3 - 3 z - 1 == 0, z]]]. In this case, the Re simply removes the imaginary parts, which we know to be zero anyway.
May
6
reviewed Approve suggested edit on Parallelizing is much slower than single kernel evaluation?
May
6
comment Custom File Palette
@beli I think I pushed him over the top!
May
5
comment Confused about Unevaluated
I agree with this analysis. I guess this behavior of Unevaluated is exactly why we use it in a case like Length[Unevaluated[1+2+3]]. An even simpler example would be f[x_]=x^2; f[Unevaluated[2]].
May
5
comment Confused about Unevaluated
Now, I'm not claiming to fully understand the whole deal here (which is why I wrote a comment, rather than an answer). I'm simply stating that Table and Map have different evaluation procedures and that's what leads to this behavior. Also, functions like Unevaluated and attributes like HoldAll are intimately connected with these issues.
May
5
comment Confused about Unevaluated
Yes. Try your "two kinds of evaluate" with Unevaluated[1+1] as input vs Evaluate[Unevaluated[1+1]] as the input.
May
5
comment Confused about Unevaluated
I'm just saying that Table evaluates it's arguments in a non-standard way and (by implication) that Map does not. Thus, when the documentation says that Map "constructs a complete new expression and then evaluates it", it does so in the standard way. Thus, Map[Unevaluated,{1,2}] produces the same output as {Unevaluated[1],Unevaluated[2]}.