class LA::BandedMatrix(T)
- LA::BandedMatrix(T)
- LA::Matrix(T)
- Reference
- Object
Overview
banded matrix, heap-allocated
Defined in:
linalg/banded.crmatrix/banded_matrix.cr
Constructors
- .new(nrows : Int32, ncolumns : Int32, upper_band : Int32, lower_band : Int32, values : Indexable)
- .new(nrows, ncolumns, upper_band, values : Indexable)
- .new(nrows : Int32, ncolumns : Int32, upper_band : Int32, lower_band : Int32 = upper_band, flags : LA::MatrixFlags = MatrixFlags::None)
- .new(nrows : Int32, ncolumns : Int32, upper_band : Int32, lower_band : Int32 = upper_band, flags : LA::MatrixFlags = MatrixFlags::None, &)
- .new(matrix : BandedMatrix)
- .new(matrix : Matrix, tolerance = matrix.tolerance)
Class Method Summary
- .diag(nrows, ncolumns, values)
- .estimate(matrix : Matrix(T), tolerance = matrix.tolerance)
- .rand(nrows, ncolumns, upper_band : Int32, lower_band : Int32, rng : Random = Random::DEFAULT)
- .rand(nrows, ncolumns, upper_band : Int32, rng : Random = Random::DEFAULT)
Instance Method Summary
- #==(other : BandedMatrix(T))
- #add(m : BandedMatrix(T), *, alpha = 1, beta = 1)
- #add(m : DenseMatrix, *, alpha = 1, beta = 1)
- #add!(m : BandedMatrix(T), *, alpha = 1, beta = 1)
- #clone
-
#conjtranspose
returns conjtransposed matrix
- #det(*, overwrite_a = false)
-
#dup
Returns a shallow copy of this object.
-
#each_index(*, all = false, &)
Yields every index
- #eigs(*, overwrite_a = false)
- #eigvals(*, overwrite_a = false)
-
#flags : MatrixFlags
Returns flags of matrix (see
MatrixFlags
) -
#flags=(flags : MatrixFlags)
Returns flags of matrix (see
MatrixFlags
) - #lower_band : Int32
- #lower_band=(value)
-
#map_with_index(&)
Returns result of appliyng block to every element with index
- #map_with_index_complex(&)
-
#map_with_index_f64(&)
TODO - macro magic?
-
#ncolumns : Int32
Returns number of columns in matrix
-
#norm(kind : MatrixNorm = MatrixNorm::Frobenius)
returns matrix norm
-
#nrows : Int32
Returns number of rows in matrix
- #set_bands(aupper, alower) : Nil
- #solve(b : GeneralMatrix(T), *, overwrite_a = false, overwrite_b = false)
- #svdvals(*, overwrite_a = false)
-
#to_unsafe
Returns pointer to underlying data
-
#transpose
returns transposed matrix
- #transpose!
-
#tril(k = 0)
Same as tril in scipy - returns lower triangular or trapezoidal part of matrix
-
#tril!(k = 0)
Works like a tril in scipy - remove all elements above k-diagonal
-
#triu(k = 0)
Same as triu in scipy - returns upper triangular or trapezoidal part of matrix
-
#triu!(k = 0)
Works like a triu in scipy - remove all elements below k-diagonal
- #unsafe_fetch(i, j)
- #unsafe_set(i, j, value)
- #upper_band : Int32
- #upper_band=(value)
Instance methods inherited from class LA::Matrix(T)
*(k : Number)*(k : Complex)
*(m : Matrix(T)) *, **(other : Int) **, +(k : Number)
+(k : Complex)
+(m : Matrix(T)) +, -(k : Number | Complex)
-(m : Matrix(T))
- -, /(k : Number | Complex) /, ==(other) ==, [](i : Int32, j : Int32)
[](arows : Range(Int32 | Nil, Int32 | Nil), acolumns : Range(Int32 | Nil, Int32 | Nil))
[](row : Int32, acolumns : Range(Int32 | Nil, Int32 | Nil))
[](arows : Range(Int32 | Nil, Int32 | Nil), column : Int32) [], []=(i : Int32, j : Int32, value)
[]=(arows : Range(Int32, Int32), acolumns : Range(Int32, Int32), value)
[]=(row : Int32, acolumns : Range(Int32, Int32), value)
[]=(nrows : Range(Int32, Int32), column : Int32, value) []=, add(m : Matrix, *, alpha = 1, beta = 1) add, add!(k : Number, m : Matrix) add!, almost_eq(other : Matrix(T), eps)
almost_eq(other : Matrix(T)) almost_eq, assume!(flag : MatrixFlags, value : Bool = true) assume!, balance(*, permute = true, scale = true, separate = false) balance, cat(other : Matrix(T), axis : Axis) cat, cholesky(*, lower = false, dont_clean = false) cholesky, chop(eps = self.tolerance) chop, clear_flags clear_flags, columns columns, conjt conjt, conjt! conjt!, conjtranspose conjtranspose, coshm coshm, cosm cosm, det det, detect(aflags : MatrixFlags = MatrixFlags::All, eps = tolerance) detect, detect?(aflags : MatrixFlags = MatrixFlags::All, eps = tolerance) detect?, diag(offset = 0) diag, each(*, all = false, &) each, each_index(*, all = false, &) each_index, each_lower(*, diagonal = true, all = false, &) each_lower, each_upper(*, diagonal = true, all = false, &) each_upper, each_with_index(*, all = false, &) each_with_index, eigs(*, left = false)
eigs(*, need_left : Bool, need_right : Bool)
eigs(*, b : self, need_left = false, need_right = false) eigs, eigvals eigvals, flags : MatrixFlags flags, hcat(other) hcat, hessenberg
hessenberg(*, calc_q = false) hessenberg, inspect(io) inspect, inv inv, kron(b : Matrix(T)) kron, lq lq, lq_r lq_r, lu lu, lu_factor : LUMatrix(T) lu_factor, map(&) map, map!(&) map!, map_with_index(&) map_with_index, map_with_index!(&) map_with_index!, max(axis : Axis) max, min(axis : Axis) min, ncolumns : Int32 ncolumns, norm(kind : MatrixNorm = MatrixNorm::Frobenius) norm, nrows : Int32 nrows, pinv pinv, product(axis : Axis) product, ql ql, ql_r ql_r, qr(*, pivoting = false) qr, qr_r(*, pivoting = false) qr_r, qr_raw(*, pivoting = false) qr_raw, qz(b : self) qz, reduce(axis : Axis, initial, &) reduce, repmat(arows, acolumns) repmat, rows rows, rq rq, rq_r rq_r, save_csv(filename) save_csv, scale!(k : Number | Complex) scale!, schur schur, shape shape, shape_str shape_str, sinhm sinhm, sinm sinm, size : Tuple(Int32, Int32) size, solve(b : self)
solve(b : GeneralMatrix(T), *, overwrite_b = false) solve, square? square?, sum(axis : Axis) sum, svd svd, svdvals svdvals, t t, t! t!, tanhm tanhm, tanm tanm, to_custom(io, prefix, columns_separator, rows_separator, postfix)
to_custom(prefix, columns_separator, rows_separator, postfix) to_custom, to_general to_general, to_imag to_imag, to_matlab(io)
to_matlab to_matlab, to_real to_real, to_s(io) to_s, to_unsafe to_unsafe, tolerance tolerance, trace trace, transpose transpose, tril(k = 0) tril, tril!(k = 0) tril!, triu(k = 0) triu, triu!(k = 0) triu!, vcat(other) vcat
Class methods inherited from class LA::Matrix(T)
arange(start_val : T, end_val : T, delta = 1.0)
arange,
block_diag(*args)
block_diag,
circulant(c)
circulant,
column(values)
column,
companion(a)
companion,
dft(n, scale : DFTScale = DFTScale::None)
dft,
diag(nrows, ncolumns, value : Number | Complex)diag(nrows, ncolumns, values)
diag(values)
diag(nrows, ncolumns, &) diag, eye(n) eye, fiedler(values) fiedler, from_custom(str : String, prefix, columns_separator, rows_separator, postfix)
from_custom(io, prefix, columns_separator, rows_separator, postfix) from_custom, from_matlab(s) from_matlab, hadamard(n) hadamard, hankel(column : Indexable | Matrix, row : Indexable | Matrix | Nil = nil) hankel, helmert(n, full = false) helmert, hilbert(n) hilbert, identity(n) identity, invhilbert(n) invhilbert, invpascal(n, kind : PascalKind = PascalKind::Symmetric) invpascal, kron(a, b) kron, leslie(f, s) leslie, load_csv(filename) load_csv, ones(nrows, ncolumns) ones, pascal(n, kind : PascalKind = PascalKind::Symmetric) pascal, rand(nrows, ncolumns, rng = Random::DEFAULT) rand, repmat(a : Matrix(T), nrows, ncolumns) repmat, row(values) row, toeplitz(column : Indexable | Matrix, row : Indexable | Matrix | Nil = nil) toeplitz, tri(nrows, ncolumns, k = 0) tri, zeros(nrows, ncolumns) zeros
Macros inherited from class LA::Matrix(T)
lapack(name, *args, worksize = nil)
lapack,
lapack_util(name, worksize, *args)
lapack_util
Instance methods inherited from module Enumerable(T)
product(initial : Complex)product(initial : Complex, &) product
Constructor Detail
Class Method Detail
Instance Method Detail
Returns a shallow copy of this object.
This allocates a new object and copies the contents of
self
into it.
Yields every index
all
argument controls whether to yield all or non-empty elements for banded\sparse matrices
Example:
m.each_index { |i, j| m[i, j] = -m[i, j] }
Returns flags of matrix (see MatrixFlags
)
Returns flags of matrix (see MatrixFlags
)
Returns result of appliyng block to every element with index
Returns number of columns in matrix
Returns pointer to underlying data
Storage format depends of matrix type This method raises at runtime if matrix doesn't have raw pointer
Same as tril in scipy - returns lower triangular or trapezoidal part of matrix
Returns a matrix with all elements above k-th diagonal zeroed
Works like a tril in scipy - remove all elements above k-diagonal
Same as triu in scipy - returns upper triangular or trapezoidal part of matrix
Returns a matrix with all elements below k-th diagonal zeroed
Works like a triu in scipy - remove all elements below k-diagonal