Coder Social home page Coder Social logo

linearalgebra's People

Contributors

pederson avatar

Watchers

 avatar  avatar

linearalgebra's Issues

Matrix requirements

Come up with set of requirements... Do we really care about saving memory when assigning a matrix to a submatrix? possibly yes for householder algorithm. But it could cause problems upon deletion of the larger matrix

error messages

often, an error is thrown as char*, rather than printed to screen. This doesnt give enough info about the error to the user

Abstract type issues

Need to define vector= matrix_vector multiplication in the abstract type (also possibly transpose matrix_vector). The problem is that this requires that Vector_Vector multiplication be define. But in general, Vector_Vector returns a matrix. So, defining Vector = Vector*Vector is wrong in general. How can I get around this? (Can I define implicit conversion from 1x1 matrix to double?)

VectorStack with rvalue

should be able to do something like this:
make_vector_stack(create_vector_1(), create_vector_2(), ...)

so that the arguments to make_vector_stack are rvalues

Transposed vector assignment

When assigning a row vector, it gets changed to a column vector... something in the assignment operator or a rowvector*Matrix product

headers only

move all functions residing in cpp file to the header file. More easily portable that way

SparseMatrix transpose/swap

transposing sparse matrix has an issue . The transpose issue is originating from the swap operation (I think it's related to the iterators in m_row_ptr)

const Matrix_Proxy

cannot make a const Matrix_Proxy in the current implementation because a parent matrix is a data member. Need to change this so that the data member isn't a parent matrix, but rather a pointer to data with rowstride and columnstride info.

Random matrix generation slow

slow for matrix sizes above ~ 1000x1000.... a better idea would be to randomly select (i,j) values according to the fill ratio, rather than iterating and rejecting a ton of values.

Implement Proxy Paradigm

Use the proxy paradigm and make a Matrix_Impl class that stores the actual matrix data. Then the Matrix class can decide how to implement submatrix assignment, transpose, etc...

Vector Multifunctor type safety

Need to have strong type safety with good compile-time failure messages especially for the vector container functor/multifunctor because these rely on preprocessor macros defined in Macros.hpp

GMRES, ILU, IC

gmres, incomplete LU, and incomplete cholesky are not working

SparseMatrix assignment

does weird things when assigning a sparsematrix to an empty sparsematrix stub...
for example:

SparseMatrix D;
D = spdiag(diag(A));

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.