(self, expt)
return
b is I = sqrt(-1)
        e is symbolic object but not equal to 0, 1

        I**r -> (-1)**(r/2) -> exp(r/2*Pi*I) -> sin(Pi*r/2) + cos(Pi*r/2)*I, r is decimal
        I**0 mod 4 -> 1
        I**1 mod 4 -> I
        I**2 mod 4 -> -1
        I**3 mod 4 -> -I
b is I = sqrt(-1)
        e is symbolic object but not equal to 0, 1
b is I = sqrt ( - 1 ) e is symbolic object but not equal to 0 1
def _eval_power(self, expt):
        """
        b is I = sqrt(-1)
        e is symbolic object but not equal to 0, 1

        I**r -> (-1)**(r/2) -> exp(r/2*Pi*I) -> sin(Pi*r/2) + cos(Pi*r/2)*I, r is decimal
        I**0 mod 4 -> 1
        I**1 mod 4 -> I
        I**2 mod 4 -> -1
        I**3 mod 4 -> -I
        """

        if isinstance(expt, Number):
            if isinstance(expt, Integer):
                expt = expt.p % 4
                if expt == 0:
                    return S.One
                if expt == 1:
                    return S.ImaginaryUnit
                if expt == 2:
                    return -S.One
                return -S.ImaginaryUnit
            return (S.NegativeOne)**(expt*S.Half)
        return
def _eval_power ( self , expt ) : if isinstance ( expt , Number ) : if isinstance ( expt , Integer ) : expt = expt . p % 4 if expt == 0 : return S . One if expt == 1 : return S . ImaginaryUnit if expt == 2 : return - S . One return - S . ImaginaryUnit return ( S . NegativeOne ) ** ( expt * S . Half ) return