as an engineer, a lot of languages (even proprietary ones) have a built-in constant pi variable because it is so ubiquitous - its easier and more readable to use pi than 3........
Science Memes
Welcome to c/science_memes @ Mander.xyz!
A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.
Rules
- Don't throw mud. Behave like an intellectual and remember the human.
- Keep it rooted (on topic).
- No spam.
- Infographics welcome, get schooled.
This is a science community. We use the Dawkins definition of meme.
Research Committee
Other Mander Communities
Science and Research
Biology and Life Sciences
- !abiogenesis@mander.xyz
- !animal-behavior@mander.xyz
- !anthropology@mander.xyz
- !arachnology@mander.xyz
- !balconygardening@slrpnk.net
- !biodiversity@mander.xyz
- !biology@mander.xyz
- !biophysics@mander.xyz
- !botany@mander.xyz
- !ecology@mander.xyz
- !entomology@mander.xyz
- !fermentation@mander.xyz
- !herpetology@mander.xyz
- !houseplants@mander.xyz
- !medicine@mander.xyz
- !microscopy@mander.xyz
- !mycology@mander.xyz
- !nudibranchs@mander.xyz
- !nutrition@mander.xyz
- !palaeoecology@mander.xyz
- !palaeontology@mander.xyz
- !photosynthesis@mander.xyz
- !plantid@mander.xyz
- !plants@mander.xyz
- !reptiles and amphibians@mander.xyz
Physical Sciences
- !astronomy@mander.xyz
- !chemistry@mander.xyz
- !earthscience@mander.xyz
- !geography@mander.xyz
- !geospatial@mander.xyz
- !nuclear@mander.xyz
- !physics@mander.xyz
- !quantum-computing@mander.xyz
- !spectroscopy@mander.xyz
Humanities and Social Sciences
Practical and Applied Sciences
- !exercise-and sports-science@mander.xyz
- !gardening@mander.xyz
- !self sufficiency@mander.xyz
- !soilscience@slrpnk.net
- !terrariums@mander.xyz
- !timelapse@mander.xyz
Memes
Miscellaneous
And then you’re using C++ and they scold you for including cmath for just M_PI because it increases compilation times.
We're talking about engineers here! We're using MATLAB or Python if we're programming at all.
Your not writing regular python code, your writing a special subset of python intended for engineers and scientists called "bad python code"
My code is not intended to be run by any idiots but myself! Anyways why can't i make sense of what i have written just a month ago?
As a comp sci that interacts a lot with engineers, I feel this in my soul.
You can't say that for all engineers. I'm one and the biggest part of my job is programming in C++
Just wanted to say something similar. Any low latency high frequency code is written in c++, c or assembler. And that’s engineers work usually.
As they should, if that's the only thing you are using it for, don't introduce a whole header file, just put the following in the constants.h or equivalent that the proj for sure has:
#define M_PI 3.14159265358979323846264338327950288
Yes, it's literally what math.h has defined.
I've also never seen a fellow engineer simplify pi to just 3, although I have seen a rise of memes from people who think they do.
I would slap someone if I saw them try that, it's unnecessarily sloppy. 3.14 is the default, and trivial to work with if you're using a calculator (I would also slap someone if I saw them not using a calculator). Unless you just LIKE having all your calculations be off by almost 5%. Then you'll come back wondering why so many of your parts are out of tolerance.
They do? Why not provide some explanation?
Astronomy often has pretty high error bars on their measurements (distance, size of stuff, etc).
In astronomy, the important part of the number is often just how big it is (that is, the exponent). Multiplying by pi doesn't change much in that.
The explanation is in the title.
It isn't an explanation
Somebody else already said it, but that's what the title is.
Longform: a lot of calculations that happen in astro deal with distances so large so large that only order of magnitude changes actually meaningfully affect the end result. To connect to a more common topic, here's a joke.
"Whats the difference between a million dollars and a billion dollars?"
"About a billion dollars"
This joke works for the same reason; 1 billion is so many orders of magnitude larger than 1 million that (1,000,000,000 - 1,000,000 = 1,000,000,000) is only incorrect by ~0.1%, even though substituting 0 for 1 million in that equation seems ridiculous on the face of it
Also how you get classical physics from relativity.
38 digits of pi can get the circumference of the visible universe to within a single hydrogen atom.
10 digits gets the diameter of the earth to within an inch.
Thank you for subscribing to Daily Spacey Math Facts
out of curiosity... does that first fact account for the continued expansion of the universe?
It works at the current 93 billion light years of observable universe (46ish in every direction)
And just two digits introduces less error than your average terrible model
Wow, what do you have against models? I mean, I know that the trope is that they aren't very smart, but the same trope applies to firemen, so why pick on models?
old man voice this must be that ragebait thing the youngsters are always talking about
The real comment mvp. You deserve every positive vote my post got
10 digits gets the diameter of the earth to within an inch.
Put another way, 10 digits means that your error will be caused by your imprecise model of the Earth's shape, rather than imprecision in the value of pi.
As an Astrophysicist, I have never seen anybody use pi=1, you just leave the character, it's anyway better to read, is not like you do any calculations by hand anyway. More common is c=hbar=kB=1, but that is not an approximate, is a gauge in another unit system. Also... Astronomy is not astrophysics...
As an astrophysicist, can you read me my horoscope? I'm a scorpion
Sure, give it to me, I can read it for you.
"is not like you do calculations by hand anyway"
... get off my lawn, whippersnapper.
I heard once π²=10 is fairly accurate approx and thus g=π²=10 in astrophysics where people thinks in order of magnitude, not value.
But my engineering ass is telling assumptions with larger than 50% difference from actual value may cause issues on order of magnirude and isnt it better be like 5=1/2×10?
That's because your engineering ass needs things to be physical and sane. Physics is a field for the mentally unwell to sink further into insanity while incoherently scribbling greek letters on every available flat surface.
On a more serious note, yeah you absolutely have to be careful about where you apply really ambitious simplifications like that. There are plenty of mathematical regimes where you can use natural units (this is the term to look up if your interest extends further) and simplify your reference frame by a hell of a lot though. Setting the speed of light to 1 is also a hell of a drug, and brother I've got an addiction
Computer science: pi is O(1)
Is it actually? I'll admit im pretty rusty on time complexity, but naively I'd think that pi being irrational would technically make even reading or writing it from memory an undecidable problem
If you're trying to calculate it, then it's quite difficult.
If you just want to use it in a computer program, most programming languages have it as a constant you can request. You get to pick whether you want single or double precision, but both are atomic (a single instruction) on modern computers.
Do said atomic instructions produce pi though, or some functional approximation of pi? I absolutely buy that approximate pi is O(1), but it still seems like a problem involving a true irrational number should be undecidable on any real turing machine
What would be the "n" in that Big O notation, though?
If you're saying that you want accuracy out to n digits, then there are algorithms with specific complexities for calculating those. But that's still just an approximation, so those aren't any better than the real-world implementation method of simply looking up that constant rather than calculating it anew.
The "true value of pi" is too large for any computer to store. Our current understanding of numbers says it's an infinite number of digits. On the other hand, any number you use to multiply with pi is far less than an infinite number of digits. So you get the correct answer, with no worse precision than your input value, using the approximations of pi.
It all depends on the precision you need. You could use an infinite series to get to the precision needed but for most use-cases it’s just a double baked into the binary itself, hence O(1)
It's usually a constant (or several ones with varying degrees of accuracy and size)
It's a number and complexity refers to functions. The natural inclusion of numbers into functions maps pi to the constant function x -> pi which is O(1).
If you want the time complexity of an algorithm that produces the nth digit of pi, the best known ones are something like O(n log n) with O(1) being impossible.
As a retired mechanical engineer, the joke is that we don't really remember the value of Pi, but we think it's somewhere around 3. But maybe we should use 4 just to be safe.
In any case, I have to remember 3.14 because one of my Daughters was born on Pi Day. Which, according her, is the second most important day of the year, just right behind Christmas Day, when she was growing up. So when she got into high school that meant that we had to bring enough pie to be served in each of her math classes on that day. (Oddly enough she prefers cheese cake over pie on her Birthday).
Now I'm not saying being born on Pi Day influenced her life any, but she has a PhD in Mech Engineering.
You sound like an involved and caring father. Rock on, dude
Good news for her. Cheese cake is a pie not a cake.
This made my day.
Solidifies my preference for pie over cake
Theres a YouTube video where the presenter demonstrates DOOM running (or not) with varying values of Pi that's quite interesting: Non Euclidean DOOM
Using 1 is fun. That means the circumference of a circle is equal to its diameter.
38 digits of pie gives youv an error of less then a hydrogen atom in the circumference of the known universe.
https://www.jpl.nasa.gov/edu/news/how-many-decimals-of-pi-do-we-really-need/
Electrical engineer. Never used 3. Always 3.14. don't really get the joke.