Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- def change_basis(v, dims):
- """
- :param v: vector of any dimension
- :param dims: basis of new dimension matching dimensions of v
- :return: the same vector v in new coordinate space
- """
- return [np.dot(v, x) / np.dot(x, x) for x in dims]
- change_basis([5, -1], [[1, 1], [1, -1]])
- change_basis([10, -5], [[3, 4], [4, -3]])
- change_basis([2, 2], [[-3, 1], [1, 3]])
- change_basis([1, 1, 1], [[2, 1, 0], [1, -2, -1], [-1, 2, -5]])
- 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