2-1:
world_alcohol.txt:
Year,WHO region,Country,Beverage Types,Display Value
1986,Western Pacific,Viet Nam,Wine,0
1986,Americas,Uruguay,Other,0.5
1985,Africa,Cte d'Ivoire,Wine,1.62
1986,Americas,Colombia,Beer,4.27
1987,Americas,Saint Kitts and Nevis,Beer,1.98
1987,Americas,Guatemala,Other,0
1987,Africa,Mauritius,Wine,0.13
1985,Africa,Angola,Spirits,0.39
1986,Americas,Antigua and Barbuda,Spirits,1.55
1984,Africa,Nigeria,Other,6.1
...
import numpy
world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",")
print(type(world_alcohol))
结果:
2-2:
import numpy
#The numpy.array() function can take a list or list of lists as input. When we input a list, we get a one-dimensional array as a result:
vector = numpy.array([5, 10, 15, 20])
#When we input a list of lists, we get a matrix as a result:
matrix = numpy.array([[5, 10, 15], [20, 25, 30], [35, 40, 45]])
print(vector)
print(matrix)
结果:
[ 5 10 15 20]
[[ 5 10 15]
[20 25 30]
[35 40 45]]
2-3:
import numpy
#We can use the ndarray.shape property to figure out how many elements are in the array
vector = numpy.array([1, 2, 3, 4])
print(vector.shape)
#For matrices, the shape property contains a tuple with 2 elements.
matrix = numpy.array([[5, 10, 15], [20, 25, 30]])
print(matrix.shape)
print("------------------------------------")
#Each value in a NumPy array has to have the same data type
#NumPy will automatically figure out an appropriate data type when reading in data or converting lists to arrays.
#You can check the data type of a NumPy array using the dtype property.
numbers = numpy.array([1, 2, 3, 4])
print(numbers.dtype)
结果:
(4,)
(2, 3)
------------------------------------
int32
2-4:
import numpy
world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",", dtype="U75", skip_header=1)
print(world_alcohol)
print("------------------------------------")
uruguay_other_1986 = world_alcohol[1,4]
third_country = world_alcohol[2,2]
print(uruguay_other_1986)
print(third_country)
结果:
[['1986' 'Western Pacific' 'Viet Nam' 'Wine' '0']
['1986' 'Americas' 'Uruguay' 'Other' '0.5']
['1985' 'Africa' "Cte d'Ivoire" 'Wine' '1.62']
...
['1987' 'Africa' 'Malawi' 'Other' '0.75']
['1989' 'Americas' 'Bahamas' 'Wine' '1.5']
['1985' 'Africa' 'Malawi' 'Spirits' '0.31']]
------------------------------------
0.5
Cte d'Ivoire
2-5:
import numpy
vector = numpy.array([5, 10, 15, 20])
print(vector[0:3])
print("------------------------------------")
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix[:,1])#第2列
print("-------------------------------------")
print(matrix[:,0:2])#第0、1列
print("-------------------------------------")
print(matrix[1:3,0:2])#(1,0)20 (1,1)25
#(2,0)35 (2,1)40
结果:
[ 5 10 15]
------------------------------------
[10 25 40]
-------------------------------------
[[ 5 10]
[20 25]
[35 40]]
-------------------------------------
[[20 25]
[35 40]]
2-6:
import numpy
#it will compare the second value to each element in the vector
# If the values are equal, the Python interpreter returns True; otherwise, it returns False
vector = numpy.array([5, 10, 15, 20])
print(vector == 10)
print("--------------------------")
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix == 25)
print("---------------------------")
#Compares vector to the value 10, which generates a new Boolean vector [False, True, False, False]. It assigns this result to equal_to_ten
equal_to_ten = (vector == 10)
print(equal_to_ten)
print(vector[equal_to_ten])#输出等于10的元素,即10
print("---------------------------")
second_column_25 = (matrix[:,1] == 25)#第1列等于25的元素
print(second_column_25)
print(matrix[second_column_25, :])#输出25所在的那一行
print("---------------------------")
equal_to_ten_and_five = (vector == 10) & (vector == 5)#与
print(equal_to_ten_and_five)
print("---------------------------")
equal_to_ten_or_five = (vector == 10) | (vector == 5)#或
print(equal_to_ten_or_five)
print("---------------------------")
equal_to_ten_or_five = (vector == 10) | (vector == 5)
vector[equal_to_ten_or_five] = 50
print(vector)
print("---------------------------")
second_column_25 = matrix[:,1] == 25#判断第1列各元素是否等于25
print(second_column_25)
matrix[second_column_25, 1] = 10#矩阵第1列等于25的元素换成10
print(matrix)
print("---------------------------")
vector = numpy.array(["1", "2", "3"])
print(vector.dtype)
print(vector)
vector = vector.astype(float)#值类型转换
print(vector.dtype)
print(vector)
print("---------------------------")
vector = numpy.array([5, 10, 15, 20])
print(vector.sum())#和
print(vector.min())#最小值
print("---------------------------")
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix.sum(axis=1))#行和
print("---------------------------")
print(matrix.sum(axis=0))#列和
print("---------------------------")
world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",")
#print world_alcohol
is_value_empty = numpy.isnan(world_alcohol[:,4])
#print is_value_empty
world_alcohol[is_value_empty, 4] = '0'
alcohol_consumption = world_alcohol[:,4]
alcohol_consumption = alcohol_consumption.astype(float)
total_alcohol = alcohol_consumption.sum()
average_alcohol = alcohol_consumption.mean()
print(total_alcohol)
print(average_alcohol)
结果:
[False True False False]
--------------------------
[[False False False]
[False True False]
[False False False]]
---------------------------
[False True False False]
[10]
---------------------------
[False True False]
[[20 25 30]]
---------------------------
[False False False False]
---------------------------
[ True True False False]
---------------------------
[50 50 15 20]
---------------------------
[False True False]
[[ 5 10 15]
[20 10 30]
[35 40 45]]
---------------------------
2-7:
import numpy as np
a = np.arange(15).reshape(3, 5)
print("a:",a)
print(a.shape)
#the number of axes (dimensions) of the array
print(a.ndim)
print(a.dtype.name)
#the total number of elements of the array
print(a.size)
print("---------------------------")
print("array",np.zeros ((3,4)) )
print("array",np.ones( (2,3,4), dtype=np.int32 ))
#To create sequences of numbers
print(np.arange(10,30,5))
print(np.arange(0,2,0.3))
print(np.arange(12).reshape(4,3))
print(np.random.random((2,3)))
print("---------------------------")
from numpy import pi
print(np.linspace( 0, 2*pi, 100 ))
print("===========================")
print(np.sin(np.linspace( 0, 2*pi, 100 )))#取正弦
print("---------------------------")
#the product operator * operates elementwise in NumPy arrays
a = np.array( [20,30,40,50] )
b = np.arange( 4 )
print(a)
print(b)
c = a-b
print(c)
print(c-1)
print(b**2)
print(a<35)
print("---------------------------")
#The matrix product can be performed using the dot function or method
A = np.array( [[1,1],
[0,1]] )
B = np.array( [[2,0],
[3,4]] )
print(A)
print("====")
print(B)
print("====")
print(A*B)#点成,对应位置相乘
print("====")
print(A.dot(B))#矩阵乘法
print("====")
print(np.dot(A, B))
结果:
a: [[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
(3, 5)
2
int32
15
---------------------------
array [[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
array [[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]]
[10 15 20 25]
[0. 0.3 0.6 0.9 1.2 1.5 1.8]
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
[[0.91276792 0.21017882 0.53087236]
[0.93853025 0.70256757 0.07841139]]
---------------------------
[0. 0.06346652 0.12693304 0.19039955 0.25386607 0.31733259
0.38079911 0.44426563 0.50773215 0.57119866 0.63466518 0.6981317
0.76159822 0.82506474 0.88853126 0.95199777 1.01546429 1.07893081
1.14239733 1.20586385 1.26933037 1.33279688 1.3962634 1.45972992
1.52319644 1.58666296 1.65012947 1.71359599 1.77706251 1.84052903
1.90399555 1.96746207 2.03092858 2.0943951 2.15786162 2.22132814
2.28479466 2.34826118 2.41172769 2.47519421 2.53866073 2.60212725
2.66559377 2.72906028 2.7925268 2.85599332 2.91945984 2.98292636
3.04639288 3.10985939 3.17332591 3.23679243 3.30025895 3.36372547
3.42719199 3.4906585 3.55412502 3.61759154 3.68105806 3.74452458
3.8079911 3.87145761 3.93492413 3.99839065 4.06185717 4.12532369
4.1887902 4.25225672 4.31572324 4.37918976 4.44265628 4.5061228
4.56958931 4.63305583 4.69652235 4.75998887 4.82345539 4.88692191
4.95038842 5.01385494 5.07732146 5.14078798 5.2042545 5.26772102
5.33118753 5.39465405 5.45812057 5.52158709 5.58505361 5.64852012
5.71198664 5.77545316 5.83891968 5.9023862 5.96585272 6.02931923
6.09278575 6.15625227 6.21971879 6.28318531]
===========================
[ 0.00000000e+00 6.34239197e-02 1.26592454e-01 1.89251244e-01
2.51147987e-01 3.12033446e-01 3.71662456e-01 4.29794912e-01
4.86196736e-01 5.40640817e-01 5.92907929e-01 6.42787610e-01
6.90079011e-01 7.34591709e-01 7.76146464e-01 8.14575952e-01
8.49725430e-01 8.81453363e-01 9.09631995e-01 9.34147860e-01
9.54902241e-01 9.71811568e-01 9.84807753e-01 9.93838464e-01
9.98867339e-01 9.99874128e-01 9.96854776e-01 9.89821442e-01
9.78802446e-01 9.63842159e-01 9.45000819e-01 9.22354294e-01
8.95993774e-01 8.66025404e-01 8.32569855e-01 7.95761841e-01
7.55749574e-01 7.12694171e-01 6.66769001e-01 6.18158986e-01
5.67059864e-01 5.13677392e-01 4.58226522e-01 4.00930535e-01
3.42020143e-01 2.81732557e-01 2.20310533e-01 1.58001396e-01
9.50560433e-02 3.17279335e-02 -3.17279335e-02 -9.50560433e-02
-1.58001396e-01 -2.20310533e-01 -2.81732557e-01 -3.42020143e-01
-4.00930535e-01 -4.58226522e-01 -5.13677392e-01 -5.67059864e-01
-6.18158986e-01 -6.66769001e-01 -7.12694171e-01 -7.55749574e-01
-7.95761841e-01 -8.32569855e-01 -8.66025404e-01 -8.95993774e-01
-9.22354294e-01 -9.45000819e-01 -9.63842159e-01 -9.78802446e-01
-9.89821442e-01 -9.96854776e-01 -9.99874128e-01 -9.98867339e-01
-9.93838464e-01 -9.84807753e-01 -9.71811568e-01 -9.54902241e-01
-9.34147860e-01 -9.09631995e-01 -8.81453363e-01 -8.49725430e-01
-8.14575952e-01 -7.76146464e-01 -7.34591709e-01 -6.90079011e-01
-6.42787610e-01 -5.92907929e-01 -5.40640817e-01 -4.86196736e-01
-4.29794912e-01 -3.71662456e-01 -3.12033446e-01 -2.51147987e-01
-1.89251244e-01 -1.26592454e-01 -6.34239197e-02 -2.44929360e-16]
---------------------------
[20 30 40 50]
[0 1 2 3]
[20 29 38 47]
[19 28 37 46]
[0 1 4 9]
[ True True False False]
---------------------------
[[1 1]
[0 1]]
====
[[2 0]
[3 4]]
====
[[2 0]
[0 4]]
====
[[5 4]
[3 4]]
====
[[5 4]
[3 4]]
2-8:
import numpy as np
B = np.arange(3)
print(B)
print(np.exp(B))
print(np.sqrt(B))
print("---------------------------")
#Return the floor of the input
a = np.floor(10*np.random.random((3,4)))
print(a)
print(a.shape)
print("----")
# flatten the array
print(a.ravel())#把矩阵拉成向量
a.shape = (6, 2)
print(a)
print("----")
print(a.T)#a的转置
print("----")
print(a.resize((2,6)))
print(a)
#If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated:
#a.reshape(3,-1)
print("---------------------------")
a = np.floor(10*np.random.random((2,2)))
b = np.floor(10*np.random.random((2,2)))
print(a)
print('---')
print(b)
print('---')
print(np.hstack((a,b)))#横向拼接
print('---')
print(np.vstack((a,b)))#纵向拼接
print("---------------------------")
a = np.floor(10*np.random.random((2,12)))
print(a)
print(np.hsplit(a,3))#每行切成3份
print(np.hsplit(a,(3,4))) # Split a after the third and the fourth column
a = np.floor(10*np.random.random((12,2)))
print(a)
print(np.vsplit(a,3))#每列切成3份
print("---------------------------")
#Simple assignments make no copy of array objects or of their data.
a = np.arange(12)
b = a#完全复制
# a and b are two names for the same ndarray object
print(b is a)
b.shape = 3,4
print(a.shape)
print(id(a))
print(id(b))
print("----")
#The view method creates a new array object that looks at the same data.
c = a.view()#浅复制,共用一个值,位置不同
print(c is a)
c.shape = 2,6
print(a.shape)
c[0,4] = 1234
print(a)
print(id(a))
print(id(c))
print("----")
#The copy method makes a complete copy of the array and its data.
d = a.copy() #d,a,值不同,位置不同
print(d is a)
d[0,0] = 9999
print("d:",d)
print("a:",a)
print(id(a))
print(id(d))
结果:
[0 1 2]
[1. 2.71828183 7.3890561 ]
[0. 1. 1.41421356]
---------------------------
[[2. 1. 4. 2.]
[1. 7. 4. 5.]
[0. 0. 1. 9.]]
(3, 4)
----
[2. 1. 4. 2. 1. 7. 4. 5. 0. 0. 1. 9.]
[[2. 1.]
[4. 2.]
[1. 7.]
[4. 5.]
[0. 0.]
[1. 9.]]
----
[[2. 4. 1. 4. 0. 1.]
[1. 2. 7. 5. 0. 9.]]
----
None
[[2. 1. 4. 2. 1. 7.]
[4. 5. 0. 0. 1. 9.]]
---------------------------
[[8. 0.]
[3. 0.]]
---
[[2. 8.]
[5. 5.]]
---
[[8. 0. 2. 8.]
[3. 0. 5. 5.]]
---
[[8. 0.]
[3. 0.]
[2. 8.]
[5. 5.]]
---------------------------
[[5. 2. 4. 9. 0. 3. 0. 8. 3. 9. 8. 6.]
[3. 5. 8. 7. 2. 3. 1. 8. 4. 4. 1. 3.]]
[array([[5., 2., 4., 9.],
[3., 5., 8., 7.]]), array([[0., 3., 0., 8.],
[2., 3., 1., 8.]]), array([[3., 9., 8., 6.],
[4., 4., 1., 3.]])]
[array([[5., 2., 4.],
[3., 5., 8.]]), array([[9.],
[7.]]), array([[0., 3., 0., 8., 3., 9., 8., 6.],
[2., 3., 1., 8., 4., 4., 1., 3.]])]
[[5. 1.]
[7. 6.]
[0. 5.]
[6. 0.]
[8. 9.]
[6. 3.]
[2. 3.]
[1. 6.]
[4. 4.]
[9. 7.]
[3. 4.]
[4. 3.]]
[array([[5., 1.],
[7., 6.],
[0., 5.],
[6., 0.]]), array([[8., 9.],
[6., 3.],
[2., 3.],
[1., 6.]]), array([[4., 4.],
[9., 7.],
[3., 4.],
[4., 3.]])]
---------------------------
True
(3, 4)
2920541606816
2920541606816
----
False
(3, 4)
[[ 0 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
2920541606816
2920545083264
----
False
d: [[9999 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
a: [[ 0 1 2 3]
[1234 5 6 7]
[ 8 9 10 11]]
2920541606816
2920545280928
2-9:
import numpy as np
a = np.arange(0, 40, 10)
b = np.tile(a, (3, 5)) #扩展a,行为原来的3倍长度,列为原来的5倍长度
print(b)
print("---------------------------")
a = np.array([[4, 3, 5], [1, 2, 1]])
print(a)
b = np.sort(a, axis=1)#按行排序,从小到大
print(b)
print("----")
a = np.array([4, 3, 1, 2])
j = np.argsort(a)#从小到大索引位置
print(j)
print(a[j])#从小到大排序
结果:
[[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]
[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]
[ 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30 0 10 20 30]]
---------------------------
[[4 3 5]
[1 2 1]]
[[3 4 5]
[1 1 2]]
----
[2 3 1 0]
[1 2 3 4]
2-10:
import numpy as np
#1:8*8棋盘矩阵,其中1、3、5、7行&&0、2、4、6列的元素置为1 1 ,3,5,7列&&0,2,4,6行也是1
z = np.zeros((8,8),dtype=int)
z[1::2,::2] = 1#1、3、5、7行的0、2、4、6列的元素为1
z[::2,1::2] = 1#0, 2, 4, 6行的1,3,5,7列的元素为1
print(z)
print("------------------------")
#交换矩阵的其中两行
a = np.arange(25).reshape(5,5)
print(a)
a[[0,1]] = a[[1,0]]#交换第0行和第1行
print(a)
print("------------------------")
#找出数组中与给定值最接近的数
z = np.array([[0,1,2,3],[4,5,6,7]])
a = 5.1
print(np.abs(z-a).argmin())#输出与5.1最接近的数
print("------------------------")
#判断二维矩阵中有没有一整列数为0?
z = np.random.randint(0,3,(2,10))#0,1,2随机组成2行10列数组
print(z)
print(z.any(axis=0))#z有没有一整列全为0
print("------------------------")
x,y = np.meshgrid(np.linspace(-1,1,10),np.linspace(-1,1,10))#生成网格点坐标矩阵
print(x)
print("----")
print(y)
print("----")
D = np.sqrt(x**2+y**2)
print(D)
print("----")
sigma,mu = 1,0
a = np.exp(-(D-mu)**2/(2*sigma**2))
print(a)
结果:
[[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]]
------------------------
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
[[ 5 6 7 8 9]
[ 0 1 2 3 4]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
------------------------
5
------------------------
[[0 1 0 0 1 0 2 0 1 1]
[0 1 1 0 1 0 1 0 0 1]]
[False True True False True False True False True True]
------------------------
[[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]
[-1. -0.77777778 -0.55555556 -0.33333333 -0.11111111 0.11111111
0.33333333 0.55555556 0.77777778 1. ]]
----
[[-1. -1. -1. -1. -1. -1.
-1. -1. -1. -1. ]
[-0.77777778 -0.77777778 -0.77777778 -0.77777778 -0.77777778 -0.77777778
-0.77777778 -0.77777778 -0.77777778 -0.77777778]
[-0.55555556 -0.55555556 -0.55555556 -0.55555556 -0.55555556 -0.55555556
-0.55555556 -0.55555556 -0.55555556 -0.55555556]
[-0.33333333 -0.33333333 -0.33333333 -0.33333333 -0.33333333 -0.33333333
-0.33333333 -0.33333333 -0.33333333 -0.33333333]
[-0.11111111 -0.11111111 -0.11111111 -0.11111111 -0.11111111 -0.11111111
-0.11111111 -0.11111111 -0.11111111 -0.11111111]
[ 0.11111111 0.11111111 0.11111111 0.11111111 0.11111111 0.11111111
0.11111111 0.11111111 0.11111111 0.11111111]
[ 0.33333333 0.33333333 0.33333333 0.33333333 0.33333333 0.33333333
0.33333333 0.33333333 0.33333333 0.33333333]
[ 0.55555556 0.55555556 0.55555556 0.55555556 0.55555556 0.55555556
0.55555556 0.55555556 0.55555556 0.55555556]
[ 0.77777778 0.77777778 0.77777778 0.77777778 0.77777778 0.77777778
0.77777778 0.77777778 0.77777778 0.77777778]
[ 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. ]]
----
[[1.41421356 1.26686158 1.1439589 1.05409255 1.0061539 1.0061539
1.05409255 1.1439589 1.26686158 1.41421356]
[1.26686158 1.09994388 0.95581392 0.84619701 0.7856742 0.7856742
0.84619701 0.95581392 1.09994388 1.26686158]
[1.1439589 0.95581392 0.7856742 0.64788354 0.56655772 0.56655772
0.64788354 0.7856742 0.95581392 1.1439589 ]
[1.05409255 0.84619701 0.64788354 0.47140452 0.35136418 0.35136418
0.47140452 0.64788354 0.84619701 1.05409255]
[1.0061539 0.7856742 0.56655772 0.35136418 0.15713484 0.15713484
0.35136418 0.56655772 0.7856742 1.0061539 ]
[1.0061539 0.7856742 0.56655772 0.35136418 0.15713484 0.15713484
0.35136418 0.56655772 0.7856742 1.0061539 ]
[1.05409255 0.84619701 0.64788354 0.47140452 0.35136418 0.35136418
0.47140452 0.64788354 0.84619701 1.05409255]
[1.1439589 0.95581392 0.7856742 0.64788354 0.56655772 0.56655772
0.64788354 0.7856742 0.95581392 1.1439589 ]
[1.26686158 1.09994388 0.95581392 0.84619701 0.7856742 0.7856742
0.84619701 0.95581392 1.09994388 1.26686158]
[1.41421356 1.26686158 1.1439589 1.05409255 1.0061539 1.0061539
1.05409255 1.1439589 1.26686158 1.41421356]]
----
[[0.36787944 0.44822088 0.51979489 0.57375342 0.60279818 0.60279818
0.57375342 0.51979489 0.44822088 0.36787944]
[0.44822088 0.54610814 0.63331324 0.69905581 0.73444367 0.73444367
0.69905581 0.63331324 0.54610814 0.44822088]
[0.51979489 0.63331324 0.73444367 0.81068432 0.85172308 0.85172308
0.81068432 0.73444367 0.63331324 0.51979489]
[0.57375342 0.69905581 0.81068432 0.89483932 0.9401382 0.9401382
0.89483932 0.81068432 0.69905581 0.57375342]
[0.60279818 0.73444367 0.85172308 0.9401382 0.98773022 0.98773022
0.9401382 0.85172308 0.73444367 0.60279818]
[0.60279818 0.73444367 0.85172308 0.9401382 0.98773022 0.98773022
0.9401382 0.85172308 0.73444367 0.60279818]
[0.57375342 0.69905581 0.81068432 0.89483932 0.9401382 0.9401382
0.89483932 0.81068432 0.69905581 0.57375342]
[0.51979489 0.63331324 0.73444367 0.81068432 0.85172308 0.85172308
0.81068432 0.73444367 0.63331324 0.51979489]
[0.44822088 0.54610814 0.63331324 0.69905581 0.73444367 0.73444367
0.69905581 0.63331324 0.54610814 0.44822088]
[0.36787944 0.44822088 0.51979489 0.57375342 0.60279818 0.60279818
0.57375342 0.51979489 0.44822088 0.36787944]]