Let $A$ be square.This question is a bit opinion based, unless there is a technical answer.I think it is helpful tho. Also this question is closely related to this question : quick way to check if a matrix is diagonalizable.
Based on the answers, there is no known way to determine diagonalizability as a map $A \mapsto$ $\{$True, False$\}$. (see also note)
This doesn't happen for invertibility (determinant measures that) or over reals/complex numbers, existence of perpendicualar diagonalization/ unitarily diagonalizable using $A = A^{t}$ or $A^*A = AA^*$ conditions.
My question is is there a reason why there is no known way to check diagonalizability in general? I guess people must have tried, although possibly a very hard task. But considering determinant is also really complicated function, yet motivatable why the above map have never been found explicitly$?$
Note: A simple answer would be its too hard, but a better answer would be what makes it a hard task. Like, is the theory of that map really not that connected to anything we know?
Note: I chose this formalism of map $A\mapsto\{0,1\}$ basically because I thought the term 'algebraic way' to determine is ambigious. I was looking for a explicitly writable function as a code in $A$ (i.e finite, and requiring only computation but not conditional arguments).
Note: Some conditional arguments in some algorithms can be written as a computation (if $x>0$: return $x$ else return $0$ could be explicitly written as max($0,x$) but if algebraic multiplicity $>1$ is not possible explicitly). I admit it is rather hard to formalize, but it is enough to check if there is a polynomial or continuous function in $A$ when equal to $0$ determines diagonalizability.