For questions on writing functions (pure or using Set/SetDelayed) for any purpose, including the features that may be incorporated in those functions, such as options, patterns and conditions.
9
votes
1answer
309 views
Functional programming and Do loops
I'm writing a Monte Carlo simulation. I'm using a Do loop to create the different simulations, iterating over different ...
8
votes
2answers
204 views
Generating a position lookup function for an arbitrary list of integers
In my code, I generate a list of integers called numlist. Here is an example numlist:
...
8
votes
4answers
135 views
How to pass a list of arguments into HoldAll
I have a list of arguments (which in reality is lengthy):
arguments = {a, b, c}
arguments2 = {a_, b_, c_}
f[Sequence@@arguments2] := a + b + c
Note: It seems ...
8
votes
3answers
158 views
How to make MapAt work with Span?
Span (;;) is very useful, but doesn't work with a lot of functions. Given the following input
...
7
votes
4answers
289 views
Is there a concise form of Which or similar conditional?
Suppose that I want to write a function fun that takes an Integer num as input, and returns ...
7
votes
7answers
494 views
Can my color function be written more simply?
The code shown below works well, but I think the pure function I'm supplying to the ColorFunction option could be more elegant. How can I simplify it?
...
7
votes
3answers
157 views
Generating date ranges
How can I, in one line, generate all the dates with a constant day difference from one date to another?
For example, if I'm interested in dates in the interval staring from 24.4.2012 till 2015 and a ...
7
votes
4answers
339 views
Force function to make assumptions about its input variables in Mathematica
I'm trying to force a Mathematica function to make an assumption about its input variables. In my case, I'm trying to define a function to return the pdf of a Gaussian. But let's use a simple toy ...
7
votes
4answers
270 views
How can I shorten this code to rotate a line segment around its center?
I have a list of line segments stored in the form:
{ {{x11,y11},{x12,y12}} , {{x21,y21},{x22,y22}} , ... , {{xn1,yn1},{xn2,yn2}} }
Now I want to rotate all of ...
7
votes
3answers
281 views
Composition of TransformationFunctions
I have a number of rotations computed by rot = RotationTransform[theta, point], and I would like to compose them to produce one function that is the composition of ...
7
votes
3answers
133 views
How to set a TraditionalForm output for a symbol
How do I set a TraditionalForm output for a particular symbol/function?
In particular I would like my user-defined symbol ...
7
votes
3answers
287 views
Inverting a function in a certain region
InverseFunction works well for globally invertible functions, like
f = 2*# + 2 &;
InverseFunction[f]
...
7
votes
1answer
436 views
How to find the smallest root
I have a continuous, differentiable, monotonic, bounded function called F[t]. If t -> Infinity then ...
6
votes
3answers
222 views
Composition of mappings not working as expected
I have two functions $f,g:\mathbb{R}^2 \to \mathbb{R}^2$ and I define a third one $h:\mathbb{R}^2 \to \mathbb{R}^2$ as the composition $$h(x,y) = g(f(x,y))$$
I'm trying to get this function into ...
6
votes
3answers
199 views
6
votes
3answers
204 views
Where in the documentation can I find a list of function argument types?
Recently, I learned that it is possible to assign "types" to function arguments in the definition of a function. Suppose I have a function stringFun that does some ...
6
votes
2answers
222 views
Passing unquoted strings (poor man's enumeration)
I would like to be able to pass an unquoted string as a parameter to a Mathematica function [that I am writing] and have it show up without evaluation if the string happens to be defined. Thus I would ...
6
votes
1answer
267 views
How can I define a function that can accumulate its parameter?
For example, write a function add:
add[3] return 3
add[4] return 7
add[10] return 17
6
votes
4answers
171 views
Function argument to default under certain condition
Inspired by this and this question (and how I handle this in practice), what is the best way to default a function value when a certain condition is met?
For example, if a function is defined as:
...
6
votes
3answers
201 views
Using function with multiple definitions in Manipulate
I'm trying to use Manipulate to visually try out different values of lambda in a Box-Cox transformation. I've created a boxcox ...
6
votes
2answers
322 views
Building matrices by attaching vectors (columns) and matrices
Having the need to attach a column to a matrix or to join matrices to make longer rows is an operation that I use very frequently and I find the Join function ideal ...
6
votes
1answer
64 views
Possible to scope an anonymous function within Module?
This is my first question. I'm fairly new to Mathematica and completely new to SE, so I apologize if this question is trivial.
I'm working on a problem that requires a function to be redefined ...
6
votes
1answer
102 views
Property assignment on a graph vertex using PropertyValue does not work inside a function
I created this function:
AddStone[board_Graph, v_, s : white | black | empty] :=
PropertyValue[{board, v}, VertexState] = s
This function should change the ...
5
votes
4answers
323 views
Swap two entries in a matrix
Is there a nice, simple script one can use to swap two entires in a matrix? For example, suppose we have the matrix below:
$A=\begin{pmatrix}2 & 4 & 1\\
3 & 1 & 2\\
4 & 3 & 1
...
5
votes
4answers
230 views
Any rule of thumb for converting a simple mathematical expression into a pure function?
By simple mathematical expression I mean one with a few functions and few variables copied into MMA in a mechanical way from a math book.
For example this one, giving the distance between two points ...
5
votes
2answers
244 views
Gram Schmidt Process for Polynomials
I want to implement the Gram Schimdt procedure to the vector space of polynomials of degree up to 5, i.e. I want to find an orthogonal basis from the set of vectors $v=(1,x,x^2,x^3,x^4,x^5)$. The ...
5
votes
2answers
126 views
How is OptionsPattern[] defined? Can I replicate this?
I am writing several functions which all take similar input parameters (a complicated nested list structure). Is there some way for me to define a pattern that can be used in multiple places and ...
5
votes
1answer
127 views
How to find the name of the current function
I would like to know the name of the current function from within that function. For example, consider the following code
...
5
votes
1answer
349 views
Nesting multiple functions of multiple variables
I was wondering how one would go about nesting multiple functions of, say, two variables. The problem comes from trying to implement the Chirikov standard map without using "for" cycles. I found a ...
5
votes
3answers
98 views
Applying a function with the HoldAll attribute inside NestList
I'm trying to write an update function, which can be applied to a list and then to NestList it.
As the function has to manipulate the given variable I figured I ...
4
votes
6answers
172 views
Filter list with different list in it
I have a list like:
{{{4, 14}, 1}, {{4, 15}, 1}, {{4, 16}, 1}, {{4, 17}, 1},
{{4, 18}, 1}, {{4, 14}, 3}, {4,15}, {{4, 16}, 2},{4,18}}
Now I want to ...
4
votes
3answers
166 views
Defining functions with special cases
I'm trying to define a function myFunc with a special case:
myFunc[x_, y_] = (x^2 - y) Log[x^2 - y];
myFunc[x_, x_^2] = 0;
...
4
votes
3answers
96 views
Creating a nonperiodic function in mathematica
I want to create a non-periodic square wave with values of 1 and -1(not necessarily alternating).
For e.g. I want to convert an arbitrary array like {1,-1,-1,1,-1,1,-1} into a function.
I tried ...
4
votes
2answers
155 views
How can I improve this trial division procedure?
My background is procedural programming, so I find this construction quite natural. Is there a way to get rid of the While?
...
4
votes
3answers
110 views
How to distribute a generic function of two arguments (without evaluating the arguments)
I guess there is an easy way to do this, but I can't seem to figure it out. What I would like to do is to distribute a generic (i.e. without specifying what this function really does) binary function. ...
4
votes
2answers
175 views
Define product derivative
How do I define the $n$th product derivative of a function in Mathematica?
The first product derivative $f^\ast$ of a function $f$ is
$$
f^\ast(x)=\exp\left(\frac{f^\prime(x)}{f(x)}\right)
$$
The ...
4
votes
2answers
153 views
Pattern matching repeated structures with named subexpression components
I am trying to write a function with a pattern that tests its arguments for a particular structure. But in that pattern I'd like to name a subpattern to make it easier to exract and operate on.
The ...
4
votes
1answer
111 views
Module with “local functions”
I am trying to use a Module having "local functions", i.e., those which I need to define only inside this module.
So I tried this:
...
4
votes
2answers
143 views
Function to select a row whose kth element is closest to a given number
I'm trying to write a function that picks out the row of a Matrix whose kth element is closest to some given number that will be given to me.
So for example,
...
4
votes
2answers
125 views
Standardizing a coset table via matrix manipulation
Suppose we have a group $G$ and a subgroup $H$. A coset table encodes the permutation representation of $G$ on the right cosets of $H$. When we want to use these coset tables in calculations, it is ...
4
votes
3answers
131 views
How can I combine two Pick expressions into one?
I want to speed up my code, i.e., replace Select by Pick. I think using two Pick ...
4
votes
2answers
914 views
How to find (numerical) value of a derivative at point?
I have the following function:
f[0, 0] = 0
f[x_, y_] := Exp[-(x^2 + y^2)^(-1)]
How do I find its partial derivatives at any given point, including $(0,0)$? This ...
4
votes
3answers
126 views
Constructing a function with Flat and OneIdentity attribute with the property that otimes[a]:>a
I want to have a function (called otimes) with the following two properties:
it has the attribute OneIdentity and ...
4
votes
2answers
93 views
How to only work on sublists with non-zero (or positive) values
i have a large compositional dataset which contains non-zero and zero values. here is a sample:
...
4
votes
3answers
306 views
Integrating with multiple indicator functions
I am trying to calculate an integral involving multiple indicator functions, such as:
$$ h(u,v,w) = -\int_0^1 J^{\prime\prime}(s) (I_{(0,s]}(u) - s)(I_{(0,s]}(v) - s)(I_{(0,s]}(w) - s)\, ...
4
votes
2answers
162 views
Calling a function an unspecified number of times
I would like to be able to call a function an unspecified number of times. That is, I would like the generalization of something like:
...
4
votes
3answers
167 views
Define an 'inner product' with AngleBracket
I want to define my own little 'Inner Product' function satisfying properties of linearity and commutativity, and I'd like to use the "$\langle$" and "$\rangle$" symbols to output my results. For ...
4
votes
2answers
150 views
Returning Replacement Rules in a function and using it later on
I would like a function which returns replacement rules as some internal mathematica functions are doing and use the results in other functions.
I could not find any information on that and I'm ...
4
votes
2answers
74 views
Creating functions from output of other calculations
Apologies in advance if the title is vague, I'm not really sure what to call this.
I have a function (call it 'foo') that generates a largeish polynomial, and it is natural to make the variables be
...
4
votes
4answers
204 views
Differentiating space curves
I'm trying to do some very basic differential geometry of space curves. For example, a space curve $\gamma:\mathbb R\to\mathbb R^3$ has unit tangent and normal vectors given by
...




