Vectorization can be done automatically by the compiler, semi-automatically by writing code in a way that is easy for compilers to vectorize, or manually with SIMD vector instructions (in C/C++, but not Fortran).
Your definition of vectorization is wrong.
It’s not to write the equations in form x(:) = y(:) + z(:)
Yes, the compiler can vectorize it, but simple do loops would be equally vectorizable in most cases.
My suggestion would be to not care about vectorization initially.
It’s significantly easier to optimize your code by changing the algorithm, and reducing O time complexity. This is the best option for most.
Low level optimizations like vectorization should be mainly done by the compilers, not by developers.