What specific software development tasks have you used math for? And what branch of mathematics did you use?

I'm not looking for a general discussion if math is important or not intended for programming .

Instead, I'm looking for real-world scenarios where you actually used some branch of mathematics to solve a particular problem during your career as a software developer.

In particular, I am looking for specific examples.

+4
source share
19 answers

I often find that De Morgan's theorem , when and the general Boolean algebra when trying to simplify conditional expressions

I also sometimes wrote truth tables to check for changes, as in the example below (found during a recent code review)

( showAll and s.ShowToUser are both bool types.)

 // Before (showAll ? (s.ShowToUser || s.ShowToUser == false) : s.ShowToUser) // After! showAll || s.ShowToUser 

I also used some basic trigonometry with a right angle several years ago when working on some simple graphics - I had to rotate and center the text line along a line that can be at any angle.

Not revolutionary ... but, of course, mathematics.

+5
source

Linear algebra for 3D rendering, as well as for financial instruments. Regression analysis for the same financial instruments as correlations between financial instruments and indices, etc.

+3
source

Statistics, I had to write several methods for obtaining statistical values, such as F Probability Distribution , Pearson product time coefficient and some correlations of linear algebras, interpolation and extrapolation to implement Arbitration pricing theory for pricing and asset stocks.

+3
source

Discrete mathematics for all, linear algebra for 3D, analysis for physics, especially for calculating the properties of mass.

+2
source
  • [Linear Algebra for Everything]
  • Projective geometry for camera calibration
  • Time Series Identification / Statistical Filtering for Sound and Image Processing.
  • (I think) basic mechanics and therefore calculus for game programming
+2
source

Calculating cache sizes to optimize performance. Not as easy as it sounds when it's your critical path, and you need to go back and work out the time saved with the cache regarding its size.

+1
source

I used analytic geometry for a simple 3D engine in opengl in a high school hobby project. I used some geometry calculations for dynamic print reports, where there was another 90 ° tilt angle than. A year ago, I used some derivatives and integrals to analyze the store (the movement of goods in the store).

Bot all calculations can be found on the Internet or in high school.

+1
source

I do medical imaging, and I use mainly linear algebra and basic geometry for everything related to the 3D display, anatomical measurements, etc.

I also use numerical analysis to process real noise data, as well as many statistics to prove algorithms, design support tools for clinical trials, etc.

+1
source

Games with trigonometry and AI with graph theory in my case.

+1
source

Graph theory to create a weighted graph to represent all possible paths between two points, and then find the shortest or most efficient path.

+1
source

Also statistics for plotting and calculating risk. I used both the normal distribution and the cumulative calculations of the normal distribution. Quite often used functions in Excel, I would have guessed, but I myself had to write them myself, since there is no built-in support in .NET libraries. Unfortunately, the built-in support for Math in .NET looks pretty simple.

+1
source

I used trigonometry the most, as well as a small number of calculi, working on overlays for GIS software (matching), comparing objects in three-dimensional space and transforming coordinate systems.

A general mathematical understanding is very useful if you use third-party libraries to perform calculations for yourself, since you need to evaluate their limitations.

+1
source

I often use mathematics and programming together, but the goal of my work is mathematics, so use it to achieve this goal. as for the math that I use; mainly Calculus (FFT that analyzes continuous and discrete signals) with a slash of linear algebra (CORDIC) to execute a trigger on the MCU without a floating point chip.

+1
source

Statistics means the standard deviation for our analysts.

Linear algebra - in particular, the exception of the Gaussian Jordan and

Calculus - derivatives in the form of difference tables for generating polynomials from the table (x, f (x))

+1
source

Linear algebra and complex analysis in electronic technology.

Statistics when analyzing data and translating them into other units (different projects).

+1
source

I used probability and logarithmic coefficients (a log of the relationship of two probabilities) to classify incoming letters into many categories. Most of the hard work was done by my colleague Fidelis Assis.

+1
source

Real world scenarios: better recruitment, more efficient flight planning, shortest paths in road networks, optimal location of facilities / resources.

Field of Mathematics: Operations Research . A vague definition: build a mathematical model of a (usually complex) real-world business problem, and then use mathematical tools (e.g. optimization, statistics / probability, queuing theory, graph theory) to poll this model to help make effective decisions (e.g. , minimize costs, maximize efficiency, predict results, etc.).

+1
source

Statistics for the analysis of scientific data, such as:

  • distribution calculation, z-standardization
  • Fishermen Z
  • Reliability (Alpha, Kappa, Cohen)
  • Difference analysis
  • scale aggregation, poling, etc.
+1
source

In real software development, I really used fairly trivial linear algebra, geometry, and trigonometry. Of course, nothing more advanced than the first college course in each subject.

However, I wrote many programs to solve really quite complex mathematical problems, using some very advanced mathematical ones. But I would not name any of these software developments, since in fact I did not develop software. By this, I mean that the end result was not the program itself, it was the answer. In principle, someone would ask me what is essentially a mathematical question, and I will write a program that would answer this question. A confident identifier supports the code when they ask me a question again, and sometimes I send the code to someone so that they can answer the question themselves, but this is still not considered software development. Sometimes someone took this code and re-implemented it in the application, but then they are involved in software development, and I do the math.

(Hope this new work started by Ive actually allows me both to see so well how it works)

+1
source

All Articles