History log of /petsc/src/ksp/ksp/utils/lmvm/lmvmimpl.c (Results 1 – 25 of 95)
Revision Date Author Comments
# 834855d6 27-Aug-2025 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jolivet/clang-format-21' into 'main'

clang-format-21

See merge request petsc/petsc!8202


# ac530a7e 03-Jun-2025 Pierre Jolivet <pierre@joliv.et>

Remove unnecessary braces around one-liners

git grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\

Remove unnecessary braces around one-liners

git grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\) {([^;]*);([^;]*)}$#\1\2 \(\3\)\4;\5#'

show more ...


# 3a7d0413 12-May-2025 Pierre Jolivet <pierre@joliv.et>

One-liners from petsc/petsc!5344 and petsc/petsc!5557

Slightly reworked regular expression

git ls-files -z -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | while IFS= read -r -d '' file; do
cat

One-liners from petsc/petsc!5344 and petsc/petsc!5557

Slightly reworked regular expression

git ls-files -z -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | while IFS= read -r -d '' file; do
cat $file | tr '\n' '\r' | sed -E 's/\r([ ]*)(for|if|while|else) ([^\r]*)\{\r[ ]*Petsc([a-zA-Z]*)\(([^\r]*)\);\r[ ]*\}\r/\r\1\2 \3Petsc\4(\5);\r/g' | tr '\r' '\n' > ${file}.joe; mv ${file}.joe ${file}
done

show more ...


# 58bddbc0 11-Apr-2025 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-lmvm-rework' into 'main'

MatLMVM rework

See merge request petsc/petsc!6401


# 1ca5963a 26-Mar-2025 Toby Isaac <toby.isaac@gmail.com>

MatLMVM: Complete rework of internals to use LMBasis and LMProducts

I don't think there is a good way to break this up into smaller commits: once I
use LMBasis and LMProducts in Mat_LMVM, all of the

MatLMVM: Complete rework of internals to use LMBasis and LMProducts

I don't think there is a good way to break this up into smaller commits: once I
use LMBasis and LMProducts in Mat_LMVM, all of the implementations that depend on
it are broken until they are changed to also use these new objects. It is probably
better to review all of the MatLMVM implementations (except for denseqn) as new code
rather than trying to review using a diff tool.

This rework achieves:

- Implementations of three classes of algorithms for limitd memory quasi-Newton updates
- MAT_LMVM_MULT_RECURSIVE: Recursive, level 1 BLAS algorithms that closely match
the typical way the methods are presented mathematically.
- MAT_LMVM_MULT_DENSE: level 2 BLAS algorithms that, when possible,
avoid any need for recomputation when the reference Jacobian J0 changes.
- MAT_LMVM_MULT_COMPACT_DENSE: level 2 BLAS algorithms that construct rank-m (or rank-2m)
update representations of the operators, for the best-performance on MatMult() and MatSolve(),
but at the cost of additional setup, and requiring more recomputation when J0 changes
than MAT_LMVM_MULT_DENSE
- Every quasi-Newton method has a dual method (e.g. BFGS and DFP): we exploit this duality
to use only one code path for a dual pair, reducing the numer of implementaitons to maintain
- Special handling of the case J0 = gamma * I, avoiding products that are unnecessary in this case
- Instead of including a MatLMVMDiagBrdn as the J0 matrix when J0 is
variable (which means that both B and J0 of basis vectors to maintain),
a SymBroydenRescale object is shared by MatLMVMDiagBrdn and other formats that use rescaling
- Improved correctness of when internal products need to be recomputed: if the user externally
changes J0, this will be detected

show more ...


# 6d8694c4 20-Mar-2025 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2024-04-29/add-fortran-enums' into 'main'

Major updates to Fortran interface

See merge request petsc/petsc!7517


# ce78bad3 20-Feb-2025 Barry Smith <bsmith@petsc.dev>

Fortran 90: fully embrace After 34 years!

- deprecate use of 'F90' in Fortran function names
- use Fortran pointers when appropriate
- the new Fortran API is not backward compatible with previous ve

Fortran 90: fully embrace After 34 years!

- deprecate use of 'F90' in Fortran function names
- use Fortran pointers when appropriate
- the new Fortran API is not backward compatible with previous versions!
- also clean up inconsistent PETSc code detected by new Fortran generation tools
- drop use of bfort
- automatically generate all the Fortran PETSc objects, enums etc from the include files
- generate most of the Fortran interface definitions and functions from the source code
- simplify the number and organization of Fortran modules

Co-authored-by: Jose E. Roman <jroman@dsic.upv.es>

show more ...


# 32e03751 29-Jul-2024 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jose/deprecate-petsc-default' into 'main'

Fix usage of deprecated PETSC_DEFAULT

See merge request petsc/petsc!7707


# fb842aef 29-Jul-2024 Jose E. Roman <jroman@dsic.upv.es>

Fix usage of deprecated PETSC_DEFAULT


# 5fe01c21 22-Mar-2024 Satish Balay <balay@mcs.anl.gov>

Merge branch 'hsuh/dense-lmvm-squashed' into 'main'

Dense LMVM

See merge request petsc/petsc!7371


# bbb72809 14-Mar-2024 Hansol Suh <hsuh@anl.gov>

Dense LMVM - BFGS, DFP, QN implemented


# fc288817 13-Dec-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-12-12/docs-error-on-bad-man-page' into 'main'

make docs should error on some errors in the manual pages. This...

See merge request petsc/petsc!7113


# b3113221 12-Dec-2023 Barry Smith <bsmith@mcs.anl.gov>

Add two missing Level from manual pages


# 713b55d3 06-Dec-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'stefanozampini/snes-lmvm' into 'main'

Improve MATLMVM support in SNES

See merge request petsc/petsc!7030


# 67f9f68e 06-Nov-2023 Stefano Zampini <stefano.zampini@gmail.com>

MATLMVM: must call reset if history size changes


# e96a0efe 05-Nov-2023 Stefano Zampini <stefano.zampini@gmail.com>

MATLMVM: cleanup interface


# 65a5e993 09-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'stefanozampini/matlmvm' into 'main'

some optimizations for MATLMVM

See merge request petsc/petsc!6034


# 11298ce6 07-Feb-2023 Stefano Zampini <stefano.zampini@gmail.com>

MATLMVM: Some optimizations

Use VecMDot when possible
Use VecDotNorm2
replace copy + scale with AXPBY


# 8e1d7368 07-Feb-2023 Stefano Zampini <stefano.zampini@gmail.com>

MATLMVM: Use MatCreateVecs

Remove errors for API that are not a getters
Fix man pages


# 31d78bcd 02-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-12-10/petscerrorcode-nodiscard' into 'main'

Feature: Non-discardable PetscErrorCode

See merge request petsc/petsc!5923


# 3ba16761 10-Dec-2022 Jacob Faibussowitsch <jacob.fai@gmail.com>

Make PetscErrorCode a non-discardable enum


# 7650e6c4 05-Nov-2022 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/release'


# 39dd3f39 04-Nov-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2022-11-02/fix-lmvm-matcreate/release' into 'release'

Do not create vectors if they are not requested in MatCreateVecs_LMVM

See merge request petsc/petsc!5797


# c0cf92b4 02-Nov-2022 Barry Smith <bsmith@mcs.anl.gov>

Do not create vectors if they are not requested

Commit-type: bug-fix
/spend 5m
Reported-by: Stephan Köhler <stephan.koehler@math.tu-freiberg.de>


# 061e922f 22-Sep-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-09-21/2-bike-2-shed' into 'main'

Feature: Bicycle Storage Facility 2

See merge request petsc/petsc!5661


1234