Questions on writing non-trivial programs in Mathematica. Do not use this tag for questions on plotting/graphics or for questions on doing mathematics with Mathematica, where the focus is more on the math than the program.
17
votes
2answers
223 views
17
votes
3answers
735 views
Deploying Mathematica Content Online
I have the following program at home, which draws on a batch of pre-processed files (that are word frequency text files, compiled using ToLowerCase, ...
17
votes
3answers
2k views
How to use Mathematica functions in Python programs?
I'd like to know how can I call Mathematica functions from Python.
I appreciate a example, for example, using the Mathematica function Prime.
I had search about MathLink but how to use it in Python ...
16
votes
5answers
453 views
Is this the most efficient way to round approximate integers to integers while leaving other Reals untouched?
This might seem like an overly simple question, but I need to specify custom plot tick marks as integers (no trailing decimal point) if they are approximately integers, but not if they are not. Using ...
16
votes
3answers
607 views
Reading periodic elements from a large file
I have a large binary data file (big endian) with 100+ million "rows" of 11 elements, combination of floats and integers.
This is the format:
...
16
votes
2answers
403 views
Do I have to code each case of this Grid full of plots separately?
I have written some custom functions to draw multi-panel graphs like this one:
It's done by passing a matrix of (custom) plotting functions to a MultiPanelGraph ...
16
votes
1answer
358 views
What is the proper method to load a Mathematica package inside a DynamicModule
I have a DynamicModule that requires loading of Mathematica packages. The usual methods do not seem to apply (...
16
votes
2answers
567 views
Does every Symbol in Mathematica induce a monad?
From my question about types in Mathematica, I assume that every Symbol in Mathematica is a type if it appears as a Head of some ...
16
votes
1answer
262 views
Is pure pattern matching without PatternTest and Condition Turing-complete?
Note that this question is not a duplicate of that one. It is specifically about the pattern-matching engine, and explicitly excluding those patterns which call back into the full evaluation (i.e. ...
15
votes
4answers
430 views
How do I generate the upper triangular indices from a list?
I have some list
{1,2,3}.
How do I generate nested pairs such that I get
{{1,2},{1,3},{2,3}}?
That is I'd like a way to ...
15
votes
4answers
269 views
Function that caches when it returns unevaluated
How would you go about implementing a function that caches not the result but the fact that it didn't match a pattern? So that it doesn't waste time recomputing a complex time-consuming pattern ...
15
votes
1answer
242 views
What can be used as the second argument to Return on your own functions?
Having found out about the second argument to Return I played a bit with it, and the following tests all resulted in ...
15
votes
1answer
281 views
Importing Zip files
Mathematica can import zipped files automatically, but when the content of the zip file it's another zipped file, I just get the list of files in the second zip:
...
15
votes
5answers
331 views
Alternative ways to implement a triangular recursion
Triangular recursions are a class of algorithms that frequently turn up in computational mathematics. These recursions are expressible in the general form
...
15
votes
1answer
220 views
Are there advantages to using additional arguments of common functions rather than alternative ways of calculating with lists?
(Apologies for the long question title.)
One of the interesting, if sometimes confusing, things about Mathematica is that there is always more than one way to do things. Even intermediate users can ...
14
votes
6answers
490 views
How to perform a breadth-first traversal of an expression?
Mathematica provides functions that perform a depth-first traversal on an expression, including: Map, MapAll, and ...
14
votes
4answers
365 views
Implementing a function which generalizes the merging step in merge sort
One of the key steps in merge sort is the merging step. Given two sorted lists
sorted1={2,6,10,13,16,17,19};
sorted2={1,3,4,5,7,8,9,11,12,14,15,18,20};
of ...
14
votes
3answers
542 views
Mathematica usage (success stories) for financial back-ends
I've been working for about 5 years in Java, developing financial back-offices (web-services, business logic, report generation etc.).
I think Mathematica is very suitable for such calculations and ...
14
votes
3answers
456 views
Are there suitable versioning systems for Mathematica notebooks?
I am considering a project using Mathematica and openCL. I know that the openCL C source code can be tracked.
Has anyone used a versioning site or software so multiple developers can modify a common ...
14
votes
2answers
211 views
When should I, and when should I not, set the HoldAll attribute on a function I define?
I have seen a number of examples on this site
(such as in syntax highlighting and checking evaluation status) in which functions definitions are preceded with
...
14
votes
3answers
422 views
How can I improve my code for drawing a tree?
This code draws a tree, but it's not in the functional style.
...
14
votes
3answers
656 views
Effective matrix power like algorithm
First example
Suppose you want to calculate the 6th power of some matrix $A$. The brute force attempt of doing this is considering
$$(((AA)A)A)A)A$$
which requires a total of 5 matrix ...
14
votes
2answers
262 views
Distributing PlusMinus consistently
I would like to give the built-in function PlusMinus, which is undefined by default, the intuitive meaning: considering all possible combinations of $+$ and $-$.
...
13
votes
5answers
957 views
Finding all elements within a certain range in a sorted list
Suppose we have a sorted list of values. Let's use list = Sort@RandomReal[1, 1000000]; for this example.
I need a fast function ...
13
votes
3answers
2k views
K-means clustering
In MATLAB, there is a command kmeans() that divides an array into $k$ clusters and calculates the centroid of each cluster.
Is there any command in Mathematica to ...
13
votes
4answers
687 views
Is there a Mathematica/Lisp link?
I'd like to start learning Lisp as it sometimes leads to interesting answers on this site with concepts borrowed from this language, so I'm curious. As I already spend most of my programming time in ...
13
votes
3answers
185 views
How to keep some of the results of the NestList
I'm using some iterative arithmetics to calculate wave propagation with the help of NestList. I have to use a small step size for iteration to guarantee the accuracy, which lead to too much data (e.g, ...
13
votes
2answers
220 views
How to make use of NumericQ[x] = True (and use it safely)?
Basic Issue:
I'm trying to understand the proper use of NumericQ's "magical" capabilities. Please consider the examples below. Actual question and some links are ...
13
votes
2answers
302 views
Fastest way to measure Hamming distance of integers
I am looking for a fast and robust way to calculate the Hamming distance of integers. The Hamming distance of two integers is the number of matching bits in their binary representations. I expect that ...
13
votes
2answers
368 views
Question about designing a particular data structure
Background: I store polygons with a color assigned at the face level. In some occasions I want to use vertex colors but I want to store data efficiently, i.e. don't want to duplicate data to the ...
13
votes
1answer
160 views
List manipulation to build a functional expression
Since Mathematica deals with Head[a, b] as an expression in this way
The first Part of Head[a, b] is ...
13
votes
1answer
181 views
Is the sharing of variables in Module/Block within Compile documented behavior?
Today I noticed something, I think for the first time.
When used inside Compile variable values within Module (and ...
13
votes
2answers
310 views
Lexicographic ordering of strings in Mathematica
I recently realized that Mathematica seems incapable of comparing strings in the "normal" expected lexicographic order. Indeed, for some simulations, I need to process text directly, without fiddling ...
13
votes
1answer
205 views
Count number of sublists with a total not greater than a given max
Suppose I have a list of positive integers:
data={1, 1, 2, 3, 3, 3, 5, 5, 5, 7, 7, 8, 8, 9, 10, 10, 12, 16, 23}
I want to count the number of subsets up to ...
12
votes
9answers
411 views
Generating a matrix using sublists A and B n times
I want to write a function that generates a square matrix from sublists. My sublists are
a = Range[0, x, 0.5]; b = Range[0.25, x + 0.25, 0.5];
Suppose x=2, then I ...
12
votes
2answers
732 views
Is Mathematica a Turing-complete language?
Is Mathematica a Turing-complete language? If so, how can that be proved? If not, why?
12
votes
6answers
555 views
Splitting up delimited data in lists
One task that I frequently find myself doing in Mathematica is splitting lists into lists of sublists, using specific elements to define the break-points. This is particularly useful with imported ...
12
votes
3answers
221 views
Accessing list elements by name
First, a bit of a long introduction to my problem:
I only have a few weeks of Mathematica experience. I am creating a mathematica application that calculates some material properties of steel based ...
12
votes
3answers
478 views
Fastest way to calculate matrix of pairwise distances
It is a very common problem that given a distance function $d(p_1,p_2)$ and a set of points pts, we need to construct a matrix ...
12
votes
5answers
562 views
How to improve this code for solving the “Mr.S and Mr.P” puzzle?
Mr.S and Mr. P puzzle — "Formalization of two Puzzles Involving Knowledge", McCarthy, John (1987)
We pick two numbers $a$ and $b$, such that $a\geq b$ and both numbers are within
the range ...
12
votes
2answers
446 views
Suppressing negative roots in Mathematica
Problem
Using Mathematica's Solve operator can sometimes lead to an output involving a positive and negative root (say when solving for a variable such as ...
12
votes
3answers
403 views
Reading from STDIN, or: how to pipe data into Mathematica
Today I tried using Mathematica's plotting capabilities to display the output of a C++ program. This made me wonder whether it is possible to somehow tell a Mathematica script to read from STDIN and ...
12
votes
1answer
194 views
How to make a function like Set, but with a Block construct for the pattern names
How can we define a function that works like f[x_]=ComputeSomething[x] and treats x as a variable that does not have a value? ...
11
votes
8answers
378 views
Any built-in function to generate successive sublists from a list?
Given
lst = {a, b, c, d}
I'd like to generate
{{a}, {a, b}, {a, b, c}, {a, b, c, d}}
but using built-in functions only, ...
11
votes
3answers
218 views
Does AbsoluteTiming slow the evaluation time?
I've started using AbsoluteTiming to discriminate between similar function constructs, but I sometimes feel like it takes substantially more time to evaluate a ...
11
votes
2answers
394 views
Using a list of tuples in a pure function
I want to use a list of tuples within a function to make assignments.
Say I want to make assignments of the form
value[i,j] = val
What I have is a list of ...
11
votes
5answers
417 views
How to perform a depth-first preorder traversal of an expression?
Due to confusion of terminology on my part I asked the wrong question before.
Since it has already received other answers I shall not edit it, but instead ask the question I meant to in the first ...
11
votes
4answers
410 views
Can you recommend an efficient method for finding the least integer satisfying my inequality?
I tried find the minimum make
$\frac{1}{2}+\frac{1}{2+\sqrt{2}}+\frac{1}{3
+\sqrt{3}}+...+\frac{1}{n+\sqrt{n}}>15$
Following code is so slow when I use condition
...
11
votes
2answers
839 views
Open Excel file with Mathematica
I would like to open an Excel file and manipulate it as a COM object. While I'm able to open an instance of excel with
...
11
votes
1answer
192 views
Need help coding/creating a recursive list
I have two lists A and B, each with 99 real numbers. I want to form a list, C, whose ...

