Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Hermite 다항식 및 x, y, z 복소수 점 배열의 의사 Vandermonde 행렬 생성

<시간/>

Hermite 다항식과 x, y, z 샘플 포인트의 의사 Vandermonde 행렬을 생성하려면 Python Numpy에서 hermite.hermvander3d()를 사용합니다. 이 메서드는 의사 Vandermondematrix를 반환합니다. 매개변수 x, y, z는 모두 같은 모양의 점 좌표 배열입니다. dtypes는 요소가 복잡한지 여부에 따라 float64 또는 complex128로 변환됩니다. 스칼라는 1차원 배열로 변환됩니다. 매개변수 deg는 [x_deg, y_deg, z_deg] 형식의 최대 각도 목록입니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

numpy as npfrom numpy.polynomial import hermite as H

numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다. -

x =np.array([-2.+2.j, -1.+2.j])y =np.array([0.+2.j, 1.+2.j])z =np.array([2.+2.j, 3. + 3.j])

배열 표시 -

print("Array1...\n",x)print("\nArray2...\n",y)print("\nArray3...\n",z)

데이터 유형 표시 -

print("\nArray1 데이터 유형...\n",x.dtype)print("\nArray2 데이터 유형...\n",y.dtype)print("\nArray3 데이터 유형...\n", z.dtype)

두 어레이의 차원을 확인하십시오 -

print("\n배열1의 치수...\n",x.ndim)print("\n배열2의 치수...\n",y.ndim)print("\n배열3의 치수...\ n",z.ndim)

두 배열의 모양을 확인하십시오 -

print("\n배열1의 모양...\n",x.shape)print("\n배열2의 모양...\n",y.shape)print("\n배열3의 모양...\ n",z.shape)

Hermite 다항식과 x, y, z 샘플 포인트의 의사 Vandermonde 행렬을 생성하려면 hermite.hermvander3d() -

를 사용하십시오.
x_deg, y_deg, z_deg =2, 3, 4print("\n결과...\n",H.hermvander3d(x,y,z, [x_deg, y_deg, z_deg]))

예시

import numpy as npfrom numpy.polynomial import hermite as H# numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다.x =np.array([-2.+2.j, -1 .+2.j])y =np.array([0.+2.j, 1.+2.j])z =np.array([2.+2.j, 3. + 3.j] )# 배열 표시print("Array1...\n",x)print("\nArray2...\n",y)print("\nArray3...\n",z)# 데이터 유형 표시print( "\nArray1 데이터 유형...\n",x.dtype)print("\nArray2 데이터 유형...\n",y.dtype)print("\nArray3 데이터 유형...\n",z.dtype)# 두 배열의 차원을 확인하십시오.print("\nDimensions of Array1...\n",x.ndim)print("\nDimensions of Array2...\n",y.ndim)print("\nDimensions of Array3. ..\n",z.ndim)# 두 배열의 모양을 확인합니다.print("\nShape of Array1...\n",x.shape)print("\nShape of Array2...\n",y .shape)print("\nShape of Array3...\n",z.shape)# Hermite 다항식과 x, y, z 샘플 포인트의 의사 Vandermonde 행렬을 생성하려면 Python에서 hermite.hermvander3d()를 사용합니다. Numpyx_deg, y_deg, z_deg =2, 3, 4print("\n결과...\n",H.hermva nder3d(x,y,z, [x_deg, y_deg, z_deg]))

출력

