       Re: matrix operations -- shared data vs copied

• To: mathgroup at smc.vnet.net
• Subject: [mg65933] Re: [mg65917] matrix operations -- shared data vs copied
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Mon, 24 Apr 2006 06:01:34 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```A=Array[a,{3,4}];

B=A;

B is a copy of A at the time the assignment is made

Clear[A]

B

{{a[1, 1], a[1, 2], a[1, 3], a[1, 4]},
{a[2, 1], a[2, 2], a[2, 3], a[2, 4]},
{a[3, 1], a[3, 2], a[3, 3], a[3, 4]}}

To Extract a column (say 2)

B[[All,2]]

{a[1, 2], a[2, 2], a[3, 2]}

Look in the Help Browser at the documentation for the add-on package
LinearAlgebra`MatrixManipulation`

Bob Hanlon

>
> From: robert.dodier at gmail.com
To: mathgroup at smc.vnet.net
> Subject: [mg65933] [mg65917] matrix operations -- shared data vs copied
>
> Hello,
>
> I'm trying to get a handle on what Mathematica does with some
> matrix operations. I wasn't able to figure it out by web or newsgroups
> search so maybe you can help.
>
> Suppose A is a matrix. Consider these operations.
>
> (1) B = A
>
> (2) myfunction[A]
>
> (3) B = (some way of extracting column 1 of A)
>
> (4) B = (some way of pasting A onto another matrix)
>
> The question of interest is whether modifying elements of A also
> modify B after operations (1), (3), and (4), and whether modifications
> of the formal argument within myfunction also modify the actual
> argument (namely A).
>
> In some math languages, B = A and myfunction[A] actually create
> copies of A, likewise row/column extraction and pasting matrices
> together. But that's not the only way to do it; I'm trying to figure
> out where Mathematica stands on this point.
>
> Thanks for any pointers or other information.
>
> Robert Dodier
>
>

```

• Prev by Date: Re: How to extract functions from a list and call them with any argument?
• Next by Date: Re: How to extract functions from a list and call them with any argument?
• Previous by thread: Re: matrix operations -- shared data vs copied
• Next by thread: Re: matrix operations -- shared data vs copied