Guest User

Untitled

a guest
Mar 17th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. import numpy as np
  2.  
  3. def change_basis(v, dims):
  4. """
  5. :param v: vector of any dimension
  6. :param dims: basis of new dimension matching dimensions of v
  7. :return: the same vector v in new coordinate space
  8. """
  9. return [np.dot(v, x) / np.dot(x, x) for x in dims]
  10.  
  11. change_basis([5, -1], [[1, 1], [1, -1]])
  12.  
  13. change_basis([10, -5], [[3, 4], [4, -3]])
  14.  
  15. change_basis([2, 2], [[-3, 1], [1, 3]])
  16.  
  17. change_basis([1, 1, 1], [[2, 1, 0], [1, -2, -1], [-1, 2, -5]])
  18.  
  19. change_basis([1, 1, 2, 3], [[1, 0, 0, 0], [0, 2, -1, 0], [0, 1, 2, 0], [0, 0, 0, 3]])
Add Comment
Please, Sign In to add comment