Timeline for How did the Apollo computers evaluate transcendental functions like sine, arctangent, log?
Current License: CC BY-SA 4.0
43 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
S Mar 20, 2023 at 18:21 | history | mod moved comments to chat | |||
S Mar 20, 2023 at 18:21 | comment | added | called2voyage♦ | Comments have been moved to chat; please do not continue the discussion here. Before posting a comment below this one, please review the purposes of comments. Comments that do not request clarification or suggest improvements usually belong as an answer, on Space Exploration Meta, or in Space Exploration Chat. Comments continuing discussion may be removed. | |
Jun 27, 2022 at 21:06 | history | bounty ended | Starship | ||
S Mar 18, 2019 at 7:01 | history | edited | Nathan Tuggy | CC BY-SA 4.0 |
Better parentheses
|
S Mar 18, 2019 at 7:01 | history | suggested | Rodrigo de Azevedo | CC BY-SA 4.0 |
Fixed 2 minor LaTeX typos. Aligned a block of LaTeX for easier reading.
|
Mar 18, 2019 at 6:18 | review | Suggested edits | |||
S Mar 18, 2019 at 7:01 | |||||
Oct 9, 2018 at 3:51 | comment | added | Russell Borogove | @Uwe This page credits authors of individual AGC subprograms - while male-leaning, I see 5 likely-female names on the list. ibiblio.org/apollo | |
Oct 4, 2018 at 3:01 | comment | added | uhoh | @supinf algorithms are not perfect, and we can have 100% faith in their perfection until we are bitten once The optimize module offers a large number of very different algorithms to choose from, I think the next step would be to try several and see just how close their results are to each other, or in this case to test it analytically to see if it's at least a local maximum. Finite size of $x$ array could make it non-convex in a quirky way, the minimized function could be non-smooth (discontinuous gradient). | |
Oct 3, 2018 at 21:30 | comment | added | supinf | @uhoh Since the minimization problems are convex and there is also the message es'Optimization terminated successfully.' for resmrs and resmax, i was fairly confident in the results. Also maxiter and maxfev where not reached. But at least it is clear that the Apollo coefficients are much better than the Taylor coefficients | |
S Oct 1, 2018 at 19:02 | history | suggested | Peter Mortensen | CC BY-SA 4.0 |
Copy edited (e.g. ref. <http://en.wikipedia.org/wiki/Python_%28programming_language%29>).
|
Oct 1, 2018 at 18:33 | review | Suggested edits | |||
S Oct 1, 2018 at 19:02 | |||||
Oct 1, 2018 at 18:01 | comment | added | supercat | @E.P.: I hadn't thought of that, but I'd been curious how the function seemed to have such a wide useful range, since my own experience with Taylor series suggested that the useful range is much smaller. Accepting a loss of precision at points nearer zero, however, allows points further out to be much more accurate. | |
Oct 1, 2018 at 14:16 | comment | added | E.P. | The choice of $C$ as a constant is a moderate hint that the polynomial in question isn't a Taylor expansion, but rather a quadrature expansion in Chebyshev polynomials or something similar. | |
Sep 30, 2018 at 19:47 | vote | accept | uhoh | ||
Sep 30, 2018 at 4:34 | comment | added | uhoh | @supinf the pastebin (rhymes with waste bin) script was only a quick test. Minimization can be surprisingly tricky and I didn't take the time to look into it thoroughly, so I've walked your discussion about the results back somewhat. Thanks! | |
Sep 30, 2018 at 4:33 | history | edited | uhoh | CC BY-SA 4.0 |
walked back on some of the conclusions from the minimization script
|
Sep 30, 2018 at 3:39 | history | edited | supinf | CC BY-SA 4.0 |
added 2 characters in body
|
Sep 30, 2018 at 3:37 | comment | added | supinf | @uhoh So what they did was much better than Taylor approximation (@zch suggested this already). I have edited and also linked to your python code. Great Analysis - it shows that mean square error was more important to them than the maximal error. | |
Sep 30, 2018 at 3:29 | history | edited | supinf | CC BY-SA 4.0 |
use almost-Taylor instead of Taylor
|
Sep 29, 2018 at 22:04 | history | edited | peterh | CC BY-SA 4.0 |
edited body
|
Sep 29, 2018 at 14:21 | comment | added | Uwe | @Philip: This code was developed by a team of mostly men and few women led by Magaret Hamilton. She did not tell here if she was the only women in the team. | |
Sep 29, 2018 at 11:54 | comment | added | uhoh | @supinf indeed it seems the coefficients are optimized to give good results over ±π/2. A quick check gives nearly the same numbers as in the program, rather than the nominal values of a proper taylor expansion at x=0. pastebin.com/UnVudQs4 Very insightful answer by the way, thank you again! | |
Sep 28, 2018 at 13:23 | comment | added | zch | Taylor is based on derivatives in a single point, it is not a best (minimal max-error) fit over a range. So it is expected that similar, but different polynomial would be used. | |
Sep 28, 2018 at 11:43 | comment | added | Philipp | @MagicOctopusUrn The Brogrammers among us who claim that "girls can't code" should take note that this code was developed by a woman. | |
Sep 27, 2018 at 18:19 | comment | added | supercat | Might some of the instructions near the start have been truncating 2x to the range +/-1 and then inverting if that wraps? If so, the behavior of cos() would have been clean for any angle. | |
Sep 27, 2018 at 15:55 | comment | added | Uwe | "I hope they never had to calculate the cosine for a value ≥ π/2." It is not necessary using the relation cos(π - α) = -cos(α). Using this and similar relations, only the range 0 ≤ α ≤ π/4 has to be computed. These transformations may be used for sin, cos, tan and cot. There may be other functions within the Apollo 11 code using these transformations when bigger arguments are possible. | |
Sep 27, 2018 at 14:19 | history | edited | supinf | CC BY-SA 4.0 |
added 662 characters in body
|
Sep 27, 2018 at 13:28 | history | edited | supinf | CC BY-SA 4.0 |
deleted 4 characters in body
|
Sep 27, 2018 at 13:19 | history | edited | supinf | CC BY-SA 4.0 |
added 158 characters in body
|
Sep 27, 2018 at 13:13 | comment | added | SF. | On topic: error graph. Maximum error within the domain would be around 0.0001 | |
Sep 27, 2018 at 13:13 | comment | added | Christoph | I found that information in the Virtual AGC Programmer's Manual. | |
Sep 27, 2018 at 13:07 | comment | added | supinf | @uhoh: The scaling issues are fixed now, and i included plots to compare the function with the approximation. It seems to fit for some values. | |
Sep 27, 2018 at 13:06 | history | edited | supinf | CC BY-SA 4.0 |
add cosine plot
|
Sep 27, 2018 at 13:02 | comment | added | supinf | @Christoph So I assume that it was a fixed point representation and not floating point, correct? Also, do you have a link that i can add to the answer (or you can edit)? | |
Sep 27, 2018 at 12:59 | history | edited | supinf | CC BY-SA 4.0 |
add plot
|
Sep 27, 2018 at 12:45 | comment | added | Christoph | The scaling is due to the fact that single precision could only store value from -1 to +1 :). Precision is around 13 bits which fits the single precision type (16 bits one of which is the sign bit and one was a parity bit not accessable to software). | |
Sep 27, 2018 at 12:42 | history | edited | supinf | CC BY-SA 4.0 |
added 401 characters in body
|
Sep 27, 2018 at 12:35 | comment | added | supinf | I'm on it... i think it has to do with scaling. | |
Sep 27, 2018 at 12:21 | history | edited | supinf | CC BY-SA 4.0 |
added 313 characters in body
|
Sep 27, 2018 at 12:10 | history | edited | supinf | CC BY-SA 4.0 |
code explanation
|
Sep 27, 2018 at 11:33 | comment | added | supinf | I am reading into it, but it is not easy because i am not familiar with the programming language. At first glance it looks like a taylor approximation, but i am not sure. I will edit when i have more. | |
Sep 27, 2018 at 11:30 | review | First posts | |||
Sep 27, 2018 at 13:01 | |||||
Sep 27, 2018 at 11:27 | history | answered | supinf | CC BY-SA 4.0 |