Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. randomVec = #*Normalize@RandomReal[{-1, 1}, 3] & (*[taken from here][1]*)
  2. n = 2; (*particles count*)
  3. u = Table[randomVec@1, {n}]
  4. matQ = Table[
  5. 1/(2.*n)*
  6. Sum[3*Part[u, i, a]*Part[u, i, b] - KroneckerDelta[a, b], {i, 1,
  7. n}], {a, 3}, {b, 3}];
  8.  
  9. SeedRandom[123];
  10. n = 1000000;
  11. u = RandomPoint[Sphere[{0, 0, 0}], n];
  12.  
  13. f = u [Function] NDSolve`FEM`MapThreadDot[
  14. ArrayReshape[u, Append[Dimensions[u], 1]],
  15. ArrayReshape[u, Insert[Dimensions[u], 1, 2]]
  16. ];
  17.  
  18. Q = 0.5 (ConstantArray[3./n, n].f[u] - N@IdentityMatrix[3]);
  19. {λ, U} = Eigensystem[Q];
  20. order = Ordering[λ];
  21. λ = λ[[order]];
  22. U = U[[order]];
  23. p = λ[[-1]]
  24.  
  25. U[[-1]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement