Question: Problem with SparseIterative?

Hello, everyone! I have a very nice, very sparse linear system (only containing 1s and -1s, with at most 2 entries per column). Thus, I immediately thought to take advantage the SparseIterative (or SparseDirect) methods associated with LinearAlgebra,LinearSolve, but alas, it isn't quite working. This is what I loosely do: gen_linear_system := proc(... some parameters ...) ... ls_m := Matrix(len, total_var, datatype='integer[1]', storage='sparse'); ... (fill matrix with appropriate 1s and -1s) return ls_m; end proc; solve_linear_system := proc(system_matrix::Matrix) #sol := LinearSolve(system_matrix, B, free='t'); sol := LinearSolve(system_matrix, B, method='SparseIterative', free='t'); #sol := LinearSolve(system_matrix, B, method='SparseDirect', free='t'); end proc; # in my actual code ls_m := gen_linear_system(... some parameters ...) solve_linear_system(ls_m); When I run my code with: sol := LinearSolve(system_matrix, B, free='t'); it works just perfectly. But when I run my code with: sol := LinearSolve(system_matrix, B, method='SparseIterative', free='t'); I get the following error message: "method %1 incompatible with data of type %2", SparseIterative, anything And when I run my code with: sol := LinearSolve(system_matrix, B, method='SparseDirect', free='t'); I get the following error message: "method %1 incompatible with data of type %2", SparseLU, anything Can anyone tell me what I am doing wrong here? I specify that my matrix contains only integers. And I only fill it with 1s and -1s... does it loose the datatype when I return it, and then pass it to another function? Or am I somehow fundamentally mis-using SparseIterative and SparseDirect? Anyhelp would be just absolutely lovely! Thank you! Susan
Please Wait...