next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Macaulay2Doc :: inverse(Matrix)

inverse(Matrix) -- compute the inverse

Synopsis

Code

../../../../../../../Macaulay2/m2/methods.m2:592:52-601: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 -- ...     ../../../../../../../Macaulay2/m2/methods.m2:592:21-592:22
| key    : Symbol          -- inverse ../../../../../../../Macaulay2/m2/methods.m2:592:14-592:17
| -- function f:
| ../../../../../../../Macaulay2/m2/matrix1.m2:622:8-629:15: --source code:
|      m -> (
|       if hasEngineLinearAlgebra ring m and isBasicMatrix m then
|           basicInverse m
|       else (
|               (quo,rem) := quotientRemainder(id_(target m), m);
|               if rem != 0 then error "matrix not invertible";
|               quo))
|      )