# Generate a Pseudo Vandermonde matrix of the Laguerre polynomial and x, y complex array of points in Python

PythonNumpyServer Side ProgrammingProgramming

#### Beyond Basic Programming - Intermediate Python

Most Popular

36 Lectures 3 hours

#### Practical Machine Learning using Python

Best Seller

91 Lectures 23.5 hours

#### Practical Data Science using Python

22 Lectures 6 hours

To generate a pseudo Vandermonde matrix of the Laguerre polynomial, use the laguerre.lagvander2d() in Python Numpy. The method returns the pseudo-Vandermonde matrix. The shape of the returned matrix is x.shape + (deg + 1,), where The last index is the degree of the corresponding Laguerre polynomial. The dtype will be the same as the converted x.

The parameter, x, y returns an Array of points. The dtype is converted to float64 or complex128 depending on whether any of the elements are complex. If x is scalar it is converted to a 1-D array. The parameter, deg is a list of maximum degrees of the form [x_deg, y_deg].

## Steps

At first, import the required library −

import numpy as np
from numpy.polynomial import laguerre as L

Create arrays of point coordinates, all of the same shape using the numpy.array() method −

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

Display the arrays −

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

Display the datatype −

print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)

Check the Dimensions of both the arrays −

print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)

Check the Shape of both the arrays −

print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)

To generate a pseudo Vandermonde matrix of the Laguerre polynomial, use the laguerre.lagvander2d() in Python Numpy −

x_deg, y_deg = 2, 3
print("\nResult...\n",L.lagvander2d(x,y, [x_deg, y_deg]))

## Example

import numpy as np
from numpy.polynomial import laguerre as L

# Create arrays of point coordinates, all of the same shape using the numpy.array() method
x = np.array([-2.+2.j, -1.+2.j])
y = np.array([1.+2.j, 2.+2.j])

# Display the arrays
print("Array1...\n",x)
print("\nArray2...\n",y)

# Display the datatype
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)

# Check the Dimensions of both the array
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)

# Check the Shape of both the array
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)

# To generate a pseudo Vandermonde matrix of the Laguerre polynomial, use the laguerre.lagvander2d() in Python Numpy

x_deg, y_deg = 2, 3
print("\nResult...\n",L.lagvander2d(x,y, [x_deg, y_deg]))

## Output

Array1...
[-2.+2.j -1.+2.j]

Array2...
[1.+2.j 2.+2.j]

Array1 datatype...
complex128

Array2 datatype...
complex128

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(2,)

Shape of Array2...
(2,)

Result...
[[ 1.   +0.j   0.          -2.j
-2.5  -2.j  -4.66666667  +0.33333333j
3.   -2.j  -4.          -6.j
-11.5 -1.j  -13.33333333 +10.33333333j
5.   -8.j  -16.         -10.j
-28.5 +10.j -20.66666667 +39.j ]
[  1.   +0.j  -1.          -2.j
-3.    +0.j  -2.33333333  +3.33333333j
2.    -2.j  -6.          -2.j
-6.    +6.j   2.          +11.33333333j
1.5 -6.j -13.5 +3.j
-4.5 +18.j 16.5 +19.j ]]