Tmv.

Modelo Matrix / Biblioteca de vetores para C ++
Baixe Agora

Tmv. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Mike Jarvis
  • Site do editor:
  • Sistemas operacionais:
  • Mac OS X
  • Tamanho do arquivo:
  • 1.7 MB

Tmv. Tag


Tmv. Descrição

Matriz de modelo / biblioteca de vetores para C ++ A TMV é uma biblioteca de álgebra linear de código aberto, que usa sobrecarga, visualizações e avaliação atrasada para simplificar expressões de vetor e matriz em C ++. A TMV é bem documentada e pode opcionalmente chamar blas / lapack otimizada para tempos de execução mais rápidos. Aqui estão algumas características principais de "TMV": · Sobrecarga do operador: uma expressão como v2 = x * m * v1 deve produzir código correto e rápido. (Sem temporização) · Tipos complexos: misturar complexo e tipos reais em uma declaração aritmética deve ser legal. · Decomposições: a divisão deve significar resolver uma equação de matriz, realizando automaticamente uma decomposição de valor LU, QR, Cholesky ou Singular para fazê-lo. · Velocidade: o código deve ser rápido para grandes matrizes. Normalmente, isso significa chamar blas e rotinas de lapack nos bastidores. · Avaliação atrasada: (AKA Avaliação preguiçosa) A expressão v2 = x * m * v1, por exemplo, inlines diretamente para multímpia (x, m, v1), que não faz o cálculo real, portanto, não há desempenho atingido da legibilidade do operadores. · Modelos: Como o nome TMV indica, o tipo de elementos em um vetor ou matriz é um modelo. Assim, você pode ter matriz, matriz, matriz ou até mesmo usar algum tipo definido pelo usuário (por exemplo, Quad para uma matriz de classe Quad-Precision de 16 bytes). · Visualizações: Existem vistas constantes e mutáveis em um vetor ou matriz. Então, expressões como M.Row (3) + = 4. * M.Row (0) e m2 * = m.Transpospos () As coisas óbvias. · Divisão de matriz: a expressão x = b / a pode ser usada para resolver a equação matricial AX = b. Os métodos de controle para um podem ser usados para dizer qual decomposição usar para encontrar a solução. Há também controles para salvar a decomposição para uso repetido posterior, e até mesmo para fazer a decomposição para economizar no armazenamento. · Armazenamento flexível: uma matriz pode ser declarada de linha maior ou coluna-major. Matrizes de banda também permitem armazenamento diagonal-major. · Indexação flexível: Você pode especificar que deseja acessar uma matriz usando a convenção C normal (indexação baseada em 0) ou a Convenção Fortran (Indexação Baseada em 1). · Verificação de alias: muitos pacotes de matriz calculam m * = m incorretamente. A TMV verifica automaticamente se dois objetos em um cálculo usam o mesmo armazenamento e cria temporários conforme necessário. Ele só verifica o endereço do primeiro elemento, para que você ainda possa estragar. Mas na maioria das vezes isso é bom o suficiente. · BLAS / LAPACK: A biblioteca pode ser compilada para chamar blas e / ou rotinas de lapack. Mas se você não os tem, o código interno também funcionará. A maioria dos algoritmos internos é tão rápida quanto a lapack. Mas as rotinas blas otimizadas são geralmente significativamente mais rápidas. Então, compilando com pelo menos uma biblioteca BLAS é recomendada se a velocidade for importante para você. O que há de novo nesta versão: · Corrigiu um erro com m.divisset (); · Corrigido a documentação sobre o acesso M.SVD (), especialmente que é agora uma diagmatriz, em vez de um vetor. · Comportamento alterado de métodos como M.SVD (). Agora, se o SV já não tiver sido definido, ele o definirá, em vez de dar um erro. · Adicionado método listinit para inicializar um vetor ou matriz. · Melhoria da classe Smallmatrix. Agora não é derivado de genmatrix (ou mesmo basematrix), removendo assim a tabela virtual. Isso acelera muito os cálculos. Eu também especializei algumas rotinas para matrizes 2x2 e 3x3, como Det e inversor. A ressalva é que algumas coisas que costumavam ser possíveis com a Smallmatrix não são agora. Mais importante, os resultados aritméticos não podem ser automaticamente instanciados mais. Eles precisam ser atribuídos a um local, seja Smallmatrix ou matriz. Eu também inlinei todas as rotinas de divisão, em vez de chamar as rotinas de divisão de matriz regular. · Removido alguns comandos de visão que são mais claros com uma notação diferente. · Problemas fixos com funções de lapack dstegr e sstegr. Agora a TMV pode detectar quando o Steg falhar e executar o STEDC alternativo. · Adicionada opção de instalação de SCONS. · Adicionado capacidade de usar versões fortran de blas e lapack. · Incluir arquivos Cmakelists.txt para instalações cmake. · Incluir arquivos .vcproj e .vcsln para instalações do Visual C ++.


Tmv. Software Relacionado

Exploits Ronin

Uma biblioteca gratuita para Ronin que fornecerá aos desenvolvedores Ruby com ferramentas de funcionalidade de exploração e carga de carga ...

161 99 KB

Download

Camlpdf.

Biblioteca Ocaml para ler, escrever e manipular arquivos de documentos portáteis da Adobe ...

166 286 KB

Download