I was imagining that ' is the traditional transpose, and I think
that's the right thing - I'm thinking of a dual number as a real
number plus a *real* infinitesimal.  Which Wikipedia page are you
reading which makes you worried?  I think the stuff we're doing here
is unrelated to the 2x2 matrix representation of dual numbers, which I
suspect isn't used in actual numerical work.

On Tue, Jun 3, 2014 at 1:36 PM, Thomas Covert <[email protected]> wrote:
> By the way, using your notation, do we want the traditional transpose of M,
> or the conjugate transpose of M (i.e., -1 * M')?  Wikipedia seems to suggest
> that matrix operations on Dual Numbers require care similar to complex
> matrices.  I wonder if this makes the problem more clear (or not)?
>
>
>
>
> On Mon, Jun 2, 2014 at 10:30 PM, Chris Foster <[email protected]> wrote:
>>
>> Ah good hint.  Apparently a slightly more general version is called
>> the *-Sylvester Equation
>>
>> http://gauss.uc3m.es/web/personal_web/fteran/papers/equation_lama_rev.pdf
>>
>> and quite some work has been done, though I haven't time to dig
>> through the references.  The big difference in your case is that L and
>> M are lower triangular, and L appears in both terms multiplying the
>> unknown, so there's a lot more structure than usual (which leads to
>> the fact that forward substitution works).
>>
>> ~Chris
>>
>> On Tue, Jun 3, 2014 at 1:17 PM, Thomas Covert <[email protected]>
>> wrote:
>> > Thanks for that, Chris.  I also worked out a similar derivation - though
>> > I
>> > wasn't able to prove to myself that the equation B = L*M' + M*L' has a
>> > unique solution for M.
>> >
>> > This feels similar to the Sylvester Equation, but its not quite the
>> > same...
>> >
>> >
>> > On Mon, Jun 2, 2014 at 10:13 PM, Chris Foster <[email protected]>
>> > wrote:
>> >>
>> >> On Tue, Jun 3, 2014 at 4:43 AM, Thomas Covert <[email protected]>
>> >> wrote:
>> >> > I was hoping to find some neat linear algebra trick that would let me
>> >> > compute a DualNumber cholesky factorization without having to resort
>> >> > to
>> >> > non-LAPACK code, but I haven't found it yet.  That is, I figured that
>> >> > I
>> >> > could compute the cholesky factorization of the real part of the
>> >> > matrix
>> >> > and
>> >> > then separately compute a matrix which represented the DualNumber
>> >> > part.
>> >> > However, I've not yet found a math text describing such a beast.
>> >>
>> >> I'm not sure exactly where you'd look this up, but here's a go at
>> >> setting the problem up.
>> >>
>> >> Suppose you're trying to factorise
>> >>
>> >>   (A + e*B) = (L + e*M) * (L + e*M)'
>> >>
>> >> where e is the dual imaginary unit.  That is, (L + e*M) is the desired
>> >> Cholesky
>> >> factor of (A + e*B).  Expanding this out using e*e = 0 leads to
>> >>
>> >>   A = L*L'
>> >>   B = L*M' + M*L'
>> >>
>> >> So you can compute the real part L of the Cholesky decomposition
>> >> exactly
>> >> as
>> >> usual.  Given that you now have L, you want the lower triangular matrix
>> >> M.
>> >> Because L and M are lower triangular that's actually quite easy: matrix
>> >> elements of M can be computed from the top left to bottom right in a
>> >> process
>> >> that basically looks like forward substitution.
>> >>
>> >> You probably want this second step to use LAPACK though, since it's
>> >> still
>> >> O(N^3)...  Ideally the system of equations
>> >>
>> >>   B = L*M' + M*L'
>> >>
>> >> actually has a name and there's a standard way to solve it.  I don't
>> >> know
>> >> it
>> >> though and a quick search failed to enlighten me.  Perhaps someone else
>> >> can
>> >> give us a hint?
>> >>
>> >> ~Chris
>> >
>> >
>
>

Reply via email to