¿Cuáles son las aplicaciones de números complejos en ingeniería de software?

Hay muchos aspectos de “Big Data” y sistemas extremadamente complejos que exhiben problemas de ingeniería clásicos de estabilidad y metaestabilidad.

Como resultado, dichos sistemas de software podrían modelarse usando matemáticas similares que los ingenieros eléctricos y mecánicos usan para calcular la respuesta a eventos de choque, transitorios, etc.

Esas técnicas de modelado hacen uso de muchos aspectos de las matemáticas más avanzadas, incluido el plano complejo.

¿Se utilizan estas técnicas de modelado? Ahí no lo sé. No me sorprendería saber que hay personas en los laboratorios de Google que utilizan este tipo de técnicas, pero, una vez más, no me sorprendería saber que nadie las estaba utilizando como personas que trabajan en software moderno. Es posible que las empresas no hayan sido educadas en el modelado de ingeniería tradicional y, por lo tanto, ni siquiera saben que existen estas técnicas.

Los números complejos se utilizan mucho en ingeniería eléctrica. Por lo tanto, cualquier software que se ocupe de los cálculos de EE (como la Transformada de Fourier) deberá ocuparse del dominio complejo. Además, dado que las transformadas de Fourier se utilizan en algunos procesamientos de imágenes, hay otra.

Los números complejos están en el corazón de muchos tipos de fractales. Por ejemplo, ¿alguna vez has visto el Mandelbrot Set?

Esta imagen, que se puede ampliar infinitamente, es el resultado de una fórmula muy simple: [matemática] z -> z ^ 2 + c [/ matemática]. Tanto z como c son números complejos. En cada punto de la pantalla, que tiene un valor constante c, el valor de z comienza en c y luego se calcula a través de varias iteraciones: tome el valor actual de z, cuadre y luego agregue c, y luego verifique su valor absoluto . Si el valor absoluto excede 2 en cualquier iteración, se dice que el punto NO está en el conjunto de Mandelbrot. Si nunca ‘escapa’, entonces es parte del conjunto y, en la imagen de arriba, es de color negro. Los colores de la imagen se asignan en función de cuántas iteraciones se necesitan para escapar, y el algoritmo establecerá un número máximo de iteraciones por punto antes de asumir que nunca escapará.

La belleza de este algoritmo es que, como puede ver insinuado en esta miniatura, el conjunto es infinitamente complejo. Puede acercarse a cualquier punto alrededor del borde visible del conjunto y ver infinitamente más detalles, incluidas las que parecen ser copias exactas del mismo conjunto visual incrustado en el interior del conjunto. No tiene fin, por lo general, los únicos factores limitantes son el nivel de precisión numérica y el tiempo de cálculo.

También hay miles de otros algoritmos de números complejos que no solo producen imágenes bonitas como esta, sino que de hecho pueden crear universos enteros de información, por ejemplo, los quintillones de planetas en No Man’s Sky, incluso si el juego fue decepcionante en muchos sentidos, Los algoritmos fractales utilizados para generar su universo son un buen ejemplo de este tipo de matemáticas en acción.

Se puede usar en cálculos científicos, procesamiento de señales digitales y muchos más

More Interesting

¿Necesito saber ingeniería de software para hacer una contribución significativa al aprendizaje profundo?

¿Son iguales los ingenieros de software de Amazon y Addepar?

¿Qué puede proponer alguien sobre cómo construir un trabajo independiente o de negocio propio para un ingeniero de software?

¿Cuál es un mejor lugar para migrar como ingeniero de software de India, Suecia o Auckland, Nueva Zelanda?

¿Qué define a un gran programador?

¿Cómo es ser ingeniero de software en Singapur?

¿Puedo seguir siendo ingeniero de software si me especialicé en matemáticas en una de las 10 mejores universidades públicas?

He decidido ser ingeniero de software. ¿Es una buena decisión?

¿Cuál es la diferencia entre un ingeniero de software y un analista de sistemas?

Si usted es un programador profesional, ingeniero de software o desarrollador, ¿en qué medida su trabajo se ajusta al estereotipo de programación como una búsqueda solitaria? ¿En qué medida desafía el estereotipo al involucrar una gran cantidad de comunicación y colaboración con otros?

He estado programando durante 2 meses y tengo un ingeniero de software altamente experimentado dispuesto a guiarme regularmente. ¿Cómo puedo utilizar mejor su ayuda?

¿Cuál ha sido la experiencia de algunos ingenieros de software indios en trabajar desde casa a través de Crossover?

Cómo salvar mi espalda baja si soy ingeniero de software

Equipos de desarrolladores remotos: ¿Cómo comparte información sobre las funciones recientemente implementadas?

¿Cómo se comparan las API relajantes creadas con Django Rest Framework con las construidas en NodeJS?