SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br

Vectors
Quando Pedro me fala sobre Paulo
Sei mais do Pedro do que do Paulo
Sigmund Freud
< Subtract | Multiply | Utilities >

Number or Vector?

  • [; \underline{u} \cdot \underline{v} = |\underline{u}| |\underline{v}| \cos{\theta} = \sum_1^i u_i v_i \in \mathbb{R} ;]
  • [; \underline{u} ~c = \sum_1^i u_i c \in \mathbb{R}^n ;]
Python Listing: Vector.4.py.
    def __mul__(v,arg2):
        if (arg2.__class__.__name__=="Vector"):
            return v.__mul_Vector__(arg2)

        #Second argument should be e number from now on.
        "Make sure it is float
        if (w.__class__.__name__=="int"):
            w*=1.0
            
        if (w.__class__.__name__=="float"):
            return v.__mul_Number__(arg2)

        print "Vector.__mul__: Invalid second argument: ",arg2.__class__.__name__

    def __mul_Number__(v,c):
        u=Vector(v)
        for i in range( len(v) ):
            u[i]*=c
        return u
    
    def __mul_Vector__(v,w):
        dot=0.0
        for i in range( len(v) ):
            dot+=v[i]*w[i]
        return dot
        
    #u=*v
    def __imul__(v,w):
        return v*w
#u=v*w
#u=v*2.0
#But NOT: u=2.0*v
< Subtract | Multiply | Utilities >
Messages:
0 secs.