| #
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 ...
|
| #
02477ebb
|
| 15-Jul-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2023-06-30/enable-doc-lint' into 'main'
Enable docs linting
See merge request petsc/petsc!6667
|
| #
e056e8ce
|
| 12-Jul-2023 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Lint apply: tao
|
| #
d01c6957
|
| 28-Mar-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2023-03-25/fix-more-manualpages' into 'main'
More manual page fixes
See merge request petsc/petsc!6233
|
| #
2fe279fd
|
| 28-Mar-2023 |
Barry Smith <bsmith@mcs.anl.gov> |
More manual page fixes
|
| #
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
|
| #
90169e91
|
| 17-Jan-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'bourdin/tTao' into 'main'
Created tTao fortran type
See merge request petsc/petsc!5968
|
| #
954e39dd
|
| 11-Jan-2023 |
Jose E. Roman <jroman@dsic.upv.es> |
Manual pages: fix Synopsis of several TAO functions
|
| #
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
|
| #
d71ae5a4
|
| 21-Sep-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
source code format changes due to .clang-format changes
|
| #
b7124133
|
| 20-Sep-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-09-17/slimmer-petscobject' into 'main'
Feature: Slimmer PetscObject
See merge request petsc/petsc!5649
|
| #
4dfa11a4
|
| 17-Sep-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Remove parent, parentid, flops, time, mem, and memchildren. Deprecate PetscLogObjectParent(), PetscLogObjectMemory(), and PetscNewLog()
|
| #
38f67375
|
| 27-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/fix-style-one-liners' into 'main'
Remove braces from one-liners
See merge request petsc/petsc!5557
|
| #
48a46eb9
|
| 27-Aug-2022 |
Pierre Jolivet <pierre@joliv.et> |
Remove braces from one-liners
|
| #
58d68138
|
| 23-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-08-21/clang-format-source' into 'main'
format repository with clang-format
See merge request petsc/petsc!5541
|
| #
9371c9d4
|
| 22-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
clang-format: convert PETSc sources to comply with clang-format
|
| #
8fd105b6
|
| 17-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-28/add-petsccallmethod' into 'main'
Introduce PetscTryTypeMethod and PetscUseTypeMethod to replace ad hoc use of (*obj->ops->method) in source
See merge request petsc/
Merge branch 'barry/2022-06-28/add-petsccallmethod' into 'main'
Introduce PetscTryTypeMethod and PetscUseTypeMethod to replace ad hoc use of (*obj->ops->method) in source
See merge request petsc/petsc!5376
show more ...
|
| #
dbbe0bcd
|
| 23-Jul-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Convert setfromoptions methods over to PetscTryTypeMethod() approach
Flipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them co
Convert setfromoptions methods over to PetscTryTypeMethod() approach
Flipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them consistent with PetscTryTypeMethod() and all the other methods
Commit-type: refactorization /spend 4h
show more ...
|
| #
e6ab01ba
|
| 09-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-11/improve-mat-setable-values' into 'main'
Refactor handling of settable properties of matrix via MatSetOptions
See merge request petsc/petsc!5338
|
| #
b94d7ded
|
| 13-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Refactor handling of setable properties of matrices via MatSetOptions()
Introduce PetscBool3 with enum values true, false, and unknown
Use PetscBool3 to store matrices properties in a matrix and cl
Refactor handling of setable properties of matrices via MatSetOptions()
Introduce PetscBool3 with enum values true, false, and unknown
Use PetscBool3 to store matrices properties in a matrix and cleanup interface to check these values
Add full support for symmetric, Hermitian, structurally symmetric, and SPD.
Commit-type: feature /spend 6h
show more ...
|
| #
89669be4
|
| 02-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'psanan/docs-sphinx-man-pages' into 'main'
Integrate Man Pages into Sphinx Docs
Closes #1132 and #1015
See merge request petsc/petsc!4989
|