Skip to content

Commit b7cbb38

Browse files
update README and LICENSE
1 parent 7e987a2 commit b7cbb38

2 files changed

Lines changed: 78 additions & 11 deletions

File tree

LICENSE.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
1-
Copyright © 2020-2021 Dynare Team
1+
MIT License
22

3-
This program is free software: you can redistribute it and/or modify
4-
it under the terms of the GNU General Public License as published by
5-
the Free Software Foundation, version 3 of the License.
3+
Copyright (c) 2021 Dynare Team <contact@dynare.org> and contributors
64

7-
This program is distributed in the hope that it will be useful,
8-
but WITHOUT ANY WARRANTY; without even the implied warranty of
9-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10-
GNU General Public License for more details.
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
1111

12-
You should have received a copy of the GNU General Public License
13-
along with this program. If not, see <https://www.gnu.org/licenses/>.
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,60 @@
1-
WORK IN PROGRESS
1+
WORK IN PROGRESS
2+
3+
``FastLapackInterface`` separates workspace allocation and actual
4+
running for some Lapack algorithms:
5+
6+
- LU factorization
7+
- QR factorization
8+
- Schur factorization
9+
10+
### LU factorization and linear problem solution
11+
12+
- ``ws = LinSolveWs(n)`` creates storage for a linear problem with `n`
13+
equations.
14+
- ``lu!(A, ws)`` computes the LU factorization and stores it in
15+
``ws``
16+
- ``linsolve_core!(A, b, ws)`` computes LU factorization for matrix
17+
`A` and returns the solution of `Ax=b` in `b`.
18+
- ``linsolve_core_no_lu!(A, b, ws)`` computes the solution of `Ax=b`
19+
and returns it in `b` by using the LU decomposition of `A` already
20+
stored in `ws`.
21+
22+
### QR factorization ( A = Q*R)
23+
24+
- `ws = QrWs(A)` allocates workspace for QR factorization of
25+
a matrix similar to `A`
26+
- `geqrf_core!(A, ws)` computes QR factorization of matrix `A` and
27+
stores it in `A` and `ws.tau`
28+
- `ormqr_core!(side, A, C, ws)` computes `Q*C` (`side='L'`) or `C*Q`
29+
(`side='R'`)
30+
- `ormqr_core!(side, transpose(A), C, ws)` computes `transpose(Q)*C`
31+
(`side='L'`) or `C*transpose(Q)` (`side='R'`)
32+
33+
### Schur factorization
34+
35+
- `DgeesWs(n)` allocates workspace for the real Schur decomposition of
36+
a matrix of order `n`
37+
- `DgeesWs(A)` allocates workspace for the real Schur decomposition of
38+
a matrix similar to `A`
39+
- `dgees!(ws, A)` computes the Schur decomposition and stores it in
40+
`A`. The Schur vectors are stored in `ws.vs` and the eigenvalues in
41+
`ws.eigen_values`. The Schur decomposition is ordered so that
42+
eigenvalues larger than 1+1e-6 in modulus are ordered first.
43+
- `dgees!(ws, A, op, crit)` computes the Schur decomposition and stores it in
44+
`A`. The Schur vectors are stored in `ws.vs` and the eigenvalues in
45+
`ws.eigen_values`. The Schur decomposition is ordered according to `λ op crit`
46+
where `op` can be `<`, `<=`, `>` or `>=`.
47+
- `DggesWs(A, B)` allocates workspace for the real generalized Schur decomposition of
48+
a matrices similar to `A` and `B`
49+
- `dgges!(jobvsl, jobvsr, A, B, vsl, vsr, eigval, ws)`
50+
computes the generalized Schur decomposition and stores it in
51+
`A` and `B`. When `jobvsl` is 'V', the left Schur vectors are stored in `vsl`.
52+
When `jobvsr` is 'V', the right Schur vectors are stored in `vsr`.
53+
The eigenvalues are stored in `eigval`. The Schur decomposition is ordered so that
54+
eigenvalues larger than 1+1e-6 in modulus are ordered first.
55+
56+
## Package version
57+
- v0.1.3: works only with Julia >= 1.7
58+
59+
## TODO
60+
- homogenize API to the various functions

0 commit comments

Comments
 (0)