I conceptually understand a result, but not its mathematical implementation – how can I defend using it?

When it comes to applying mathematical results, it is the norm that you do not understand all the nuts and bolts of what you are applying. This is nothing to be ashamed of. Instead, it’s the only way that modern science can work – it is too vast and intertwined to be understood in its entirety by one person. The crucial part is that there is a clear interface between theory and application where everything is communicated clearly.

To give an illustrative example: I recently wrote a paper where I derive some rules for building ecological models from basic principles. I did my best to describe said principles as well as the rules and their consequences so that those applying my work can use them. However, I expect that the vast majority of my readership cannot understand the mathematical proofs that go in between. I must expect that they treat this as a black box. On the other hand, in order to perform my proofs, I in turn relied on theorems whose proofs I did not understand. Mathematical theorems are great interfaces. They give you some statement of the form: “If X, then Y.” You only need to understand the statements X and Y, but you do not understand why one implies the other. That’s what mathematicians are for. On the other hand, the mathematicians who proved the theorems I use have no particular expertise in ecology as far as I know.

Now, there may not always be a clear interface. In that case, I suggest to create one yourself (and not only for yourself but also for your readers): Write a passage for your thesis that describes what you understand and need the tool to do. Then back up everything with references from the relevant publications and documentation. If necessary, ask the authors again.


Imho what matters is whether understanding the theoretical background is crucial for your own research: for instance if your research focuses on analyzing the outcome of this system in a new context, then you're just using this system as a tool in your research. Obviously it's always better to understand the tools you use very well, but you probably don't need to be able to re-implement their tool for using it correctly. On the other hand if your research goal is for instance to modify this system for a new application, then clearly you must acquire an in-depth understanding of it.