I have decided to take up this Exportober challenge by Prof. Neeldhara Misra primarily because I have been procrastinating on a lot of things these days and I never seem to get out of the wretched rabbit hole. I realized that this is largely due to me wanting things to be perfect - I'll do an activity X only when I have the best clarity on how to do it. Even if one assumes that there exists such a thing as best clarity on something, I repeatedly fail to realize that the time spent to attain that clarity can be minimized if I am willing to put myself out there and be imperfect.
I have been wanting to revise some linear algebra stuff that I have learned a few years ago and figure out the gaps in my understanding. Now seems like the perfect time to do that. This will be a series of posts on Matrix Factorization.
Audience: The intended audience for this blog post is anybody who has done high school math - which means I might talk about things that are rather standard to you (I hate to use the word trivial). So, feel free to skip through such sections. (Hopefully, I adhere to this promise and don't assume things just because I happen to know them).
Factorization
We have been factorizing various objects since eternity. For example, the prime factorization of is
We wrote this large composite number as a product of prime numbers. How is this helpful? Say we have another large number and we want to write the simplest form of the fraction , i.e., the greatest common divisor of the numerator and denominator should be . This problem is rather simple if we are given and as a product of prime factors instead of a large composite number.
Sure, we could still argue that if we know the we can obtain the simplest form by dividing both the numerator and denominator by . Hence it is not really necessary to compute the prime factorization of and . But there are problems where we really need to be able to factorize large composite numbers. Say you are working for an agency that asks you to monitor the conversation between two parties and . The two parties have agreed upon a large secret prime number which you are unaware of. Suppose wants to communicate some message (which again turns out to be a large prime number). is not naive enough to send directly to , else you would have intercepted the message easily. Instead, sends the product . Since has , it can easily recover from this product. On the other hand, you can retrieve this conversation only if you are able to factorize .
Consider a number where 's are prime numbers. Let us write the prime factorization of as follows:
For the prime factorization problem, we could ask the following questions:
- Existence: Can every (positive) integer be written as a product of prime factors?
- Uniqueness: Given any two prime factorizations and of a (positive) integer , is it the case that ?
- Algorithm: Do we know how to compute the prime factorization of a given integer? If yes, how efficient it is?
The answer to the first two questions is yes due to the Fundamental Theorem of Arithmetic. To avoid digression from the main topic, I will not go into the third question. But the point is, similar questions can be asked for any factorization problem.
What next?
Before starting matrix factorization, I will walk through some basic definitions of vectors, matrices, and other related terminologies in the next post. See you soon!!