배열1...[-2.+2.j -1.+2.j]배열2...[0.+2.j 1.+2.j]배열3...[2.+2 .j 3.+3.j]Array1 데이터형...complex128Array2 데이터형...complex128Array3 데이터형...complex128Array1...1Dimensions of Array2...1Dimensions of Array3...1Shape of Array1...(2 ,)배열2의 모양...(2,)배열3의 모양...(2,)결과...[[ 1.000000e+00+0.000000e+00j 4.000000e+00+4.000000e+00j-2.000000e+ 00+3.200000e+01j -1.520000e+02+1.040000e+02j-1.012000e+03-3.840000e+03-3.840000e+02j-01010e010010000000e+00+4.000000e+0 -8.000000e+00j-4.160000e+02-6.080000e+02j 1.536000e+03-4.048000e+03-4.048000e+03j-1.800000e+01+0.000000e+00j-7 e+02j 2.736000e+03-1.872000e+03j1.821600e+04+6.912000e+03j 0.000000e+03j 0.000000e+00-20e.000000e+00-8.800000e+01j3.520000e+02 +03+1.337600e+04j -3.379200e+04+8.905600e+04j-4.000000e+00+4.000000e+00+4.000000e+00j -20e+010060e+04j -3.379200e+01+0.000000e+0 02-1.024000e+03j5.584000e+03-2.512000e+03j -1.600000e+0 1-1.600000e+01j0.000000e+00-1.280000e+02j 5.440000e+02-4.800000e+02j4.800000e+02j4.800000e+02j4.07e+02e.096000e+03+7.680000e+02j+0.680000e+02j+1 01j 5.760000e+02+0.000000e+00j2.160000e+03+2.448000e+03j -3.456000e+03j -3.456000e+03+020e.00e.20e020e+1.843200e+04j+1.005120e+05 +00+2.816000e+03j -1.196800e+04+1.056000e+04j-9.011200e+04-1.689600e+04-1.689600e+04j -2.210560e+05-4.913920e+05 02-1.360000e+02j1.028000e+03+0.000000e+00j 3.632000e+03+4.656000e+03j-4.656000e+03j-1.026400e+04+3.315200e+04j +02j 0.000000e+00+4.112000e+03j-1.862400e+04+1.452800e+04j -1.326080e+05-40e.326080e+05-4.105600e+04j3.600050e+01 -1.850400e+04+0.000000e+00j -6.537600e+04-8.380800e+04j1.847520e+05-5.967360e+05j -2.816000e+03+1.7 e+00-9.046400e+04j4.097280e+05-3.196160e+05j 2.917376e+06+9.032320e+06+9.032320e+05j][ 1.000000e+00+0.000000e+000000e+000000e+ 00+ 7.200000e+01j -4.680000e+02+3.960000e+02j-5.172000e+03-8.640000e+01-8.640000e+010060e+02j 2.0060000e+00+4.000000e+00j+0 e+02j-2.520000e+03-1.080000e+03j -6.888000e+03-2.241600e+04j-1.400000e+0104e+1.600000e+02010e+01j -1.800000e+ e+03j 2.160000e+02-1.303200e+04j8.623200e+04-7.065600e+04j -1.000000e+02-06e+000000e+02-030e+000000e+02j-3.600080e+0 .264000e+04-2.088000e+04j 4.826400e+05+2.932800e+05j-2.000000e+00+4.0004000e+01000000e+0004000e+00j -3.600000e+01+1.2 e+02-2.664000e+03j1.380000e+04-1.896000e+04j -2.000000e+01+0.000000e+00j+0.000000e+00j-010e-1.200000e+02-1.200000e+02 -7.920000e+03j 1.034400e+05+1.728000e+04j-3.600000e+01-8.800000e+01-8.800000e+0160e+060000e+01j 3.120000e+02-7.400000e+02j00. 04j1.101600e+05+4.862400e+05j 3.600000e+02-3.200000e+02j4.080000e+02j4.080000e+03+2.40000e+03+2.40000e+02j 2862000e+04+ +06 +01.344000e+06j-1.400000e+01-1.600000e+01j 1.200000e+01-1.800000e+02j1.800000e+080000e+03-9.760000e+0848 1.200000e+02j1.180000e+0840 1. 04j 3.600000e+01-8.800000e+01j7.440000e+02-3.120000e+02j 6.264000e+03+02j+e264000e+03+52j4e20000e+03j1.800000e+040+ 02+0.000000e+00j 2.712000e+03+2.712000e+03j-9.040000e+02+3.254400e+02+3.254400e+04j-520060e+04j -2.115360e+05+1.789920e+03 2.160000e+03j-8.400000e+03+1.752000e+04j -1.570400e+05+5.040000e+04j-1.211040e+06-7.099200e+05j -2