next | previous | forward | backward | up | top | index | toc | directory | Macaulay 2 web site

inverse(Matrix) -- compute the inverse

Synopsis

Code

../../../../../../Macaulay2/m2/methods.m2:504:52-513:26: --source code:
cacheValue = key -> f -> new CacheFunction from (x -> (
          c := try x.cache else x.cache = new CacheTable;
          if c#?key then (
               val := c#key;
               if class val === CacheFunction then (
                    remove(c,key);
                    c#key = val x)
               else val
               )
          else c#key = f x))
| symbol   class              value                                                   location of symbol
| ------   -----              -----                                                   ------------------                                     
| f      : FunctionClosure -- {*Function[../../../../../../Macaulay2/m2/matrix1.m2:6. ../../../../../../Macaulay2/m2/methods.m2:504:21-504:21
| key    : Symbol          -- inverse                                                 ../../../../../../Macaulay2/m2/methods.m2:504:14-504:16
| -- function f:
| ../../../../../../Macaulay2/m2/matrix1.m2:639:8-642:11: --source code:
|      m -> (
|           (quo,rem) := quotientRemainder(id_(target m), m);
|           if rem != 0 then error "matrix not invertible";
|           quo))