Lapack/blas routine to solve y = Ax

  • Thread starter Thread starter missfangula
  • Start date Start date
Click For Summary
SUMMARY

The discussion centers on solving the equation y = Ax, where y and x are known vectors and A is an unknown matrix. The user, miss fangula, initially sought a BLAS or LAPACK subroutine to solve this problem but found that the existing dgemv subroutine only applies when A is known. It was clarified that the problem is underdetermined, leading to infinitely many solutions. The recommended LAPACK routine for finding a minimum norm solution is DGELSD.

PREREQUISITES
  • Understanding of matrix algebra concepts, specifically linear equations.
  • Familiarity with LAPACK routines, particularly DGELSD.
  • Knowledge of BLAS and LAPACK libraries and their applications.
  • Basic understanding of underdetermined systems in linear algebra.
NEXT STEPS
  • Research the LAPACK routine DGELSD for solving underdetermined systems.
  • Explore the formulation of linear equations in matrix algebra.
  • Learn about the implications of underdetermined systems in linear algebra.
  • Investigate the use of banded matrices in solving linear equations.
USEFUL FOR

Students and researchers in mathematics, computer science, or engineering who are working with matrix algebra, particularly those needing to solve linear equations with unknown matrices.

missfangula
Messages
32
Reaction score
0
Hello everyone,

I am working on a matrix algebra-based project for an unrelated class, but unfortunately, I have no background in matrix algebra. I have managed so far to do most of the work, but I am stuck in my search for the right BLAS or LAPACK subroutine which could solve the following problem:
y = A*x
where y and x are KNOWN vectors, and A is an UNKNOWN matrix. I have found the subroutine dgemv which solves y = A*x, but with A as a KNOWN matrix and y as a KNOWN vector.

As additional information, A is a 4x4 matrix, y, and x are known 4-d vectors. In matrix A, the bottom row is just 0,0,0,1, and the first three elements of column 4 are the same as the elements of vector y.

So it looks like this:

[knownY] [unknown unknown unknown knownY] [0.0]
[knownY] = [unknown unknown unknown knownY]*[0.0]
[knownY] [unknown unknown unknown knownY] [0.0]
[ 1.0 ] [ 0.0 0.0 0.0 1.0 ] [1.0]

My attempt has been to look through lapack and blas for a subroutine, but I cannot find one where the two vectors are known and the matrix is what I am trying to solve for.

Thanks!
-miss fangula
 
Physics news on Phys.org
Something looks goofy. My interpretation of what you posted is that y = [y1 y2 y3 1]T and x = [0 0 0 1]T. If so, then any values can be used for the 9 unknown elements of A since they are all multiplied by zero.

In general, there are infinitely many solutions to the problem y = Ax, where y and x are known n-vectors and A is an unknown n x n matrix. If you write out the equations you have n equations with n2 unknowns in the form Bc = y, where B is a banded matrix of known values having n rows and n2 columns and c is a vector of n2 unknown elements of A. This is an underdetermined system (i.e. more unknowns than equations) that can be solved for the minimum norm solution using LAPACK routine DGELSD.
 
Last edited:

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 22 ·
Replies
22
Views
5K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K