Okay. Now I understand what is going on. I would like something like this
to work. I'll have to go now, but will think about what to do.


2014-03-25 16:40 GMT+01:00 James Crist <crist...@umn.edu>:

> I just realized that my test case is obviously singular, so not
> invertible. But I don't think it even gets to the actual inversion code
> before erroring, so I doubt that's the problem.
>
> -Jim
>
>
> On Tuesday, March 25, 2014 10:38:45 AM UTC-5, James Crist wrote:
>>
>> Here's the gist: https://gist.github.com/jcrist/ad663d6bdc4d82896176
>>
>> I tried to simplify everything down to just the bare essentials, but
>> there may be something I missed. Gives the same error as it did in the full
>> code though, so I think I got it all.
>>
>> I'm running version 0.2.0.
>>
>> Thanks,
>>
>> -Jim
>>
>> On Tuesday, March 25, 2014 10:21:10 AM UTC-5, Andreas Noack Jensen wrote:
>>>
>>> A gist would be helpful. By the way, which version of Julia are you
>>> running?
>>>
>>>
>>> 2014-03-25 16:19 GMT+01:00 James Crist <cris...@umn.edu>:
>>>
>>>> I'm probably not. New to this language, still figuring things out. The
>>>> matrix type seems to be inferred correctly though. I'll put a gist up in a
>>>> bit to try and get some more relevant feedback.
>>>>
>>>>
>>>> On Tuesday, March 25, 2014 9:54:53 AM UTC-5, Andreas Noack Jensen wrote:
>>>>
>>>>> I don't think you are right about LAPACK. The code tries to promote to
>>>>> a type which is stable under lu factorizing which is the intermediate step
>>>>> in the calculation. The problem could be that your matrix type is not
>>>>> inferred correctly. Please try to let your type by subtype of Number and
>>>>> then define your matrix by
>>>>>
>>>>> a = Mytype[mytype(1) mytype(2); mytype(3) mytype(4)]
>>>>>
>>>>> and see if it works.
>>>>>
>>>>>
>>>>> 2014-03-25 15:29 GMT+01:00 James Crist <cris...@umn.edu>:
>>>>>
>>>>> Yeah, I get a "ERROR: no method Triangular{..." error, because my type
>>>>>> doesn't subtype Number. If I do subtype number, then it wants a 
>>>>>> conversion
>>>>>> function to convert it to a float, so it can use the LAPACK routines.
>>>>>>
>>>>>> -Jim
>>>>>>
>>>>>>
>>>>>> On Tuesday, March 25, 2014 9:22:29 AM UTC-5, Andreas Noack Jensen
>>>>>> wrote:
>>>>>>
>>>>>>> Have you tried to invert it? Maybe it works already. There is a
>>>>>>> generic inv in base/linalg/generic.jl. You'll have to define a one 
>>>>>>> method
>>>>>>> for you type and maybe also a zero method.
>>>>>>>
>>>>>>>
>>>>>>> 2014-03-25 15:14 GMT+01:00 James Crist <cris...@umn.edu>:
>>>>>>>
>>>>>>> I have a type I've defined. It's not a number, but it has all
>>>>>>>> arithmetic operations defined for it. Is there a way to calculate the
>>>>>>>> inverse of a matrix of a user defined type? For example, if I was to 
>>>>>>>> define:
>>>>>>>>
>>>>>>>> a = [mytype(1) mytype(2); mytype(3) mytype(4)]
>>>>>>>> b = inv(a)
>>>>>>>>
>>>>>>>> Looking through base, there doesn't seem to be a way to find
>>>>>>>> inverses of non-numeric matrices (although I may be missing it). For my
>>>>>>>> case, even a simple algorithm that only works well for small matrices
>>>>>>>> (<10x10) would be more than sufficient. If a way for doing this doesn't
>>>>>>>> currently exist, I'll probably try to roll my own.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Med venlig hilsen
>>>>>>>
>>>>>>> Andreas Noack Jensen
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Med venlig hilsen
>>>>>
>>>>> Andreas Noack Jensen
>>>>>
>>>>
>>>
>>>
>>> --
>>> Med venlig hilsen
>>>
>>> Andreas Noack Jensen
>>>
>>


-- 
Med venlig hilsen

Andreas Noack Jensen

Reply via email to