1
$\begingroup$

Consider $n$-dimensional vectors $c^i = \left(c^i_1, c^i_2 ...c^i_n \right)$ , whose entries are complex and generated at random. These vectors are normalized such that

$$|c^i|^2 = 1.$$

Using Mathematica, how do I construct such a set of $k$ vectors $\{ c^i\}$? Does it numerically satisfy the following relation in the limit of large-$n$,

$$|(c^i)^* c^j| <<1, \quad i \neq j ?$$

Note: As an explicit example, can this be seen numerically for $n \approx 1000$?

$\endgroup$
0

1 Answer 1

1
$\begingroup$

One way to generate some random vectors that satisfy your normalization rule:

v = RandomPoint[Sphere[1000],100] /. {x_?NumericQ :> x Exp[I RandomReal[{0, 2 Pi}]]} 

v will be a set of 100 1000-d vectors where

Norm/@v 

will yield all 1. Now we look at your test

test = Outer[Abs@*Dot, Conjugate[v], v, 1]; ListDensityPlot[test, PlotLegends -> Automatic,ScalingFunctions -> "Log"] 

ListDensityPlot

A slice:

Histogram

$\endgroup$
3
  • $\begingroup$ Forgot to say this, thank you. It was immensely useful to me. A typo, you meant "test = Outer[Abs@*Dot, Conjugate[v], v, 1]", right? $\endgroup$ Commented Feb 28, 2020 at 17:34
  • $\begingroup$ Ah yes, whoops let me correct that. $\endgroup$ Commented Mar 2, 2020 at 16:02
  • $\begingroup$ I have another question which is related to your this answer. Please have a look! mathematica.stackexchange.com/q/215687/60781 $\endgroup$ Commented Mar 3, 2020 at 12:43

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.