error(number): converting occurrences remaining in all .sce .sci files
[scilab.git] / scilab / modules / overloading / macros / %sp_l_sp.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12
13 function x = %sp_l_sp(a,b)
14     // a\b , a sparse b sparse
15
16     [ma,na]=size(a)
17     [mb,nb]=size(b)
18     if ma<>mb then
19         msg = _("%s: Arguments #%d and #%d: Same numbers of rows expected.\n")
20         error(msprintf(msg, "%sp_l_sp", 1, 2))
21     end
22     if ma<>na then
23         b=a'*b;a=a'*a
24     end
25
26     [h,rk]=lufact(a)
27     if rk<min(ma,na) then warning("deficient rank: rank = "+string(rk)),end
28     x=[]
29     for k=1:nb
30         x=[x,sparse(lusolve(h,full(b(:,k))))]
31     end
32     ludel(h)
33 endfunction