Re: Solve or LinearSolve or ...?
- To: mathgroup at smc.vnet.net
- Subject: [mg46378] Re: [mg46347] Solve or LinearSolve or ...?
- From: Oleksandr Pavlyk <pavlyk at phys.psu.edu>
- Date: Mon, 16 Feb 2004 23:42:04 -0500 (EST)
- Organization: Penn State University; Department of Physics
- References: <200402161359.IAA20483@smc.vnet.net>
- Reply-to: pavlyk at phys.psu.edu
- Sender: owner-wri-mathgroup at wolfram.com
Hi Scott,
From what you described I think this should do it
FindCoefficients[basis_List, point_] := Module[{CustomDer},
CustomDer[expr_, (a_) + (b_)] := (1/2)*CustomDer[expr, a] +
(1/2)*CustomDer[expr, b];
CustomDer[expr_, (a_)?NumericQ*(b_)] :=
(1/a)*CustomDer[expr, b];
CustomDer[expr_, a_] := D[expr, a];
(CustomDer[point, #1] & ) /@ basis
];
The solution is done defining customary derivatives which
is Mathematica's D function complemented with two additional
rules. It should be fast enough, I did not perform Timing though.
Best,
Sasha
Scott Morrison wrote:
> Hi,
>
> I'm trying to write a function to calculate coefficients in a basis;
> for example
>
> FindCoefficients[{f[a,a],f[a,b],f[b,a],f[b,b]}, f[a,a]+(1/2)f[b,a],
> _f]
>
> should produce {1,0,1/2,0}. The third argument there means `assuming
> all objects matching _f are linearly independent'. More difficult, it
> should produce
>
> FindCoefficients[{f[a]+f[b],f[a]-f[b]},f[a], _f] == {1/2,1/2}.
>
> And finally, it should work with rational functions as coefficients,
> not just numbers, and it should run fast enough to be useful with
> bases with thousands of elements. :-)
>
> I've spent quite some time trying to write something like this, and
> I'm finding it really difficult! I can't seem to use LinearSolve in
> any way -- it seems to trip up when I use rational functions as
> coefficients. I've been trying to work around Solve, but the only
> things that work are glacial in pace!
>
> Any ideas or suggestions? I'd be happy to post some of my attempts if
> they'd be helpful in explaining what I'm trying to do, but mostly I'm
> too embarrassed by them :-)
>
> Scott Morrison
- References:
- Solve or LinearSolve or ...?
- From: semorrison_@hotmail.com (Scott Morrison)
- Solve or LinearSolve or ...?