Its a nonsymmetric linear solve.  Issue 8240 looks great, FE problems will 
be much easier to do when that is finished.  I am working on a large 
(eventually parallel) CFD solver that will use Petsc (I'm working on 
wrappers here:  https://github.com/JaredCrean2/PETSc.jl) for the linear 
solves.  UMPFPACK is sufficiently efficient for debugging and running 
small, single processor problems.

Jared Crean

On Tuesday, August 11, 2015 at 7:56:56 PM UTC-4, Tony Kelman wrote:
>
> If it's dense within the band, then what you really want is issue 8240. 
> Are you dealing with symmetric positive definite, symmetric indefinite, or 
> nonsymmetric? Eigenproblems or linear system solves? There are LAPACK 
> methods for banded matrices that should be more efficient than using 
> Cholmod or UMFPACK here, since they don't need to do anywhere near as much 
> integer arithmetic as SuiteSparse would (to represent a band matrix in CSC 
> format). We just don't have a Julia type for band matrices yet or ccall 
> wrappers around the corresponding LAPACK methods. I'm not sure whether 
> Jiahao made much progress on any prototypes, but banded matrices could 
> easily be worked on outside of base at first.
>
>
> On Tuesday, August 11, 2015 at 4:42:18 PM UTC-7, Jared Crean wrote:
>>
>> Its a classical dense-within-the-band matrix (from a Finite Element 
>> problem).
>>
>> I want access to the solvers that are already supported by 
>> SparseMatrixCSC, and interfacing them to another new type seems like a lot 
>> of work.  If there were an abstract CSC matrix type, this could be made 
>> much easier.  I've been hoping issues #8001, #9906, and #9928 would lead in 
>> that direction, but so far they haven't.
>>
>> The syntax is really what I am after with the overriding of the methods.  
>> Using a macro is a safer alternative.  I'll have to try that at some point.
>>
>> Jared Crean
>>
>> On Tuesday, August 11, 2015 at 7:25:06 PM UTC-4, Tony Kelman wrote:
>>>
>>> For storing explicit zeros you're best off modifying nzvals directly.
>>>
>>> In what way are you specializing your banded getindex method? Is this a 
>>> classical banded but dense-within-the-band matrix, or general CSC sparse 
>>> but with additional knowledge that no nonzeros ever have i and j different 
>>> by more than the bandwidth? You're probably better off either making a new 
>>> type for this that just wraps a SparseMatrixCSC for storage and either 
>>> stores or is parameterized by the bandwidth, or using a different method 
>>> other than getindex for this. If you'll miss the syntax, you could write a 
>>> macro to locally replace getindex with your specialized version.
>>>
>>>
>>> On Tuesday, August 11, 2015 at 1:00:58 PM UTC-7, Jared Crean wrote:
>>>>
>>>> For a problem I am working on, I need to be able to store explicit 
>>>> zeros in a SparseMatrixCSC.  While the storage format supports this, the 
>>>> setindex! method does not. Also, for banded sparse matricies I can define 
>>>> a 
>>>> much more efficient getindex method than the generic one.  When I define 
>>>> my 
>>>> own method (importing the one from Base and then creating a method with 
>>>> the 
>>>> same signature as the existing one) I get warnings of the type:
>>>>
>>>>
>>>> Warning: Method definition 
>>>> getindex(Base.SparseMatrix.SparseMatrixCSC{#T<:Any, Ti<:Integer}, Integer, 
>>>> Integer) in module SparseMatrix at sparse/sparsematrix.jl:1232 overwritten 
>>>> in module PDESolverCommon at 
>>>> /users/creanj/.julia/v0.4/PDESolverCommon/src/sparse.jl:63.
>>>>
>>>> My question is in what contexts is the method overwritten?  In my local 
>>>> context (the REPL session where I use the one I created).  Do functions 
>>>> within Base use the one in Base or the local one?
>>>>
>>>> Jared Crean
>>>>
>>>>
>>>>

Reply via email to