Skip to content

Commit b5c7771

Browse files
committed
Update Readme
1 parent c9b4449 commit b5c7771

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

README.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
[![Build Status](https://github.com/janbruedigam/GraphBasedSystems.jl/workflows/CI/badge.svg)](https://github.com/janbruedigam/GraphBasedSystems.jl/actions?query=workflow%3ACI)
33
[![codecov](https://codecov.io/gh/janbruedigam/GraphBasedSystems.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/janbruedigam/GraphBasedSystems.jl)
44

5-
A package for efficiently solving linear systems of equations based on graph properties. Any matrix representing an underlying real-world system can be represented by a graph, for example a mechanical system, checmical molecules, neural networks, ... The code of the package is currently used for the robotics simulator [Dojo.jl](https://github.com/dojo-sim/Dojo.jl)
5+
A package for efficiently solving linear systems of equations based on graph properties. Any matrix representing an underlying real-world system can be represented by a graph, for example a mechanical system, chemical molecules, neural networks, ... The code of the package is currently used for the robotics simulator [Dojo.jl](https://github.com/dojo-sim/Dojo.jl)
66

7-
By providing the adjacency matrix of a graph-based system, the `GraphBasedSystems` package can automatically exploit the existing sparsity when solving the linear system to speed up calculations. Currently, the LU and LDU decomposition/backsubstitution are implemented.
7+
By providing the adjacency matrix of a graph-based system, the `GraphBasedSystems` package can automatically exploit the existing sparsity when solving the linear system to speed up calculations. Currently, the LDU, LU, LDLt, and LLt decomposition/backsubstitution are implemented. LLt is currently slow due to memory allocations.
88

99
```julia
1010
using GraphBasedSystems
@@ -18,16 +18,10 @@ graph_matrix = [ # The adjacency matrix for the underlying graph
1818

1919
dimensions = [2; 3; 0; 1] # The dimension of row/column
2020

21-
system = System{Float64}(graph_matrix, dimensions) # The resulting linear system
21+
system = System{Float64}(graph_matrix, dimensions; symmetric=false) # The resulting linear system. Set symmetric=true for symmetric systems
2222

23-
for entry in system.matrix_entries.nzval # Randomize all matrix entries
24-
GraphBasedSystems.randomize!(entry)
25-
end
23+
randomize!(system) # Randomize all system entries
2624
system.matrix_entries[1,2].value = rand(2,3) # Directly set the value of a matrix entry
27-
28-
for entry in system.vector_entries # Randomize all vector entries
29-
GraphBasedSystems.randomize!(entry)
30-
end
3125
system.vector_entries[4].value = rand(1) # Directly set the value of a vector entry
3226

3327
A = full_matrix(system) # Inspect the matrix

0 commit comments

Comments
 (0)