ALGOL

ALGOL

Si cargas elbiblioteca de matemáticas bcobtienes las funciones trigonométricas s()y c()que a()son seno, coseno y arcotangente respectivamente. ¿Por qué estas tres funciones?

Sé por qué son esos tres desde la perspectiva matemática: es porque esos son los tres que necesitas traducir directamente entre coordenadas cartesianas y polares. Soy profesor de matemáticas y, lamentablemente, este es el único lugar donde he visto el seno/coseno/arctangente establecido como el conjunto deprimitivofunciones trigonométricas, así que esperaba que alguien pudiera decirmepor quéen un contexto más histórico. No sé, sobre todo necesito munición cuando hablo con profesores de matemáticas sobre por qué no es una idea blasfema presentar la arcotangente a los estudiantes antes que la tangente.

Respuesta1

No es una respuesta completa, pero quizás algo útil.

Más de una lista de ejemplos de uso de funciones trigonométricas en adaptaciones tempranas. También una mirada al mundo UNIX.


ALGOL

Interesante artículo sobre la historia:

ALGOL fue desarrollado en los años 50. En una reunión conjunta entre científicos informáticos europeos y americanos en 1958 - donde también se obtuvoInforme preliminar sobre el lenguaje algorítmico internacionaltambién conocido como El Informe Zurich. En aquella época el trabajo era unificar la notación y cómo se escriben algoritmos para computadoras.Como extracto del informe 58'para mostrar algunos de losdiscusiónen ese sentido:

“Los identificadores que designan funciones, al igual que en el caso de las variables, pueden elegirse según el gusto. Sin embargo, ciertos identificadores deben reservarse para las funciones estándar de análisis.

Esta lista reservada debe contener:

abs (E) para el módulo (valor absoluto) del valor de la expresión E
signo (E) para el signo del valor de E
entero (E) para el número entero más grande que no sea mayor que el valor de E
sqrt (E) para la raíz cuadrada del valor de E
sin (E) para el seno del valor de E
y así sucesivamente según la notación matemática común”.


