convert diag function