<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def type_prep(upcast_type, varlist):
 """Upcast variables to a type. Loop over all elements of varlist and convert them to upcasttype are wrapped into (1,0) arrays. This is desirable when passing the numpy complex data type to C routines and complex scalars aren't handled correctly Parameters upcast_type : data type e.g. complex, float64 or complex128 varlist : list list may contain arrays, mat's, sparse matrices, or scalars the elements may be float, int or complex Returns ------- Returns upcast-ed varlist to upcast_type Notes ----- Useful when harmonizing the types of variables, such as if A and b are complex, but x,y and z are not. Examples -------- """

    varlist = to_type(upcast_type, varlist)
    for i in range(len(varlist)):
        if np.isscalar(varlist[i]):
            varlist[i] = np.array([varlist[i]])

    return varlist