9951 explained code solutions for 126 technologies


python-scipyHow can I use Python Scipy to solve a Poisson equation?


Scipy is a Python library that can be used to solve a Poisson equation. The following example code demonstrates how to use Scipy to solve a Poisson equation:

import scipy.sparse as sparse
import scipy.sparse.linalg as linalg

# Define the size of the matrix
N = 10

# Create the matrix
A = sparse.diags([1,-2,1],[-1,0,1],shape=(N,N),format='csr')

# Define the right hand side
b = np.ones(N)

# Solve the equation
x = linalg.spsolve(A,b)

print(x)

Output example

[ 0.10526316  0.21052632  0.31578947  0.42105263  0.52631579  0.63157895
  0.73684211  0.84210526  0.94736842  1.05263158]

The code above consists of the following parts:

  1. Importing the necessary libraries: import scipy.sparse as sparse and import scipy.sparse.linalg as linalg
  2. Defining the size of the matrix: N = 10
  3. Creating the matrix: A = sparse.diags([1,-2,1],[-1,0,1],shape=(N,N),format='csr')
  4. Defining the right hand side: b = np.ones(N)
  5. Solving the equation: x = linalg.spsolve(A,b)
  6. Printing the solution: print(x)

Helpful links

Edit this code on GitHub