<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def identifier_hash(identifier, sigfig=None):
 """ Hash an identifier array to a specified number of significant figures. Parameters identifier : (n,) float Vector of properties sigfig : (n,) int Number of sigfigs per property Returns md5 : str MD5 hash of identifier """

    if sigfig is None:
        sigfig = id_sigfig

    # convert identifier to integers and order of magnitude
    as_int, multiplier = util.sigfig_int(identifier, sigfig)
    # make all scales positive
    if (multiplier < 0).any():
        multiplier += np.abs(multiplier.min())
    hashable = (as_int * (10 ** multiplier)).astype(np.int64)
    md5 = util.md5_object(hashable)
    return md5