[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: Implementation of mldivide?

**From**: |
Jordi Gutiérrez Hermoso |

**Subject**: |
Re: Implementation of mldivide? |

**Date**: |
Tue, 26 Jul 2011 09:47:11 -0500 |

On 26 July 2011 03:33, CdeMills <address@hidden> wrote:
>* I compute the derivative of some vector like this: from an input*
>* data vector y, I first compute a vector Z. From the values of Z I*
>* compute L, whose columns are function of elements Zi. Then I compute*
>* B = L\y*
>* Now I'm trying to compute dB/dZ. To this end, I assume that the*
>* analytical form of B is*
>* B=inv(L.'*L)*L.'*y*
>* I obtain a formulation implying B, L, y, and dL/dZ. When I try to*
>* validate this by simulations, i.e. introducing noise on y, having Z,*
>* L, and B varying with noise, I can validate most of the components*
>* of dBdZ, but not all. So I'm wondering: how is mldivide implemented*
>* analytically ? In which source file is its code ?*
I'm not sure what you mean by "analytically". The formula you wrote
down for the inverse of L is certainly not used by the backslash
operator. Ignoring that word, the answer is a little complicated,
because the implementation of the backslash operator is spread out
over several source files depending on the inputs. You may find these
answers from the manual more illuminating:
http://www.gnu.org/software/octave/doc/interpreter/Techniques-Used-for-Linear-Algebra.html#Techniques-Used-for-Linear-Algebra
http://www.gnu.org/software/octave/doc/interpreter/Sparse-Linear-Algebra.html#Sparse-Linear-Algebra
HTH,
- Jordi G. H.