Is there a notation for defining if a function is recursively defined? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Mathematical notation - defining setsNotation for a defining a grid of pointsNotation for “vectorized” functionmathematical notation for defining a variable inside a conditional expressionTechnical question about notation for defining a functionNotation Regarding Not Recursively Defined ElementIs there a standard notation for the following function?Generally accepted notation for referencing function without defining it.Meaning of double arrow $Leftrightarrow$ symbol in signal processing contextNotation for “Defined as proportional to”
What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV
When was Kai Tak permanently closed to cargo service?
What causes the direction of lightning flashes?
Fantasy story; one type of magic grows in power with use, but the more powerful they are, they more they are drawn to travel to their source
Is "Reachable Object" really an NP-complete problem?
Compare a given version number in the form major.minor.build.patch and see if one is less than the other
What do you call the main part of a joke?
Is grep documentation wrong?
If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?
How do pianists reach extremely loud dynamics?
Why are there no cargo aircraft with "flying wing" design?
What does this Jacques Hadamard quote mean?
Is there a kind of relay only consumes power when switching?
Circuit to "zoom in" on mV fluctuations of a DC signal?
Is it a good idea to use CNN to classify 1D signal?
Generate an RGB colour grid
Using audio cues to encourage good posture
What does the "x" in "x86" represent?
Has negative voting ever been officially implemented in elections, or seriously proposed, or even studied?
2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?
What do you call a floor made of glass so you can see through the floor?
Dating a Former Employee
In what way is everyone not a utilitarian
Do square wave exist?
Is there a notation for defining if a function is recursively defined?
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Mathematical notation - defining setsNotation for a defining a grid of pointsNotation for “vectorized” functionmathematical notation for defining a variable inside a conditional expressionTechnical question about notation for defining a functionNotation Regarding Not Recursively Defined ElementIs there a standard notation for the following function?Generally accepted notation for referencing function without defining it.Meaning of double arrow $Leftrightarrow$ symbol in signal processing contextNotation for “Defined as proportional to”
$begingroup$
Background: I'm working on a paper on high level synthesis, a method which combines the use of programming with digital circuit design. One of the methods I want to explain is called loop unrolling which makes use of concurrency to speed up execution, by duplicating the processing elements.
Unrolling can only be done on any function iff there is no internal relation between iterations, an example of a function with this property would be vector multiplication. My best guess would be something along the lines of $ g triangleq f in ?? $.
Is there a standard or good notation to describe the set of functions which do not contain a recursive term?
Edit: I originally accepted the answer as I could see that there was a slight mismatch between the question as a whole and the formulation of the question in the final paragraph. The previously accepted answer did answer the question as written, although not as intended. I'll clear it up a bit more, apologies for the mess.
notation
$endgroup$
add a comment |
$begingroup$
Background: I'm working on a paper on high level synthesis, a method which combines the use of programming with digital circuit design. One of the methods I want to explain is called loop unrolling which makes use of concurrency to speed up execution, by duplicating the processing elements.
Unrolling can only be done on any function iff there is no internal relation between iterations, an example of a function with this property would be vector multiplication. My best guess would be something along the lines of $ g triangleq f in ?? $.
Is there a standard or good notation to describe the set of functions which do not contain a recursive term?
Edit: I originally accepted the answer as I could see that there was a slight mismatch between the question as a whole and the formulation of the question in the final paragraph. The previously accepted answer did answer the question as written, although not as intended. I'll clear it up a bit more, apologies for the mess.
notation
$endgroup$
2
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
1
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40
add a comment |
$begingroup$
Background: I'm working on a paper on high level synthesis, a method which combines the use of programming with digital circuit design. One of the methods I want to explain is called loop unrolling which makes use of concurrency to speed up execution, by duplicating the processing elements.
Unrolling can only be done on any function iff there is no internal relation between iterations, an example of a function with this property would be vector multiplication. My best guess would be something along the lines of $ g triangleq f in ?? $.
Is there a standard or good notation to describe the set of functions which do not contain a recursive term?
Edit: I originally accepted the answer as I could see that there was a slight mismatch between the question as a whole and the formulation of the question in the final paragraph. The previously accepted answer did answer the question as written, although not as intended. I'll clear it up a bit more, apologies for the mess.
notation
$endgroup$
Background: I'm working on a paper on high level synthesis, a method which combines the use of programming with digital circuit design. One of the methods I want to explain is called loop unrolling which makes use of concurrency to speed up execution, by duplicating the processing elements.
Unrolling can only be done on any function iff there is no internal relation between iterations, an example of a function with this property would be vector multiplication. My best guess would be something along the lines of $ g triangleq f in ?? $.
Is there a standard or good notation to describe the set of functions which do not contain a recursive term?
Edit: I originally accepted the answer as I could see that there was a slight mismatch between the question as a whole and the formulation of the question in the final paragraph. The previously accepted answer did answer the question as written, although not as intended. I'll clear it up a bit more, apologies for the mess.
notation
notation
edited Apr 3 at 6:10
Ólafur Dagur Skúlason
asked Apr 1 at 13:53
Ólafur Dagur SkúlasonÓlafur Dagur Skúlason
83
83
2
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
1
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40
add a comment |
2
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
1
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40
2
2
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
1
1
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
As far as I know, there is no specific notation.
You might write something like
$$f[N]:=alpha(a,b,c,cdots)=alpha(V)$$
where $alpha$ denotes the expression (or more generally the algorithm) that evaluates the value to be assigned to $f[N]$, and $V=a,b,c,cdots$ is the set of variables that appear explicitly in $alpha$.
Then the absence of a dependency is expressed by
$$f[N-n]notin V.$$
On second thoughts, though your notation seems to imply an array, this is unlikely as you say $forall n$. But then, saying that the value of $f_N$ (at iteration $N$) depends on the value $f_N-n$ (at iteration $N-n$) only makes sense if the process has enough memory (variables) to realize such a dependency. This is a much more complicated situation.
An example would be a running sum on, say, three elements,
i= 0
a= b= c= s= 0
while True:
a= b; b= c; c= K[i]
i= i + 1
s= s - a + c
$endgroup$
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
add a comment |
$begingroup$
Edit
Since I am unable to delete this answer because it has been accepted, I'm going to say that there appears to be no standard way to write what you want, as all functions of the natural numbers (and likely other sets of numbers) can be written using a recursive defintion. You might as well just write it out in English or define the class of functions that can be calculated without depending on previous terms in the sequence in the paper.
$endgroup$
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
|
show 3 more comments
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3170633%2fis-there-a-notation-for-defining-if-a-function-is-recursively-defined%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
As far as I know, there is no specific notation.
You might write something like
$$f[N]:=alpha(a,b,c,cdots)=alpha(V)$$
where $alpha$ denotes the expression (or more generally the algorithm) that evaluates the value to be assigned to $f[N]$, and $V=a,b,c,cdots$ is the set of variables that appear explicitly in $alpha$.
Then the absence of a dependency is expressed by
$$f[N-n]notin V.$$
On second thoughts, though your notation seems to imply an array, this is unlikely as you say $forall n$. But then, saying that the value of $f_N$ (at iteration $N$) depends on the value $f_N-n$ (at iteration $N-n$) only makes sense if the process has enough memory (variables) to realize such a dependency. This is a much more complicated situation.
An example would be a running sum on, say, three elements,
i= 0
a= b= c= s= 0
while True:
a= b; b= c; c= K[i]
i= i + 1
s= s - a + c
$endgroup$
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
add a comment |
$begingroup$
As far as I know, there is no specific notation.
You might write something like
$$f[N]:=alpha(a,b,c,cdots)=alpha(V)$$
where $alpha$ denotes the expression (or more generally the algorithm) that evaluates the value to be assigned to $f[N]$, and $V=a,b,c,cdots$ is the set of variables that appear explicitly in $alpha$.
Then the absence of a dependency is expressed by
$$f[N-n]notin V.$$
On second thoughts, though your notation seems to imply an array, this is unlikely as you say $forall n$. But then, saying that the value of $f_N$ (at iteration $N$) depends on the value $f_N-n$ (at iteration $N-n$) only makes sense if the process has enough memory (variables) to realize such a dependency. This is a much more complicated situation.
An example would be a running sum on, say, three elements,
i= 0
a= b= c= s= 0
while True:
a= b; b= c; c= K[i]
i= i + 1
s= s - a + c
$endgroup$
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
add a comment |
$begingroup$
As far as I know, there is no specific notation.
You might write something like
$$f[N]:=alpha(a,b,c,cdots)=alpha(V)$$
where $alpha$ denotes the expression (or more generally the algorithm) that evaluates the value to be assigned to $f[N]$, and $V=a,b,c,cdots$ is the set of variables that appear explicitly in $alpha$.
Then the absence of a dependency is expressed by
$$f[N-n]notin V.$$
On second thoughts, though your notation seems to imply an array, this is unlikely as you say $forall n$. But then, saying that the value of $f_N$ (at iteration $N$) depends on the value $f_N-n$ (at iteration $N-n$) only makes sense if the process has enough memory (variables) to realize such a dependency. This is a much more complicated situation.
An example would be a running sum on, say, three elements,
i= 0
a= b= c= s= 0
while True:
a= b; b= c; c= K[i]
i= i + 1
s= s - a + c
$endgroup$
As far as I know, there is no specific notation.
You might write something like
$$f[N]:=alpha(a,b,c,cdots)=alpha(V)$$
where $alpha$ denotes the expression (or more generally the algorithm) that evaluates the value to be assigned to $f[N]$, and $V=a,b,c,cdots$ is the set of variables that appear explicitly in $alpha$.
Then the absence of a dependency is expressed by
$$f[N-n]notin V.$$
On second thoughts, though your notation seems to imply an array, this is unlikely as you say $forall n$. But then, saying that the value of $f_N$ (at iteration $N$) depends on the value $f_N-n$ (at iteration $N-n$) only makes sense if the process has enough memory (variables) to realize such a dependency. This is a much more complicated situation.
An example would be a running sum on, say, three elements,
i= 0
a= b= c= s= 0
while True:
a= b; b= c; c= K[i]
i= i + 1
s= s - a + c
edited Apr 1 at 18:45
answered Apr 1 at 18:29
Yves DaoustYves Daoust
133k676232
133k676232
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
add a comment |
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
Your second thoughts are pretty much what I want to describe. As I mentioned in the question vector operations are common applications for this technique as although each step of the procedure uses the original vectors, by splitting them on the index and treating each indexed value separately. Using dot product as an example, $sum_n=0^N (a_n * b_n)$ the inner term of the definition can be done concurrently.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:17
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
I was too late to edit: Using dot product as an example, $ c = sum_n=0^N (a_n * b_n)$ the inner term of the definition does not contain a term for $ c_N-n $ and fulfills the requirement. I'm going to accept the answer as I accept that the requirements do not properly apply in mathematics.
$endgroup$
– Ólafur Dagur Skúlason
Apr 3 at 6:31
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
$begingroup$
@ÓlafurDagurSkúlason: the case of the dot product is exactly my first thought, not at all the second. In your question there is a large ambiguity between the indexes of an array and the iteration number.
$endgroup$
– Yves Daoust
Apr 3 at 9:09
add a comment |
$begingroup$
Edit
Since I am unable to delete this answer because it has been accepted, I'm going to say that there appears to be no standard way to write what you want, as all functions of the natural numbers (and likely other sets of numbers) can be written using a recursive defintion. You might as well just write it out in English or define the class of functions that can be calculated without depending on previous terms in the sequence in the paper.
$endgroup$
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
|
show 3 more comments
$begingroup$
Edit
Since I am unable to delete this answer because it has been accepted, I'm going to say that there appears to be no standard way to write what you want, as all functions of the natural numbers (and likely other sets of numbers) can be written using a recursive defintion. You might as well just write it out in English or define the class of functions that can be calculated without depending on previous terms in the sequence in the paper.
$endgroup$
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
|
show 3 more comments
$begingroup$
Edit
Since I am unable to delete this answer because it has been accepted, I'm going to say that there appears to be no standard way to write what you want, as all functions of the natural numbers (and likely other sets of numbers) can be written using a recursive defintion. You might as well just write it out in English or define the class of functions that can be calculated without depending on previous terms in the sequence in the paper.
$endgroup$
Edit
Since I am unable to delete this answer because it has been accepted, I'm going to say that there appears to be no standard way to write what you want, as all functions of the natural numbers (and likely other sets of numbers) can be written using a recursive defintion. You might as well just write it out in English or define the class of functions that can be calculated without depending on previous terms in the sequence in the paper.
edited Apr 1 at 18:13
answered Apr 1 at 14:07
AlgorithmsXAlgorithmsX
4,1451828
4,1451828
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
|
show 3 more comments
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
2
2
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I'm concerned that this may not answer the question. A function from the naturals could be given a self-referential definition (like the standard recurrence for the Fibonacci numbers) or not (like Binet's formula for the Fibonacci numbers), so I don't think your proposal can distinguish the sort of thing the OP was asking about.
$endgroup$
– Mark S.
Apr 1 at 17:07
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
I see that now. Do you have any suggestions? I cannot find anything, as you can define everything as a recursive function. Is there a complexity class that contains nonrecursive computable problems?
$endgroup$
– AlgorithmsX
Apr 1 at 17:26
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
The question is not if the function can be computed at all. It is about data dependencies in the computation algorithm.
$endgroup$
– Yves Daoust
Apr 1 at 17:53
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
$begingroup$
@YvesDaoust I understand what the question is about, but I cannot imagine that he would want a noncomputable function for his paper.
$endgroup$
– AlgorithmsX
Apr 1 at 18:04
1
1
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
$begingroup$
@AlgorithmsX: the question has nothing to do with computability.
$endgroup$
– Yves Daoust
Apr 1 at 18:11
|
show 3 more comments
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3170633%2fis-there-a-notation-for-defining-if-a-function-is-recursively-defined%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
$begingroup$
As far as I know, there's no notation for this, because "what terms a function's definition has" are not inherently part of the function. You can define many functions either with or without recursion, and they're the same function either way -- so this isn't really a meaningful notion in mathematics.
$endgroup$
– Deusovi
Apr 1 at 17:33
1
$begingroup$
I do want to point out that it is a meaningful notion in Computer Science because if a function can only be calculated recursively, it cannot be parallelized, which generally means computational complexity increases massively. Calculating Fibonacci using the $F_n=F_n-1+F_n-2$ definition runs in $O(left(frac43right)^n)$ time, while dynamic programming runs in $O(n)$ time (which is slightly recursive), while Binet's formula/matrix exponentiation can run in $O(log n)$ time using a completely nonrecursive formula.
$endgroup$
– AlgorithmsX
Apr 1 at 17:40