Skip to content

How to setting for solving A x = b with A in R^{2 \times 3}, x in R^{3} and b in R^{2}?  #102

@Aijunly

Description

@Aijunly

It looks like you're asking for help with setting up a linear equation system in the form ( Ax = b ) using Julia, where ( A ) is a ( 2 \times 3 ) matrix, ( x ) is a ( 3 )-dimensional vector, and ( b ) is a ( 2 )-dimensional vector. Your code snippet is almost correct, but there are a couple of minor adjustments needed for clarity and correctness.

Here's a corrected version of your code:

## Packages
using Pardiso
using SparseArrays
gpmt = MKLPardisoSolver() # or gpmt = PardisoSolver()

## Data
A = [1 1 1; 2 4 2.0]  # Define the matrix A
Acsr = sparse(A)
b = [35; 94.0]        # Define the vector b

## Solving...
set_msglvl!(gpmt, 1) 
xsol = solve(gpmt, Acsr , b)

The above gives me that

=== PARDISO is running in In-Core mode, because iparam(60)=0 ===
...
2-element Vector{Float64}:
 23.0
 12.0

But the result has only 2 elements. And i want 3 elements. If i write the code of

## Solving...
xs = zeros(3,1); 
solve!(gpmt, xs, Acsr , b)

It gives me errors of

ERROR: DimensionMismatch: solution has (3, 1), RHS has size as (2,).

Although, i know reason from the dims of A{2,3} * x{3,1} = b{2,1}. And I should write code of

## Packages
using Pardiso
using SparseArrays
gpmt = MKLPardisoSolver() # or gpmt = PardisoSolver()

## Data
A = [1 1 1; 2 4 2.0]  # Define the matrix A
Acsr = sparse(A'*A)
b = [35; 94.0]        # Define the vector b
brhs = reshape(A'*b,3,1)

## Solving...
set_msglvl!(gpmt, 1) 
xs = zeros(3,1); 
solve!(gpmt, xs, Acsr , brhs)

So that, i want ask a question of Ax = b with A in ( R^{m \times n } ), x in R^{n} and b in R^{m} satisfying m < n. Hence, how to setting for solving this type of A x = b? And i translate Ax = b into A'*A x = A'*b, then solving it by Pardiso?

Sincerely,
Aijunly, Jun Wang.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions