Standing on the Shoulders of AI: The Future of Mathematics

Recently, there has been a lot of discussion about AI solving open problems in mathematics. With the recent advances in mathematical reasoning by AI systems, some mathematicians have raised concerns about the future of mathematical research and the changing role of human mathematicians.

I understand these concerns, but I think we should look at the situation differently. The purpose of mathematical research is not simply to keep mathematicians occupied with unsolved problems, but to advance our mathematical knowledge and understanding. If AI can help us achieve this, why should we consider it a problem?

Solving problems versus understanding mathematics

There is an important distinction between solving a mathematical problem and understanding the mathematics behind its solution.

Suppose an AI system produces a correct proof of a conjecture that has remained open for decades. The problem is now solved, but this does not necessarily mean that we understand the proof or the mathematical ideas involved.

We can still investigate why the proof works, whether it can be simplified, whether the methods can be generalized, and what other mathematical results follow from it. We could also try to find another proof.

In fact, I think understanding AI-generated mathematical results could become an interesting research direction in itself.

Of course, we must first verify that the proofs are correct. AI systems are still capable of making mistakes, and mathematical rigor should not be compromised.

Are we going to run out of problems?

Mathematics is infinite in scope. There is no reason to believe that we will eventually exhaust all interesting mathematical questions.

Throughout history, new mathematical theories have introduced new concepts and consequently new questions.

Even if AI is capable of solving problems much faster than humans, we might find ourselves exploring mathematical structures that were previously beyond our reach.

Perhaps AI will also help us formulate new questions that we would otherwise never have considered.

An opportunity for independent research

As someone who conducts mathematical research independently alongside my regular job, I find these developments particularly exciting.

AI provides an opportunity to explore unfamiliar mathematical subjects, examine possible approaches to problems, and learn concepts that might otherwise require considerable time and effort.

This does not eliminate the need for independent mathematical thinking. On the contrary, being able to critically examine the results is essential.

I don't see AI as something I need to compete against. I see it as a tool that could help me become a better mathematician.

Ultimately, I think we should focus less on whether AI will outperform or replace mathematicians, and more on what we can learn and discover with its help.

I would be particularly interested in discussing these questions with other mathematicians, especially those who are exploring the use of AI in mathematical research. How can we extract new mathematical insights from AI-generated proofs? Can understanding these proofs lead to new methods, theories, or even entirely new research problems?

After all, humans developed AI in the first place, and that turned out to be a remarkable achievement. Who knows what we might develop next by standing on the shoulders of AI?

From Symmetry to Computable Block Diagonalization

I’m happy to share that my new mathematics preprint is now available on arXiv:

Uniform Computability of Isotypic Block Diagonalization for Finite-Group Representations

The question behind the paper is simple to state:

Can additional mathematical structure turn a problem that is not computable in general into one that is computable?

In numerical linear algebra, we often exploit symmetry to transform a whole class of matrices into a simpler block-diagonal form. In computable analysis, however, even basic quantities such as the rank of a real matrix can fail to be computable when the matrix is given only through arbitrarily accurate approximations.

In this paper, I show that for matrix classes arising from finite-group symmetries, the group structure provides enough discrete information to overcome this obstruction and uniformly compute the relevant isotypic block decomposition.

The paper also connects this construction with structured QR and QX factorizations, including the centrosymmetric case that I worked on previously.

Preliminary results from this work were presented at CCA 2026 in Trier.

arXiv: 2610.02547
https://arxiv.org/abs/2610.02547

Summer School on Quantum Algorithms and Quantum Error Correction at CWI Amsterdam

Last week, during my vacation, I attended a research summer school in Amsterdam on QA and QEC. I found it quite interesting and informative. One main takeaway was the characterisation of a quantum computer as "a machine that most of the time performs quantum error correction and then a little bit of computation". Even if crypto-relevant quantum computers somehow never see the light of day, the mathematics involved is already quite interesting to me: primarily the construction of good quantum error-correcting codes, recent advances in quantum algorithm design via span programs, and the development of Quantum Linear Algebra and its applications.

CCA 2026 Conference

This summer I had also attended the CCA 2026 conference. What was interesting is that this conference was a satellite conference of CiE 2026.

On the conference I had given two talks, one was joint work with Zvonko Iljazović and Lucija Validžić about computable homeomorphisms of connected spaces that have one-point metric basis. The second talk was my independent work on computability of the universal block diagonalizer for matrices that arise from the commutants of representations of finite groups.

Topology and its Applications Summer Conference 2026

I attended the 40th Summer Conference on Topology and its Applications in Croatia, Split. I was an invited speaker and there I had presented joint work with Zvonko Iljazović and Lucija Validžić regarding computable homomorphisms for connected 1-manifolds (with or without boundary) and connections to previous results on computability of 1-manifolds.