De ALGOL 58 se obtuvo ALGOL 60 donde, quizás, se pueda decir que el trabajo también es más concreto sobre qué tener como básico (en lo que respecta a las funciones trigonométricas:

http://web.eecs.umich.edu/~bchandra/courses/papers/Naure_Algol60.pdf

Informe sobre el lenguaje algorítmico ALGOL 60.

En definitiva recomienda que sin, cosy arctancomo funciones estándar.


ALGO

Si nos fijamos en las instalaciones que realizan matemáticas en la era digital, una de las primeras máquinas fue la computadora Bendix G-15 (finales de la década de 1950). Utiliza ALGO que fue influenciado por ALGOL 58. Tiene una biblioteca que no forma parte del sistema Algo. Las rutinas en la biblioteca son las siguientes, SIN, COS, ARCTN:

Rutinas de la biblioteca ALGO

Para utilizar estas rutinas se cargó usando palabras clave:

SIN    0101000
COS    0168000
ARCTN  0164000

Cargado como por ejemplo:

LIBRAry SIN{0101000}

como dice

"Se pueden agregar rutinas de lenguaje de máquina a la biblioteca"., pero estos tres eran los que estaban incluidos en la biblioteca. (También usa sexadecimal para hexadecimal, pero eso no es el punto aquí, pero es divertido).


UNIX

Versión 1de UNIX incluidobas, un dialecto de básico (propiedad de Thompson). Incluía las siguientes funciones integradas : arg, exp, log, sin, cos, atn, rndy expr.int

Versión 2También tenía basy además uno encuentra una lista de subrutinas donde lista entre otras: atan, hypot, log, sin(seno/coseno). También venía incluido con dc.

También existe bc, pero eso fue para compilar el programa B.

También vale la pena mencionar: ttt(tic-tack-toe), bj(black-jack), moo(el juego de MOO).

Versión 5. Si uno quiere ver el código fuente de sin/cos, atanetc., puede, por ejemplo,mira este codigo:

  • Subrutinas:usr/source/s3/{atan.s,sin.s}
  • Incorporaciones BÁSICAS:usr/source/s1/bas4.s

¡NÓTESE BIEN!Los archivos en, por ejemplo, 1972-stuff (s2) tienencaminos absolutos!


El mathlib que se encuentra en V7 se amplió para incluir tan, etc.

También incluye Fortran77.


antes de Cristo

BC vio la luz allá por 1975 y, como se señaló en la pregunta, también incluye estos tres métodos básicos. Desarrollado por Robert Morris y Lorinda Cherry. Desde /usr/doc/bc/bcla versión V6 (1975):

3.Hay una biblioteca de funciones matemáticas que se pueden obtener escribiendo en el nivel de comando

bc –l

Este comando cargará un conjunto de funciones de biblioteca que, al momento de escribir este artículo, consta de seno (llamado `s'), coseno (`c'), arcotangente (`a'), logaritmo natural (`l'), exponencial (`e') y funciones de Bessel de orden entero (`j(n,x)'). Sin duda, se añadirán más funciones con el tiempo. La biblioteca establece la escala en 20. Puedes restablecerla a otro valor si lo deseas. El diseño de estas rutinas de biblioteca matemática se analiza en otra parte [4].

  • [4]Roberto Morris,Una biblioteca de subrutinas matemáticas estándar de referencia,

ese papelSin embargo, parece bastante difícil de encontrar.

Entonces, según los listados, parece que las funciones trigonométricas básicas formaban parte del sistema desde la V1. bcLos utilizó en la rutina de carga.


Notas de Unix Heritage Wiki(cc)

Roberto Morris

La vida con Unix dice: Escribí dc y estuve con Lorinda Cherry.

Un lector de Research Unix dice: Bob (Robert) Morris intervino en todos los aspectos relacionados con las matemáticas, ya fuera análisis numérico o teoría de números. Bob inventó las utilidades distintivamente originales typoy dc( bccon Lorinda Cherry),escribió la mayor parte de la biblioteca de matemáticasy escribió números primos y factores (con Thompson). Su serie de programas de criptas fomentó el continuo interés del Centro por la criptografía.

Lorinda Cereza

La vida con Unix dice: Writer del Writer's Workbench (dicción, estilo, etc.), be y dc. Escribió eqncon bwk.

Un lector de Research Unix dice: Lorinda L. Cherry colaboró ​​con Morris en dc- bcy typo. Siempre fascinada por el procesamiento de textos, Lorinda inició eqne inventó partes, un analizador aproximado que se explotó en el célebre Writer's Workbench®, ww6(v8).


Elliot 803

Por supuesto, no es así que uno no tenga sistemas que implementen más funciones, o quizás no las tenga como funciones principales. Pero eso es historia... :P

Adiciones Elliot 803

Adiciones Elliot 803:

arccos, arcsin, tan- que sonadiciones a sin, cos,arctan.


FORTRAN

FORTRAN 1958


BÁSICO

BASIC nacido en 1964 tiene SIN, COS,TANy ATN.

DISPOSITIVO BÁSICO

Manual BÁSICO (1964)

Según comentario de@roaima.

La mayoría de los dialectos de BASIC utilizados en las computadoras domésticas (alrededor de 1975 en adelante) también tenían SIN, COS, TAN, ATN (arctan). No hay otras inversas. Supongo que se incluyó TAN para minimizar el límite de error cuando se usa SIN/COS porque todas estas funciones trigonométricas se generaron a través de una tabla de búsqueda bastante pequeña.

APOLO 11

ElCódigo fuente para el módulo lunar y de comando APOLLO 11.demostrar que tenían al menos una subrutina paraARCTAN

Se puede argumentar que lograron aterrizar en la luna sin una subrutina TAN;)

CORDICO

CORDIC (algoritmo de Volder)es una mención digna de mención cuando se trata de implementación trigonométrica.


Estadísticas

Una interesante adición de@Stephen Kitt, de comentarios:

Otro artículo interesante esEstadísticas sobre el uso de subrutinas matemáticas de la biblioteca de un centro de cómputo, publicado en 1973, que indica que, en Purdue a principios de 1973, sen/cos/atan eran las funciones trigonométricas más utilizadas, bastante por delante de tan/asin/acos/tanh.:

sin  / cos    39,462
atan          27,248

tan            4,707
asin / acos    4,139
tanh           2,546

Bucear

No unbucear profundo, pero al menos un poco más sobre el tema. El artículo de ALGOL es quizás el más acertado.

En cuanto a BC fuesin encontrar una cotización directauna decisión de Morris / Cherry de incluir estas funciones básicas específicas cargándolas desde la biblioteca mediante la -lopción.


En resumen, no es que uno nodesearpor ejemplo tan, pero el historial muestra qué funciones trigonométricas se eligieron implementar como base, a la luz de los recursos y el uso.

información relacionada