Ho diversi problemi di ottimizzazione globale non convessi da risolvere. Attualmente uso MATLAB's Optimization Toolbox (in particolare, fmincon()con algoritmo = 'sqp'), che è abbastanza efficace . Tuttavia, la maggior parte del mio codice è in Python e mi piacerebbe fare l'ottimizzazione anche in Python. Esiste un solutore NLP con attacchi …
I sistemi lineari sparsi si presentano con frequenza crescente nelle applicazioni. Uno ha molte routine tra cui scegliere per risolvere questi sistemi. Al livello più alto, esiste uno spartiacque tra i metodi diretti (ad es. Eliminazione gaussiana sparsa o decomposizione di Cholesky, con speciali algoritmi di ordinamento e metodi multifrontali) …
Per quanto ne so, ci sono 4 modi per risolvere un sistema di equazioni lineari (correggimi se ci sono più): Se la matrice di sistema è una matrice quadrata a pieno titolo, è possibile utilizzare la regola di Cramer; Calcola l'inverso o lo pseudoinverso della matrice del sistema; Utilizzare metodi …
Ho matrici e . è scarso ed è con molto grande (può essere dell'ordine di diversi milioni). è una matrice alta con piuttosto piccola ( ) e ogni colonna può disporre di una sola voce con il resto essendo s' tali che . è enorme, quindi è davvero difficile da …
Esistono diverse librerie che risolvono un sistema di equazioni sparse e lineari, tuttavia trovo difficile capire quali siano le differenze. Per quanto ne so, ci sono tre pacchetti principali: Trilinos , PETSc e Intel MKL . Sono tutti in grado di eseguire soluzioni a matrice sparsa, sono tutti veloci (per …
Sono interessato ai casi in cui il gradiente coniugato funziona molto meglio del metodo GMRES. In generale, CG è la scelta preferibile in molti casi di SPD (simmetrico-positivo-definito) perché richiede meno memoria e il limite teorico al tasso di convergenza per CG è il doppio di quello GMRES. Ci sono …
Sono rimasto molto colpito dalle prestazioni seriali dei precondizionatori ILU multilivello basati su inverse , in particolare per l' eterogenea Helmholtz , ma sono sorpreso di non riuscire a trovare implementazioni open source. In particolare, ILUPACK rende i binari liberamente disponibili per gli accademici, ma non sembra che rilascino il …
Supponiamo di avere un sistema lineare e non sappiamo nulla del suo condizionamento e di non avere informazioni preliminari sulla soluzione. Applichiamo ciecamente l'eliminazione gaussiana e otteniamo una soluzione . È possibile determinare se questa soluzione è affidabile (ovvero se il sistema è ben condizionato) senza un'analisi preliminare approfondita della …
Multigrid (MG) può essere usato per risolvere un sistema lineare costruendo un'ipotesi iniziale x 0 e ripetendo quanto segue per i = 0 , 1 .. fino alla convergenza:Ax=bAx=bAx=bx0x0x_0i=0,1..i=0,1..i=0,1.. Calcola il residuo ri=b−Axiri=b−Axir_i = b-Ax_i Applicare un ciclo multigrid per ottenere un'approssimazione , dove A e i = r i …
Mi chiedo se l'algoritmo di Thomas sia il modo più rapido (di fatto?) Di risolvere un sistema tridiagonale sparsa in modo diagonale in termini di complessità algoritmica (non cercando pacchetti di implementazione come LAPACK ecc.). So che sia l'algoritmo di Thomas che il multigrid sono complessità, ma forse il fattore …
I numeri in virgola mobile a precisione singola occupano metà della memoria e su macchine moderne (anche su GPU sembra) le operazioni possono essere eseguite con loro a quasi il doppio della velocità rispetto alla doppia precisione. Molti codici FDTD che ho trovato utilizzano esclusivamente l'aritmetica e la memorizzazione a …
In metodi come gmres o bicgstab potrebbe essere attraente usare un altro metodo krylov come precondizionatore. Dopotutto sono facili da implementare in modo privo di matrice e in un ambiente parallelo. Ad esempio, un coul usa alcune (diciamo ~ 5) iterazioni di bigcstab non condizionate come precondizionatore per gmres, o …
Sto trasferendo un codice esistente da MATLAB a C ++ e ho un sistema lineare per risolvere (piuttosto che la forma più tipica A x = b )xA=bxA=bxA=bAx=bAx=bAx=b La matrice è densa e di forma generale, ma non è più grande di 1000x1000. Quindi in MATLAB, la soluzione è trovata …
Devo risolvere lo stesso sistema lineare rado (da 300x300 a 1000x1000) con molti lati di destra (da 300 a 1000). Oltre a questo primo problema, vorrei anche risolvere sistemi diversi, ma con gli stessi elementi diversi da zero (solo valori diversi), ovvero molti sistemi sparsi con un modello di sparsità …
Sto usando MATLAB per risolvere un problema che comporta la risoluzione di in ogni momento, dove b cambia nel tempo. In questo momento, sto realizzando questo usando MATLAB :A x = bAx=b\mathbf{A} \mathbf{x}=\mathbf{b}Bb\mathbf{b}mldivide x = A\b Ho la flessibilità di effettuare tutti i precomputamenti necessari, quindi mi chiedo se esiste …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.