According to a Wikipedia article on the subject, in Herbert B. Enderton's book Computability: An Introduction to Recursion Theory (2011), even if nowhere else (no other reference is given, and I've never seen the usage):
Answer from Calum Gilhooley on Stack ExchangeIf
is a partial function on
and
is an element of
, then this is written as
and is read as "
is defined."
If
is not in the domain of
, then this is written as
and is read as "
is undefined".
According to a Wikipedia article on the subject, in Herbert B. Enderton's book Computability: An Introduction to Recursion Theory (2011), even if nowhere else (no other reference is given, and I've never seen the usage):
If
is a partial function on
and
is an element of
, then this is written as
and is read as "
is defined."
If
is not in the domain of
, then this is written as
and is read as "
is undefined".
I have never seen such a symbol. I don't think it would be very useful, and it might make unexperienced people less aware that they are dealing with an undefined entity, and start doing calculations with it getting meaningless results.
Listing undefined symbols of a MathNode
What is "undefined"?
c - Undefined reference to sqrt (or other mathematical functions) - Stack Overflow
Does not exist vs. Undefined?
What are the 4 undefined terms in geometry?
What does it mean when expression is undefined?
What is an example of an undefined expression?
According to a Wikipedia article on the subject, in Herbert B. Enderton's book Computability: An Introduction to Recursion Theory (2011), even if nowhere else (no other reference is given, and I've never seen the usage):
Answer from Calum Gilhooley on Stack ExchangeIf
is a partial function on
and
is an element of
, then this is written as
and is read as "
is defined."
If
is not in the domain of
, then this is written as
and is read as "
is undefined".
Videos
Okay, so this question came out of a question I had about how np.NaN behaves in the numpy python library. Apparently np.NaN is defined to behave like "undefined" in math, which leads to the counterintuitive - to me at least - result that np.NaN does not equal itself.
So
undefined != undefined...
We also know things like
x/0=undefined (or maybe we can't use equality here? x/0 *is* undefined?)
That means that we know some things about it...whatever it is. What branch of math do we use to learn things about "undefined"?
What kind of formal system does "undefined" belong to? Is it a theorem in ZFC set theory? Like is it some kind of set? Its not the "null" set right?
I hope I have made my profound ignorance on this subject clear enough, maybe someone here can meet me 99% of the way and help drag me toward the light.
You may find that you have to link with the math libraries on whatever system you're using, something like:
gcc -o myprog myprog.c -L/path/to/libs -lm
^^^ - this bit here.
Including headers lets a compiler know about function declarations but it does not necessarily automatically link to the code required to perform that function.
Failing that, you'll need to show us your code, your compile command and the platform you're running on (operating system, compiler, etc).
The following code compiles and links fine:
#include <math.h>
int main (void) {
int max = sqrt (9);
return 0;
}
Just be aware that some compilation systems depend on the order in which libraries are given on the command line. By that, I mean they may process the libraries in sequence and only use them to satisfy unresolved symbols at that point in the sequence.
So, for example, given the commands:
gcc -o plugh plugh.o -lxyzzy
gcc -o plugh -lxyzzy plugh.o
and plugh.o requires something from the xyzzy library, the second may not work as you expect. At the point where you list the library, there are no unresolved symbols to satisfy.
And when the unresolved symbols from plugh.o do appear, it's too late.
I suppose you have imported math.h with #include <math.h>
So the only other reason I can see is a missing linking information. You must link your code with the -lm option.
If you're simply trying to compile one file with gcc, just add -lm to your command line, otherwise, give some informations about your building process.