Code
../../m2/methods.m2:653:52-662: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 -- ... ../../m2/methods.m2:653:21-653:22
| key : Symbol -- inverse ../../m2/methods.m2:653:14-653:17
| -- function f:
| ../../m2/matrix1.m2:619:8-626: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))
| )