Implementation of Block Diagonalization Algorithm Sub-function
Block diagonalization algorithm sub-function implementation, which takes channel information as input and outputs precoding vectors for each user, with code-level processing details for practical implementation