Very confusing problem in Mathematica

Click For Summary

Discussion Overview

The discussion revolves around a problem encountered while solving a linear system of equations using Mathematica and MathCad. Participants explore the differences in results obtained from the two software packages when applying similar methods to the same equations.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • Lucian describes attempting to solve a linear system A.X==B using both the inverse of A and LinearSolve in Mathematica, noting that both methods yield the same result.
  • Lucian observes a discrepancy when performing the same operations in MathCad, leading to different solutions for X.
  • One participant suggests checking MathCad's documentation, indicating that it may solve equations in the form xA=b, which could explain the differences in results.
  • Another participant points out that interactive computer algebra systems like Mathematica may not distinguish between row and column vectors, potentially affecting the interpretation of matrix operations.
  • Lucian expresses confusion regarding how to specify row versus column vectors in both software packages, especially when encountering errors in MathCad.
  • One participant speculates that there may be unexpected behavior in matrix multiplication or inversion, suggesting that orthogonal matrices could complicate the situation.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the cause of the discrepancies between Mathematica and MathCad. Multiple competing views regarding the interpretation of matrix operations and documentation remain present.

Contextual Notes

There are unresolved questions about how to properly specify matrix dimensions and operations in both software environments, as well as potential implications of using orthogonal matrices.

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
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
4K
  • · 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
2K