The conference was quite large, but it was split into multiple tracks. My talk was part of the "Topology and Computing" track. You can find the abstract of the talk here: https://scholarlattice.org/events/a38cdf42-ebd0-49a8-8c24-fda0e703d945

CCA 2024 Conference

This week, during my vacation, I attended the Twenty-First International Conference on Computability and Complexity in Analysis. It was held at Swansea in Wales, UK. There I presented joint work with Zvonko Iljazović and Lucija Validžić. The title of the presentation was Computability of One-point Metric Bases. The slides can be found here.

Some photos from Swansea, including the Bay Campus can be found below.

Slides

Split-Complex Numbers as a Clifford Algebra


The split-complex numbers are a special case of Clifford Algebra. This can be seen as follows. Let X = \mathbb{R}^1. Let e_1 = \langle a \rangle with a \not  = 0 be a basis element of \mathbb{R}^1. Then the Clifford Algebra \mathcal{C}(\mathbb{R}^1) is defined as follows. The elements of the Clifford algebra are \alpha + \beta e_1. Setting the rule for the Clifford product e_1 \vee e_1 as

(1)   \begin{equation*}e_1 \vee e_1 = 1\end{equation*}


yields

    \[(\alpha_1 + \beta_1 e_1) \vee (\alpha_2 + \beta_2 e_1) = (\alpha_1 \alpha_2 + \beta_1 \beta_2) + (\alpha_1 \beta_2 + \beta_1 \alpha_2) e_1\]


The isomorphism is 1 \mapsto 1, e_1 \mapsto j. On the other hand, setting the rule to e_1 \vee e_1 = 0 or e_1 \vee e_1 = -1 in (1) yields a correspondence with dual-numbers or complex numbers respectively. I am planning to expand on this fact in one of the subsequent posts.

Implementation of Faster Complex Matrix Multiplication via Split-Complex Numbers

In my previous post, I showed that split-complex numbers can be used to speed up complex matrix multiplication.

In this post I will do a quick measurement on exactly how much faster is the new approach when compared to the naive implementation in practice. Since we are using 3 real matrix multiplications in the new approach as opposed to 4 in the naive approach we would expect up to 25% improvement in the runtime. We can easily implement and test this by using Python's NumPy library. In the following listing the hyperbolic_matrix_mult function is the new approach that uses split-complex numbers and complex_matrix_mult is the function implementing the naive complex matrix multiplication.

# matrix_mult.py

import numpy as np

def hyperbolic_matrix_mult(Z1, Z2, W1, W2):
    X = 0.5 * (Z1 + Z2).dot(W1 + W2)
    Y = 0.5 * (Z1 - Z2).dot(W1 - W2)
    return X + Y - 2.0 * Z2.dot(W2), X - Y

def complex_matrix_mult(Z1, Z2, W1, W2):
    return Z1.dot(W1) - Z2.dot(W2), Z1.dot(W2) + Z2.dot(W1)

I will be running the test on my MacBook laptop with the following specs:

Hardware Overview:

  Model Name:                   MacBook Pro
  Model Identifier:             MacBookPro13,3
  Processor Name:               Quad-Core Intel Core i7
  Processor Speed:              2,6 GHz
  Number of Processors:         1
  Total Number of Cores:        4
  L2 Cache (per Core):          256 KB
  L3 Cache:                     6 MB
  Hyper-Threading Technology:   Enabled
  Memory:                       16 GB

The test will be as follows. First, we will generate four random real square matrices of order 10K. We use large matrices because we want the cost of multiplying the matrices to be the dominant factor in the runtime. Then, since the Jupyter notebook has nice features for timing the code, we can spin up a Jupyter notebook and perform the timing with the timeit command available as part of Jupyter. We will call timeit on both functions that will, by default, run the multiplication 7 times and calculate the mean and standard deviation of the collected run-times. This is all done in the following Jupyter Notebook snippet.

import numpy as np
from matrix_mult import hyperbolic_matrix_mult, complex_matrix_mult

n = 10000
A = np.random.rand(n, n)
B = np.random.rand(n, n)
C = np.random.rand(n, n)
D = np.random.rand(n, n)

%timeit hyperbolic_matrix_mult(A, B, C, D)
%timeit complex_matrix_mult(A, B, C, D)

After running this for about 45 minutes on my machine, here are the results. The first line shows the runtime of the method using split-complex numbers and the second one is the runtime of the naive complex matrix implementation.

49.9 s ± 388 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
1 min 2s ± 985 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Already from this simple test we see that the improvement in time of the new algorithm over naive complex multiplication is about 20% which is not bad. Stay tuned for more thourough testing in the next post.