Algorithm that spans orthogonal vectors: Python
You should probably be using Numpy, although I don't know enough about your situation to comment any further.

Assuming that you need to retain "pure Python", the following improvements can be made:

Negation

Replace (-1)* with -

Generators

Replace your for k in range(dimension-1): loop with

orthogonal_vec = [
    random.randrange(-1000,1000)
    for _ in range(dimension-1)
]


Type hints

n: int, vec: typing.Sequence[float] (probably) . And the first two functions return -&gt; typing.List[float]. cross_product both accepts and returns float.

Inner list

sum([ ... ])


shouldn't use an inner list. Just pass the generator directly to sum.