[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 555

 
Svinotavr:

Este vídeo também é um esquema? PS: Não apenas a opinião de Alexey , mas a de outros membros do fórum é interessante.


"A única pessoa que conheço que conseguiu construir um gerador Searle que recebeu o nome do Searle foi o próprio Searle":)
 
Svinotavr:
As pessoas que ocuparam metade da Europa também não são muitas. Dimitri, você acha que esta frase "não aprova" o resto do filme? Então, o que você acha, divórcio ou não?


O filme soa como propaganda sectária. Absurdo para levar a sério, nem que seja um pouquinho. Há 60 anos ele vem dando... e o que ele deu?

 
MetaDriver:

// Perdoar imediatamente o fora de tópico, pois o caso particular de aplicação de soluções (se forem encontradas soluções) ainda está relacionado ao comércio.

// (: mas, por outro lado, isto é um incentivo, certo? :)

// Se você realmente ajudar, eu lhe direi por que preciso dele... ;) Garanto-lhe - pode vir a ser útil...

Tarefa:

Dado: um conjunto de vetores ortogonais M no espaço N-dimensional (M<N) // no caso limite M===1

Necessário: construir um gerador de vetores (!) ortogonais para um determinado conjunto. Eu preciso de uma idéia de como gerar rapidamente vetores aleatórios que satisfaçam a condição (! ) .

Explicação-lembrete: Para o espaço de dimensão N, a dimensão do espaço de solução é igual a (N-M), ou seja, com o conjunto inicial em número (M=N-1) de vetores, temos uma solução única (a propósito, como obtê-la de uma só vez? Há um artigo no wiki, mas eu ainda não o resolvi. Quem pode explicar o algoritmo nos dedos - dê menta(novamente - me diga para que eu preciso de tudo isso)) Com um conjunto inicial menor - há um número infinito desses vetores, ou seja, "há variantes". Estas são as variantes que precisam ser geradas.

A frase "o conjunto de vetores ortogonais A é ortogonal ao conjunto B" é um tanto ambígua (no sentido do que é exatamente ortogonal a quê)... Você pode especificar a condição exata, de preferência por uma fórmula?
 
alsu:
A frase "o conjunto de vetores ortogonais A é ortogonal ao conjunto B" é um tanto ambígua (no sentido do que é exatamente ortogonal a quê)... Podemos especificar a condição exata, de preferência por uma fórmula?

Você pode ser mais específico. As palavras são mais fáceis para mim. Todos os vetores são ortogonais uns para os outros. :) Não preciso do conjunto B. Quero dizer, preciso, mas não imediatamente, mas gradualmente. :))

Você deve fazer uma função em mql(5) que toma um conjunto inicial de vetores (A) como uma matriz e retorna um vetor ortogonal a todos os vetores de entrada.

Assim :

bool GetOrtoVector(int Dimention, int InputCount, double &Input[], double &Out[]); 
  { 
    .....  
    return succes; 
  }

O vetor de saída é aleatório, mas com a garantia de ser de um espaço complementar. (No caso de InputCount == Dimenção-1, o único vetor de valor único possível é devolvido)

Condição importante : a função deve ser [o mais rápido possível]. Eu mesmo posso fazer isso. :)

 
alsu:
A frase "o conjunto de vetores ortogonais A é ortogonal ao conjunto B" é um tanto ambígua (no sentido do que é exatamente ortogonal a quê)... Você pode especificar a condição exata, de preferência por uma fórmula?

Sobre a fórmula : produtos escalares em pares mútuos de todos os vetores de entrada e de saída == 0

Esta condição nos permite resolver de forma única o sistema de equações e obter o último vetor (quando M==N-1).

No caso (M<N-1), o sistema já tem um espaço de soluções.

A partir deste espaço de solução preciso extrair vetores aleatórios. De preferência, muito rapidamente.

 
MetaDriver:

Esta condição nos permite resolver de forma única o sistema de equações e obter o último vetor (em M==N-1).

Somente se o conjunto for normalizado. Caso contrário, também obtemos infinitas soluções.

Exemplo: Para um conjunto {(1,0,0), (0,2,0)} qualquer vetor da forma (0,0,z) será ortogonal

 
alsu:

Somente se o conjunto estiver normalizado. Caso contrário, obtemos também um conjunto infinito de soluções.

Exemplo: Para um conjunto {(1,0,0), (0,2,0)} qualquer vetor da forma (0,0,z) será ortogonal

Sim, é claro. Todos os vetores são normalizados. Tanto a entrada quanto a saída.
 
MetaDriver:
Sim, é claro. Todos os vetores estão normalizados. Tanto a entrada quanto a saída.
Há uma solução simples... na língua, como se costuma dizer)))) Agora mesmo
 
alsu:
Há uma solução simples... na língua, como se costuma dizer)))) agora

Para um único vetor (x0) sobre a entrada, há muito e muito tempo atrás, surgiu uma solução (para um espaço de dimensão arbitrária):

. . 1. Генерируем случайный вектор (x1r)

. . 2. Нормируем его -> (x1rn)

. . 3. Находим сумму и разность вродного (х0) и полученного (x1rn) -> (sX, dX)

. . 4. Складываем sX+dX и нормируем сумму.

. . 5. Готово. Возвращаем из функции и берём с полки пирожок.

--

Mas para mais de um vetor de entrada, este algoritmo não é bom. Ou eu não fui capaz de adaptá-lo adequadamente.

Se você tiver uma idéia de como adaptá-la para que as iterações não se multipliquem como uma bola de neve, seria útil.

 

Merda, enquanto eu estava explicando, acho que entendi. :)

Se fizermos o procedimento acima para cada vetor de entrada, então todos os vetores obtidos por soma com posterior normalização da soma darão o vetor pseudo-aleatório desejado!

alsu, corrige-me se estou sendo obtuso.

--

//yeah, quase consegui. Um pouco mais complicado, não funciona tão facilmente. Após obter o vetor xi em cada etapa, você deve primeiro "adicionar-subtrair-normalizar" com o próximo vetor de entrada e assim por diante, até que os vetores de entrada se esgotem. Algo parecido com isto.