numerical analysis with python

profileilias

n Linear least squares problem Axb, we seek a solution x such that the residual

bAx‖22

is minimized. A regularization term can be included to give preference to a solution x with a desired property. This regularization is minimizing,

bAx‖22+α‖x‖22.

This is equivalent to the augmented least squares problem [Aα‾‾√I]x≅[b0]

You are given a matrix A, vector b and scalar α. Calculate x such that it minimizes the residual for Axb and x2 such that it minimizes the regularization condition. Also calculate the residual and norm for both.

code below


import numpy as np

import scipy.sparse

INPUT:

  • A: numpy array of shape (m, n)
  • b: numpy array of shape (m,)
  • alpha: Python float

OUTPUT:

  • x: numpy array of shape (n,) that minimizes the residual.
  • x2: numpy array of shape (n,) that minimizes the L2-regularization condition.
  • norm_x: Norm of x.
  • norm_x2: Norm of x2.
  • residual_x: Norm of the residual of x.
  • residual_x2: Norm of the residual of x2.

n = np.random.randint(100, 200)

A = scipy.sparse.diags([-1,2,-1],[-1,0,1],shape=(n, n//4)).A

b = np.ones(n)

alpha = 1.5

    • 8 years ago
    • 5
    Answer(1)

    Purchase the answer to view it

    blurred-text
    NOT RATED
    • attachment
      matrixAvectorbandscalar..docx