Very confusing problem in Mathematica

Click For Summary
SUMMARY

The discussion centers on discrepancies encountered when solving a linear system of equations, A.X==B, using Mathematica and MathCad. The user, Lucian, found that while both tools provided consistent results with the methods of matrix inversion and LinearSolve, the order of operations led to different solutions. Specifically, in Mathematica, using X=B.Inverse[A] yielded results consistent with MathCad's X=Inverse[A].B, highlighting potential differences in how the two software handle matrix multiplication and vector orientation. The conversation suggests reviewing the documentation for both tools to clarify these operational differences.

PREREQUISITES
  • Understanding of linear algebra concepts, particularly matrix operations.
  • Familiarity with Mathematica and MathCad software environments.
  • Knowledge of matrix inversion and solving linear systems.
  • Awareness of vector orientation (row vs. column vectors) in mathematical computations.
NEXT STEPS
  • Review the documentation for MathCad's LinearSolve function to understand its operational specifics.
  • Investigate Mathematica's LinearSolve function and its handling of matrix operations.
  • Explore the implications of matrix multiplication order in linear algebra.
  • Learn about orthogonal matrices and their properties, particularly in relation to solving linear systems.
USEFUL FOR

This discussion is beneficial for mathematicians, engineers, and students who are working with linear algebra in computational software, particularly those using Mathematica and MathCad for solving systems of equations.

LucianImago
Messages
6
Reaction score
0
Hi everybody,

Last time I was here I was asking about finding roots but many things have progressed. Anyway I have another problem now.

I have a linear system of equations which I'd like to solve: A.X==B

And I tried two things: get the inverse of A and multiply it with B and also use LinearSolve. Both gave me the same result so far so good.

The weird part happened when I did the same thing in MathCad. I used the same system of equations and the same everything. I tried the two methods and I got different solutions for X.

But the only way to get the two programs to agree (I did this as a fluke) is if in Mathematica I do: X=B.Inverse[A] and in MathCad i have X=Inverse[A].B.

I don't get it. What is this? What is it that I don't see?

I would very much appreciate if someone can clarify this for me.

Cheers,

Lucian
 
Physics news on Phys.org
Check the documentation on MathCad's version of LinearSolve -- I bet it's written to solve xA=b.

Many (all?) interactive computer algebra systems don't distinguish between row and column vectors -- it infers what you wanted from context.
 
This is what MathCad says about their lsolve:

lsolve(M, v) Returns the solution x for the linear system of equations M·x = v, using LU decomposition. The BLAS/LAPACK libraries (http://www.intel.com/software/products/mkl/features/lin_alg.htm ) from Intel are used.

Arguments:
M is a real or complex matrix. If the matrix is square, it must be non-singular.
v is a real or complex vector or matrix having the same number of rows as M.

And the same thing is said about LinearSolve in mathematica. No if what you are saying is true then how can I tell the program which is a row and which is a column or what am I suppose to do because I need to solve this system. If I have: B.Inverse[A] in mathematica I get the same as in Mathcad where I have Inverse[A].B, if I have B.Inverse[A] I get an answer in mathematica but not in MathCad where I get an error because this operation cannot be performed there.

So this is still confusing.
 
Last edited by a moderator:
Hrm. I still expect the answer is to be had in the documentation -- maybe something unexpected is going on with matrix multiply, or inverse, or maybe even how you enter the matrix.

Alas, the extent of my familiarity with your situation is that I find Mathematica awkward for linear algebra, so I can't be any further help. :frown:


Is A an orthogonal matrix? Try solving AT x = b and see what happens... since AT is the inverse of A in this case, that would make your initial observations misleading.
 
Yeah, I looked everywhere in the documentation. There is nothing about special cases or anything like that. If there is something going on then I don't know what to do. I hope someone on this forum knows.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
6
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 2 ·
Replies
2
Views
1K