title: Meaning of "2 * np.random.rand(100,1)"
body: <p>I'm a begginer on programming.<br />
  I tried running an simple linear regression example in a book. Y=4*X+6<br />
  I have set <code>np.random.seed(0)</code>.<br />
  When creating X, the code in the book used <code>2 * np.random.rand(100,1)</code>.<br />
  I created X1, X2, X3 in the following way. Below is the code.</p>
  <pre><code>import numpy as np
  
  np.random.seed(0)  
  X1 = 2 * np.random.rand(5,1)  
  X2 = np.random.rand(5,1)  
  X3 = 2 * X2  
  print('X1= ', X1)  
  print('X2= ', X2)  
  print('X3= ', X3)  
  </code></pre>
  <p>I have questions here.</p>
  <ol>
  <li>What is the meaning of multiply 2 with np.random.rand(100,1)? As a result of running the above code, it seems that it is not simply doubling the value or doubling the size.</li>
  <li>And why the results of X1 and X3 are different?</li>
  </ol>